メディア

使えない「ChatGPT」 使い方が悪いのでは?(第1回)

「ChatGPT」などの生成AIが人気を集めている。「使えない」「回答が信用できない」という声がある一方で、「生産性が上がった」「重要な仕事に専念できるようになった」という声もある。なぜ評価が分かれるのだろうか。

» 2023年06月13日 07時00分 公開
[畑陽一郎キーマンズネット]

 「ChatGPT」などの生成AI(人工知能)は人と同じ方法で考えるAIではない。あいまいな指示を与えたとき、ユーザーの気持ちをくみ取ってまさに書いてほしかった文章を返してくれることはない。これを忘れると生成AIの力を十分に引き出すことはできない。

 ChatGPTの開発元であるOpenAIは2023年6月3日、どうすれば生成AIをうまく利用できるのか、6つの戦略とそれぞれの戦略を実現するための戦術をベストプラクティスとして公開した*。今回は1つ目の戦略を紹介する(連載記事の一覧はこちら)。

*OpenAIがベストプラクティスとして紹介した具体例の幾つかはGPT-4でのみ動作する。

戦略1 明確な指示を与える

 ChatGPTはユーザーの心を読めない。ユーザーの入力が適切で、ユーザーの希望を推測する必要がない場合、欲しい結果を得やすい。逆に適切な入力でなければ、思っていたのとは違う結果が返ってくる。

 もしChatGPTの出力が長過ぎた場合は、簡潔な内容を出力するように指示するとよい。出力があまりにも短い場合は、専門家レベルの文章が欲しいと指示しよう。出力形式が望んだものと違う場合は、欲しい形式を具体的に指示する。

 次に「明確な指示を与える」という戦略を達成するために役立つ6つの戦術を紹介しよう。

戦術1 適切な回答を得るために、問い合わせの内容に詳細を盛り込む

 望みの回答を得るために、重要な詳細やコンテキストを質問に含める。これがないと、ユーザーの要望をモデルが勝手に推測してしまい、とんちんかんな回答になってしまう。

悪い例 良い例
Microsoft Excelで数字を足すにはどうしたらいい? Excelで金額の列を足し算するにはどうすればいいか? シート全体の行に対して自動的に足し合わせて、全ての合計が右側の「合計」という列で終わるようにしたい。
大統領の名前は? 2021年のメキシコの大統領は誰で、選挙はどれくらいの頻度で行われているのか?
フィボナッチ数列を計算するコードを書いてほしい フィボナッチ数列を効率的に計算するためのTypeScript関数を書く。各パーツが何をするのか、なぜそのように書かれているのかを説明するために、コードに自由にコメントを付ける。
以下の会議のメモを要約してほしい ミーティングノートを1つのパラグラフに要約する。次に、発言者とその要点をマークダウンでリストアップする。最後に、登壇者が提案した次のステップやアクションアイテムがあれば、それをリストアップする。

戦術2 ペルソナを与える

 GPTにペルソナ(人格)を持たせることで回答が無味乾燥で平板なものにならないようにできる。次の例は上段がペルソナの指示、下段が依頼内容だ。

私が何かを書くために助けを求めたとき、あなたは全ての段落に少なくとも1つのジョークや遊び心のあるコメントを含む文書で答える。

納期通りに急いで納品してくれたスチールボルトのベンダーにお礼の手紙を書こう。おかげで重要な注文を納品することができた。


戦術3 区切り記号を使って、入力した文を切り分ける

 質問が異なる扱いを受けなければならないセクションに分かれる場合、区分けを指示するために三重引用符やXMLタグ、セクションタイトルなどの区切り記号を使う。次の例では三重引用符を使った。

トリプルクォーテーションで区切られたテキストを俳句で要約する。

"""「ChatGPT」などの生成AI(人工知能)は人と同じ方法で考えるAIではない。""" """あいまいな指示を与えたとき、ユーザーの気持ちをくみ取ってまさに書いてほしかった文章を返してくれることはない。"""これを忘れると生成AIの力を十分に引き出すことはできない。"""


 次の例ではXMLタグを使った。

同じテーマに関する一組の記事(XMLタグで区切られたもの)が用意されている。まず、それぞれの記事の論旨を要約する。そして、どちらの記事がより良い主張をしているのかを示し、その理由を説明せよ。

<article>太陽光発電の問題点は大きく4つに分かれる。1つ目は天候に左右されることだ。曇りや雨の日に発電量が減少する。2つ目はコストが高いことだ。設備やパネルの導入費用が高く、投資の回収に時間がかかる。3つ目は土地利用の問題だ。広範囲の土地が必要となり、自然環境や農業への影響が懸念される。4つ目は貯蔵技術の必要性だ。発電量と消費量のバランスを取るために効果的な蓄電池システムが必要だ。以上の問題点は太陽光発電の普及と効率化を進める上での課題となっている。</article>。

<article>太陽光発電の利点は大きく4つに分かれる。1つ目は再生可能エネルギーだということだ。環境に優しく、温室効果ガスの排出を削減できる。2つ目はエネルギーを安定供給できることだ。太陽光は十分に豊富であり、地域のエネルギー自給率を高めることができる。3つ目はランニングコストが低いことだ。燃料費が不要でメンテナンスも比較的簡単だ。4つ目は分散型発電が可能なことだ。屋根や空き地にパネルを設置して、個々の家庭やビルで電力を生産できる。これらの利点は、持続可能なエネルギー供給に向けた太陽光発電の重要性を示している。</article>。


 次の例のように質問を区切ることもできる。

論文の要旨とタイトルの候補を提供する。日本語で回答してほしい。論文のタイトルは、読者に論文のテーマがよく分かるものでなければならないが、人目を引くものでなければならない。タイトルがこれらの基準を満たしていない場合、5つの代替案を提案する。

アブストラクト:太陽光発電の欠点について先行研究が挙げる問題点を解決する。太陽光発電の問題点は大きく4つに分かれる。1つ目は天候に左右されることだ。曇りや雨の日に発電量が減少する。2つ目は導入コストが高いことだ。設備やパネルの費用が高く、投資の回収に時間がかかる。3つ目は土地利用の問題だ。広範囲の土地が必要となり、自然環境や農業への影響が懸念される。4つ目は貯蔵技術の必要性だ。発電量と消費量のバランスを取るために効果的な蓄電池システムが必要だ。

タイトル:太陽光発電の欠点


 例に挙げたような単純な質問の場合、区切り文字を使っても出力品質に差は出ないかもしれない。しかし、質問が複雑であればあるほど、質問の詳細を明確にすることが重要だ。ChatGPTにユーザーが求めていることを正確に理解させなければならない。

戦術4 回答を作り上げるために必要な手順を指定する

 一連の手順として指定した方がよい質問がある。手順を明示的に書くことで、ChatGPTが望ましい回答を作りやすくなる。

ユーザーの入力に対応するために、次の段階的な手順を使用する。

段階1 - ユーザーは、三重引用符で囲まれたテキストを提供する。このテキストを「要約:」という接頭辞をつけて1文に要約する。

段階2 - 段階1の要約をスペイン語に翻訳し、冒頭に "スペイン語訳: "と付ける。

"""太陽光発電の利点は大きく4つに分かれる。1つ目は再生可能エネルギーだということだ。環境に優しく、温室効果ガスの排出を削減できる。2つ目はエネルギーを安定供給できることだ。太陽光は十分に豊富であり、地域のエネルギー自給率を高めることができる。3つ目はランニングコストが低いことだ。燃料費が不要でメンテナンスも比較的簡単だ。4つ目は分散型発電が可能なことだ。屋根や空き地にパネルを設置して、個々の家庭やビルで電力を生産できる。これらの利点は、持続可能なエネルギー供給に向けた太陽光発電の重要性を示している。"""


戦術5 例を示す

 一般的な指示をChatGPTに与えると、全ての場合を網羅できるために効率的だと思える。ただしそのような指示を与えることが難しい場合がある。その場合は例を示した方が簡単だ。例えば、ユーザーのクエリに対して特定のスタイルで回答するようモデルにコピーさせたい場合だ。次の例では上段で例を出し、下段で質問している。

一貫したスタイルと文章の長さで回答してほしい。

質問例:忍耐について教えてほしい。回答例:最も深い谷を刻む川は、ささやかな泉から流れ、最も壮大な交響曲は一音から生まれ、最も複雑なタペストリーは、一本の糸から始まる。

海について教えてほしい。


戦術6 出力の長さを指定する

 与えた長さの出力を生成するよう、ChatGPTに質問する。この際、単語や文、段落、箇条書きなどの数で長さを指定できるが、この戦術には制限がある。特定の語数で生成するように指示しても、うまくいかないことがある。段落の数や箇条書きの数を指定した方が確実だ。

三重引用符で区切られたテキストを50語程度で要約する。

"""太陽光発電の利点は大きく4つに分かれる。1つ目は再生可能エネルギーだということだ。環境に優しく、温室効果ガスの排出を削減できる。2つ目はエネルギーを安定供給できることだ。太陽光は十分に豊富であり、地域のエネルギー自給率を高めることができる。3つ目はランニングコストが低いことだ。燃料費が不要でメンテナンスも比較的簡単だ。4つ目は分散型発電が可能なことだ。屋根や空き地にパネルを設置して、個々の家庭やビルで電力を生産できる。これらの利点は、持続可能なエネルギー供給に向けた太陽光発電の重要性を示している。"""


三重引用符で区切られた文章を2段落に要約する。

"""太陽光発電の利点は大きく4つに分かれる。1つ目は再生可能エネルギーだということだ。環境に優しく、温室効果ガスの排出を削減できる。2つ目はエネルギーを安定供給できることだ。太陽光は十分に豊富であり、地域のエネルギー自給率を高めることができる。3つ目はランニングコストが低いことだ。燃料費が不要でメンテナンスも比較的簡単だ。4つ目は分散型発電が可能なことだ。屋根や空き地にパネルを設置して、個々の家庭やビルで電力を生産できる。これらの利点は、持続可能なエネルギー供給に向けた太陽光発電の重要性を示している。"""


三重引用符で区切られた文章を3つの箇条書きに要約する。

"""太陽光発電の利点は大きく4つに分かれる。1つ目は再生可能エネルギーだということだ。環境に優しく、温室効果ガスの排出を削減できる。2つ目はエネルギーを安定供給できることだ。太陽光は十分に豊富であり、地域のエネルギー自給率を高めることができる。3つ目はランニングコストが低いことだ。燃料費が不要でメンテナンスも比較的簡単だ。4つ目は分散型発電が可能なことだ。屋根や空き地にパネルを設置して、個々の家庭やビルで電力を生産できる。これらの利点は、持続可能なエネルギー供給に向けた太陽光発電の重要性を示している。"""


 以上の例では与えた文章が短いため、出力があまり変わらないかもしれないが、長い文章を与えたときは明確な違いが現れる。

 次回は2つ目と3つ目の戦略を紹介する。

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。

編集部からのお知らせ