【ChatGPT音声機能】前回の内容を引き継いで会話はできるのか?【システム開発】
最近生成AIを投稿のテーマに取り上げていますが、やはりこの便利なツール、システム開発の発注者の皆様が有効利用できる方法は他にもないだろうか?ということで日々考えています。そこで今回思いついたのが、生成AIを使ってRFP(提案依頼書)を作成できるのか?-イントロダクション-というテーマです。
さらに最近話題となっている3つの生成AIを使って、その結果を比較してみたい!そう考えております。というわけで、早速試してみました。
目次
※このコラムの内容は動画で公開しています。Youtube版はこちらをご覧ください。
使用する3つの生成AIについて
皆さんは生成AIといえば何が思い浮かびますか?私は普段使い慣れているChatGPTが真っ先に思い浮かびます。しかし最近では、文章の生成に強い生成AI、画像や動画の生成に強い生成AI、あるいは文章の要約に強い生成AIなど、非常にたくさんの種類が登場してきています。その中から今回はこの3つを選んでみました。
- OpenAIのChatGPT
- MicrosoftのCopilot
- GoogleのGemini
ではなぜこの3つを選んだのかというと、生成AIのシェアから決定しました。
とある情報によると、まずChatGPTが59.4%、次いでCopilotが14.4%、そしてGeminiが13.6%と上位の3つを占めていました。他にもこの円グラフをご覧いただければ分かるように、様々なAIが登場してきています。そしてそれぞれのAIも成長の勢いに変化があり、これから半年先・1年先となると、ChatGPTがあっという間に広がったように、またシェアが大きく変わっているという可能性も否めません。
今回取り上げた3つの成生AIには、それぞれ得意分野があります。
ではChatGPT・Copilot・GeminiでRFPを作ってみましょう。
さて、その前に、皆さんはそれぞれ作ったこの結果、どんな風になると予想されますか?まずは「違いがある」という風にお考えでしょうか。それぞれのAIに得意な分野があるわけですから違って当然だという考え方があります。
逆に「違いはない」という考え方もありますね。というのは提供する条件が同じだったら、同じRFPができて当然、このような考え方もあるわけです。実はまだ私も試していないので、どんな結果が出てくるのか分かりません。非常に楽しみにしています。
では「RFP作成に大切な能力は」と考えた時に、上記にあるそれぞれの得意分野が、どのような影響を与えるんだろうか、と予想をしてみます。例えばChatGPTだと、自然言語処理、これを得意としてました。そしてGeminiだと高度な推論・最新情報の統合を得意としました。Copilotは、この得意分野という点から見ると、ちょっと分かりませんでした。そこから考えてみるとGemini・ChatGPTが期待できます。
生成AIの試行に採用したプラン
それぞれの生成AIには無料プランと有料プランがあります。その中でもCopilotとGeminiには、それぞれ1ヶ月の無料トライアル期間というものが設けられています。なので、とりあえずお試しとしてCopilotとGeminiで1ヶ月無料で試してみて、その上で使用するというのはいかがでしょうか。
なぜ無料プランではなく有料プランを選んだのかというと、今回ビジネスで使うという前提なので、ビジネスで使う以上はより良い結果を期待したいということもあり、有料プランを選んでみました。
それぞれの無料版と有料版の違いについては、日々変わってくということも考えられるので、最新の情報についてはそれぞれのサイトをご覧ください。
「RFPとは何か?」を聞いてみる
生成AIを使ってRFPを作成するプロセスについて、以下の3つの段階を経て試してみようと思ってます。
- 「RFP」とは何か?を聞いてみる
- RFPを作るために必要な情報を聞いてみる
- RFP作成に必要な情報を与えてみる
最終段階でRFP作成に必要な情報を与えて、それぞれがどんな結果になるのかを試してみたいと思っています。
ChatGPTの場合
ではまずChatGPTから試してみます。
<ChatGPTとの応答>
上村「RFPとは何か、システム開発の初心者である発注者に対して説明してください。」
ChatGPT「RFP(Request for Proposal)は、システム開発を依頼する際に発注者が作成する「提案依頼書」のことです。システム開発を依頼する企業が、自分たちの要望や必要な、機能予算、スケジュールなどを明確に、それをもとに複数の開発会社からの提案を受け止めた
具体的には、RFPには以下のような内容が含まれます。
- 目的と背景:どの
- 要件の定義:求めるシステムの機能や性能、使いやすさ
- プロジェクトスケジュール:希望する完了時期や
- 予算:予算範
- 評価基準:提案
RFPを出すことで、発注者は自分たちのニーズに合った開発会社が見つけやすくなります。また、開発会社も具体的な要求がわかることで、最適な提案や見積もりを出しやすくなり、両方のミスマッチを軽減する効果があります。」
「目的と背景:どの」、・・・どので終わっています。やはりこういうことがあったりします。さらには「プロジェクトスケジュール:希望する完了時期や」で止まっていたり、「予算:予算範」。調子が悪いのか、もう1度同じ質問を投げてみましたが、結果は似たようなものでした。
時折不適切な回答が返ってくるということはあり得ますが、このような中途半端な状態で回答が返ってきたというのは、実は今回が初めてです。ChatGPTに何か不具合があるのかどうかは分かりませんが、一旦これは飛ばして、次のCopilotの方を試してみたいと思います。ただ、このような結果があるというのも、リアルな話かなと思うので、これはこれで面白い結果だったんじゃないでしょうか。
Copilotの場合
次はCopilotの方で、同じようにRFPとは何かを聞いてみます。
<Copilotとの応答>
上村「RFPとは何か、システム開発の初心者である発注者に対して説明してください。」
Copilot「RFP(Request for Proposal)は、システム開発において非常に重要なステップです。発注者が開発したいシステムについて、どのような機能や性能を求めているのかを明確にし、これに基づいて外部のベンダーや開発業者に提案を求める文書のことです。
具体的には、RFPには以下のような内容が含まれます:
- プロジェクトの目的と背景:なぜこのシステムが必要なのか、その背景や目的を明確にします。
- 要求される機能:システムに求められる具体的な機能や性能、仕様を詳細に記述します。
- 評価基準:提案を受けた際に、どのような基準で選定するのかを明確にします。
- スケジュール:プロジェクトの開始から完了までの大まかなスケジュールを示します。
RFPは発注者が必要とするシステムを明確に伝え、適切な提案を受けるための重要なツールです。」
Geminiの場合
最後にGeminiで聞いてみます。
<Geminiとの応答>
上村「RFPとは何か、システム開発の初心者である発注者に対して説明してください。」
Gemini「システム開発の初心者の方ですね。RFPについて分かりやすく説明します。
RFPとは、「Request for Proposal」の略で、日本語では「提案依頼書」と言います。
簡単に言うと、システム開発を依頼する会社(発注者)が、開発会社(受注者)に対して「こんなシステムを作ってほしい!」という要望をまとめた書類のことです。
RFPには、
- どのようなシステムを作りたいのか?(システムの概要)
- なぜそのシステムが必要なのか?(目的や背景)
- どんな機能が欲しいのか?(要件)
- 予算はどのくらいか?
- 納期はいつ頃か?
といった情報が記載されます。
RFPを作成するメリットとしては、
- 発注者の要望を明確に伝えることができるため、開発会社との認識のズレを防ぎ、スムーズな開発を進めることができる
- 複数の開発会社から提案を受けることで、より良いシステムを、より適切な価格で開発することができる
などが挙げられます。
RFPは、システム開発を成功させるための重要な書類です。しっかりと作成することで、開発会社との相互理解を深め、理想のシステムを実現することに繋がります。
例え話
例えば、家を建てることを想像してみてください。
家を建てる際に、建築会社に「家を建ててください」とだけ伝えても、どんな家を建てたいのかは伝わりませんよね?
「3LDKで、リビングは吹き抜けで、キッチンは対面式で・・・」といった具体的な要望を伝える必要があります。
RFPは、まさにこの「具体的な要望」をまとめた書類のようなものです。
システム開発においても、RFPを作成することで、開発会社に「どんなシステムを建てて欲しいのか」を明確に伝えることができます。
ポイント
- RFPはシステム開発を成功させるための重要な書類です。
- RFPを作成することで、発注者の要望を明確に伝えることができます。
- 複数の開発会社から提案を受けることで、より良いシステムを開発することができます。
何かわからないことがあれば、遠慮なく聞いてくださいね。」
Geminiは、「簡単に言うと」と一言でまとめてくれており、さらには記載する情報について、メリット、例え話、ポイント。ここまでのことがGeminiには返ってきました。既にこの時点で、これだけの違いがあるということが分かりました。
ChatGPTの場合.take2
時間を置いたので、ChatGPTをもう一度試してみます。
<ChatGPTとの応答>
上村「RFPとは何か、システム開発の初心者である発注者に対して説明してください。」
ChatGPT「RFP(Request for Proposal)は、「提案依頼書」とも呼ばれ、システム開発を依頼する際に発注者が作成する書類です。RFPには、発注者がどのようなシステムを必要としているのか、解決したいのかを明確に記載し、これをもとに開発会社が提案を
無線周波数
- プロジェクトの目的と背景:システムを導入したい理由や
- 必要な機能や要件:発注者が求める特定的なシステム機
- 予算と納期:プロ
RFPを作成することで、開発会社は発注者のニーズを踏まえ、相応最適な提案を作成できるようになります。」
上村「途中で終わってますが、なんででしょうか?」
ChatGPT「途中で終わってしまったのは、もしかしたらテキストが十分な内容で頑張っていると思って負けたのかもしれない。
提案依頼書
RFPは、発注者にとっても開発会社にとっても非常に便利はツールです。
- 発注者の目的や要件が明確になる:RF
- 適切な提案が容易に受けられる:開発会社が発注者の要求を理解しや
- 複数の提案の比較がしやすい:RF
RFPを作成することで、発注者はより良い提案を受けられ、開発会社も発注者のニーズに合った提案ができるため、双方に」
また途中で切れています。
「途中で終わってしまったのは、もしかしたらテキストが十分な内容で頑張っていると思って負けたのかもしれない。」これはよく意味がわからないです。
さてこの結果だと3つの比較ができないので、再度時間を置いてからまたChatGPTを試してみたのですが、やはり結果は同じでした。これは何が原因なのか分かりませんでした。
ChatGPTの場合.take3〜スマホにて〜
調子が悪いのかわかりませんが、今度は試しにスマホから同じ質問を投げてみました。
<ChatGPTとの応答>
上村「RFPとは何か、システム開発の初心者である発注者に対して説明してください。」
ChatGPT「RFP(Request for Proposal)は、システム開発などでプロジェクトを依頼したい企業(発注者)が、具体的な要件や条件を提示して開発会社(受注者)から提案を受けるための文書です。初心者向けに、RFPがどのような役割を果たすか、以下の3つのポイントに分けて説明します。
1、目的:具体的な要件を伝える
RFPの目的は、発注者が開発したいシステムの詳細な要件や期待する成果を明確に伝えることです。これにより、受注者側は「どのようなシステムを作りたいのか」「何を解決したいのか」を把握し、それに基づいた最適な提案や見積もりを提供できます。例えば、欲しい機能や予算、納期などを記載することで、受注者は発注者のニーズに合った具体的な提案を準備できます。
2、開発会社の選定をスムーズにする
RFPは複数の開発会社に依頼することが一般的です。そのため、各社から異なる提案を受け取り、比較検討する際に役立ちます。RFPがしっかり作られていると、開発会社ごとの強みや弱み、提案内容の違いが見やすくなり、自分たちのプロジェクトに最も適したパートナーを見つけやすくなります。
3、プロジェクトの成功率を高める
明確なRFPを作成することで、プロジェクトの方向性や目標が発注者と受注者の間で一致しやすくなります。最初に両者の認識を共有しておくことで、後からの認識違いやトラブルが減り、スムーズな進行が期待できます。
まとめると、RFPは「システム開発の道しるべ」のようなもので、プロジェクトの概要や要件を整理し、より良い提案を得るための重要なツールです。」
パソコンから試した時は何か途中で途切れたおかしな回答でしたが、スマホではしっかりと返ってきました。スマホからだからというわけではないと思うのですが、とりあえず今回はこれでよしとしておきましょう。もしこの原因が分かる方がいらっしゃったらぜひ教えてください。
※後日談ですが、結果が乱れても再読み込みすることでこの問題は解消することが分かりました。
「 RFPとは何か?」のそれぞれの回答を比較
これで3つの生成AIからの回答が出揃いました。Geminiに関しては、非常に丁寧な説明が返ってきました。特に、このような例え話がついてるというのは、初心者ということがキーワードにあったので、それを考えると非常に適切な回答ではないかという風に感じます。
この3つの回答、冒頭部分だけですが、このように並べてみました。
単純に良し悪しの比較とはなりませんが、それぞれの単語数・文字数を比較してみました。そうしたところ、Geminiが1番単語数が多く文字数も多いという結果になりました。
やはり先述の通り、今回は「システム開発の初心者に向けて説明してください」という風に各AIに対して尋ねたので、そこから考えるとこのGeminiの回答が1番初心者に向けた回答ではないかという結論でした。
「RFPを作るために必要な情報」を聞いてみる
それぞれの生成AIに「RFPとは何か」を聞いてみましたが、ここで早速違いが出てきました。では次に「RFPを作るためにどんな情報が必要か」ということを、またそれぞれの生成AIに対して聞いてみることにしましょう。
ChatGPTの場合
先ほど「RFPとは何か」ということに対する回答に対して続けて「RFPを作るために必要な情報を教えてください」ということで投げかけてみました。
<ChatGPTとの応答>
上村「RFPを作るために必要な情報を教えてください。」
ChatGPT「RFPを作成する際には、プロジェクトの目的や要件を正しく伝えるために、以下の情報を含めることが大切です。
1、プロジェクト要件
- 目的:システム
- 目標:システムによって達成したい具体的
2、業務内容と範囲
- 業務内容の説明:開く
- 範囲:システムがどこ
3、機能要件
- 必須機能:実装したい主要な機能を具体的に
- 拡張機能(任意):早急で必須ではないが、
4、非機能要件
- パフォーマンス:
- セキュリティ:データ保護
- 拡張性・保守性:将来的な機能追加や変更
- 稼働環境:イン
5、開発期間とスケジュール
- 目標納期:シ
- 開発スケジュールの希望;開発時期
6、予算
- システムの開発に
7、プロジェクト体制
- 発注者側のメンバー:プロジェクトに関わる担当者や決
- 求めるスキルや経験:受注者
8、評価基準
- 提案
9、提案書提出方法と期限
- 提案書をどのように提出するか(電子メール、郵送など)と、提出期限を記載します。また、質問の受付方法や期限についても誠に恐れ入りますが、両方のメリット
追加情報
- 必要に応じて、最新のシステム」
調子が良くないので、再度1回飛ばしてみることにします。
Copilotの場合
次はCopilotに続けて聞いてみます。
<Copilotとの応答>
上村「RFPを作るために必要な情報を教えてください。」
Copilot「RFPを作成するためには、以下の情報を集めることが重要です:
- プロジェクトの概要と目的:プロジェクトの背景、目的、目指す成果を明確にする。
- 具体的な要求事項:システムに求める具体的な機能や性能、非機能要件(例:セキュリティ、スケジューラビリティなど)を詳細に記述する。
- 現在のシステム環境:現行システムの概要やインフラ、技術的制約についての情報を提供する。
- プロジェクトのスコープと範囲:プロジェクトの範囲を明確にし、どの部分が開発対象となるかを示す。
- 予算:プロジェクトに割り当てられる予算の目安を提供する。
- スケジュール:開発のスケジュール、重要なマイルストーンや納期を示す。
- 評価基準:提案を評価するための基準、方法を明記する。例えば、技術力、価格、納期など。
- 連絡先情報:提案書を提出する際の連絡先情報、質問に対する問い合わせ先を提供する。
これら情報を整備することで、ベンダーが適切で有効な提案を行いやすくなります。」
Geminiの場合
最後はGeminiに続けて聞いてみました。
<Geminiとの応答>
上村「RFPを作るために必要な情報を教えてください。」
Gemini「RFPを作成するにあたって、必要な情報を整理しましょう。大きく分けて、以下の10個の項目について情報をまとめる必要があります。
1、会社情報
- 会社名、所在地、連絡先などの基本情報
- 事業内容、規模、従業員数などの会社概要
- システム化を検討している部署の情報
2、プロジェクトの概要
- プロジェクト名
- システム化の目的、背景
- 期待する効果(売上向上、業務効率化など)
- システムの対象範囲(どの業務をシステム化するのか)
3、現状の課題
- システム化によって解決したい課題を具体的に記述
- 現在の業務フロー、課題発生箇所などを図解で示すと分かりやすい
4、システムの要件
- 必要な機能、性能を具体的に記述
- 画面イメージ、帳票レイアウトなどがある場合は添付
- 既存システムとの連携が必要な場合は、その内容を記述
5、運用要件
- システムの利用者数、利用頻度
- 想定されるアクセス集中時間
- セキュリティ要件(個人情報保護など)
- 運用体制(誰がどのように運用するのか)
- 必要なサポート体制
6、技術要件
- 使用する技術、開発言語、データベースなど
- インフラ環境(クラウド、オンプレミスなど)
- 必要なセキュリティ対策
7、スケジュール
- RFP提出期限
- 提案書の提出期限
- システム開発の開始時期、完了時期
- 各工程のスケジュール(要件定義、設計、開発、テストなど)
8、予算
- システム開発費用の上限
- 運用費用、保守費用
9、提案書の評価基準
- 価格、技術力、実績、提案内容など、どのような点を重視して評価するのか
- 評価基準を明確にすることで、発注者にとって最適な提案を選定しやすくなる
10、その他
- 質疑応答の方法、期間
- 提案に関する制約条件
- 契約条件
上記以外にも、必要に応じて項目を追加したり、内容を詳細化したりする必要があります。
ポイント
- RFPは、開発会社に「どんなシステムを建てて欲しいのか」を伝えるための設計図のようなものです。
- 情報が不足していると、開発会社は適切な提案をすることができません。
- RFPを作成する際は、上記の項目を参考に、必要な情報を漏れなく記述しましょう。
参考資料
- システム選定の基礎〜RFP提案依頼書に記載すべき事項と作成のポイント:https://www.aimc.co.jp/blog/p-12595/
- RFP(提案依頼書)とは?意味や作成手順・注意点をわかりやすく解説 -eセールスマネージャー:https://www.e-sales.jp/eigyo-labo/rfp-14607
これらの資料も参考にしながら、RFPを作成してみてください。
何かわからないことがあれば、遠慮なく聞いてくださいね。」
Geminiは参考資料ということで、いくつかのサイトの紹介もしてくれました。
ChatGPTの場合.take2〜スマホにて〜
「RFPとは何か」と聞いた時と同じく、再度スマホから試してみます。
<ChatGPTとの応答>
上村「RFPを作るために必要な情報を教えてください。」
ChatGPT「RFP(提案依頼書)を作成するには、プロジェクトの目的や要件を明確にするための情報をしっかりと整理する必要があります。以下に、RFPに含めるべき重要な項目を紹介します。
1、プロジェクトの背景と目的
- プロジェクトの背景:システム開発を行う理由や現状の課題を簡潔に説明します。
- 目的:プロジェクトで達成したい目標や期待される成果を明確に記載します。
2、業務内容と範囲
- 業務内容:どのような業務にシステムがかかわるかを具体的に説明します。
- 開発範囲:システムが対応する業務の範囲や、開発に含める部分と含めない部分を明示します。
3、機能要件
- 主要機能:システムに必須の機能を具体的にリストアップします(例:ユーザー管理、データ入力、レポート生成)。
- 追加機能(任意):必須ではないが、将来的に追加したい機能があれば記載します。
4、非機能要件
- パフォーマンス:システムの応答速度や同時利用者数などの基準
- セキュリティ:データ保護やアクセス権限に関する要件。
- スケーラビリティとメンテナンス性:システムの将来の拡張やメンテナンスに対する要望。
- 稼働環境:OSやデータベース、ネットワーク環境など、システムが動作するインフラに関する要件。
5、スケジュール
- 納期:プロジェクトの終了期限やリリース希望日を設定します。
- フェーズ別スケジュール(必要に応じて):プロジェクトを段階的に進める場合は、その各段階の完了期限も記載します。
6、予算
- プロジェクトにかけられる予算の範囲を示します。予算の情報があることで、受注側もより現実的な提案をしやすくなります。
7、プロジェクト体制
- 発注者側の体制:担当者、プロジェクトマネージャー、決定権者など、関係者の役割を明確に記載します。
- 必要なスキル:受注者に求める技術や経験があれば、その要件を記載します(例:特定の業界での経験など)。
8、評価基準
- ・提案を評価する際のポイントを示します(例:費用対効果、開発期間、技術力など)。これにより、受注側は何を重視しているかを理解しやすくなります。
9、提案書の提出方法と期限
- 提出方法:電子メール、郵送など、どのように提案書を提出するかを指定します。
- 質問受付:質問ができる期間や方法も明示しておくと、双方にとってのやり取りがスムーズです。
10、追加資料
- 現在のシステムの概要や業務フロー、関連する資料など、受注側が理解を深めやすくするための資料を添付します。
これらの項目を丁寧に整理して記載することで、開発会社が発注者のニーズやプロジェクトの詳細を理解しやすくなり、より正確で適切な提案が得られるでしょう。」
なぜパソコンからやったらダメで、スマホからやったらうまくいくのか分かりませんが、しっかりとした答えが帰ってきました。
「RFPに必要な情報」のそれぞれの回答を比較
「RFPを作るために必要な情報を教えてください」という点について3つの回答が出揃いました。それぞれ個性があるなという感想です。内容を見てみるとどれも正しいことを言っています。違いがあるとするならば、それぞれの回答の粒度・表現方法でしょうか。
- Copilot:RFPを作るために必要な情報の概略を理解するのによい
- Gemini:非常に粒度が細かく、検討すべき項目の単位が理解できる
- ChatGPT:章立てこそ異なるが、Geminiに劣らず検討すべき項目の単位が理解できる
強いていうのであれば、今回はシステム開発の初心者を相手にした場合であると考えると、例えば「非機能要件」、この言葉はなかなか初心者の方が使うものではないと考えます。しかしながらパフォーマンスやセキュリティは別ですので、この章立てがわからないとしても他の内容がわからないということはないかと考えます。
まとめ
今回「3つの生成AIを使ってRFPを作る」というテーマのイントロダクションということで、まず生成AIのシェアについて、そして3つの生成AIに対してRFPとは何かという点、そしてRFPを作るために必要な情報は何かという点について尋ねてみました。
途中ChatGPTが不安定な状況になるというハプニングはありましたが、「RFPとは何か」という点においては例を上げて説明をしてくれたので
- Gemini
- ChatGPT
- Copilot
という順です。
また「RFPを作るために必要な情報は何か」という質問に対する回答に対しては、その回答の粒度と表現方法において
- Gemini
- ChatGPT
- Copilot
以上の順であると、私は評価をしました。
ただ、皆さまにあった生成AIというものもあるでしょうから、是非それぞれを試してみた上で、自分にあった生成AIを見つけてみてください!
今回時間が足りず、それぞれの生成AIでRFPを作ってみるというところまでには、残念ながら至りませんでした。しかしRFPを作るために必要な情報は何か?ということを聞いていますので、その情報を用意して、次回では試してみたいと思います。