より良い結果を得るためのプロンプトエンジニアリング戦略(その1)【明確な指示を書く】

生成AI

はじめに

いまや生成AIは転職活動にも必須のツールです。ただしChatAPIを代表とする生成AIは使い方によってその能力を引き出せたり引き出せなかったりします。

そこで今回から6回のシリーズでプロンプトエンジニアリングを効率的に活用するための戦略を説明していきたいと思います。

生成AIを転職活動に使いたいという方だけでなく、純粋にプロンプトエンジニアリングのスキルを上げたいという方にも有益な情報になっていますので、ぜひ参考にしてください。

明確な指示を書く

生成AIはあなたの心を読むことができません。出力が長すぎる場合は、簡単な返信を求めてください。出力が単純すぎる場合は、専門家レベルの書き込みを依頼してください。フォーマットが気に入らない場合は、表示したいフォーマットを実証してください。モデルが望むものを推測する必要が少ないほど、それを取得する可能性が高くなります。

プロンプトに詳細を含めて、より関連性の高い回答を得る

人間同士の会話では言葉にしないような内容でも生成AIが理解できるようにプロンプトを書きましょう。具体的に指示をする事によって、よりあなたが求めている回答を得ることができます。

さらに悪い より良い
Excelで数値を追加するにはどうすればよいですか? Excelで1行の金額を追加するにはどうすればよいですか? これは、行のシート全体で自動的に実行し、すべての合計が「合計」と呼ばれる列の右側に表示されます”.
大統領は誰ですか? 2021年にメキシコの大統領は誰でしたか、そして選挙はどのくらいの頻度で行われますか?
フィボナッチシーケンスを計算するためのコードを記述します。 TypeScript関数を作成して、フィボナッチシーケンスを効率的に計算します。コードを自由にコメントして、各ピースが何をするのか、なぜそのように書かれているのかを説明します。
会議メモを要約します。 会議のメモを1つの段落で要約します。次に、スピーカーと各キーポイントのマークダウンリストを作成します。最後に、スピーカーが提案した次のステップまたはアクションアイテムがある場合は、それをリストします。

生成AIに人格を与える

プロンプトで条件をつけることによってい回答で使用される人格を指定できます。

私が何かを書くために助けを求めるとき、あなたはすべての段落で少なくとも1つの冗談または遊び心のあるコメントを含む文書で返信します。
「いつも私をサポートしてくれている妻に感謝のメモを書いてください。これにより夫婦の関係がより親密なものになりました。」
いかは生成AIの回答です。なかな洒落てますね。

わかりました。あなたの妻に感謝のメモを書くのを手伝います。私はすべての段落で少なくとも1つの冗談または遊び心のあるコメントを含むようにします。以下が私の提案です。

親愛なる妻へ

あなたは私の人生の最高の贈り物です。あなたと結婚した日は私の人生で最も幸せな日でした。もちろん、あなたが私にプレイステーション5を買ってくれた日も忘れられませんが。

あなたは私をいつもサポートしてくれて、私の夢を応援してくれて、私の欠点を受け入れてくれて、ありがとうございます。あなたは私の最高の友達であり、最高のパートナーであり、最高の恋人です。あなたと一緒にいるときはいつも笑顔になります。特に、あなたが私の冗談に笑ってくれるときは。

あなたとの関係は私にとってとても大切です。私たちはいつもお互いに信頼し、尊重し、愛し合っています。私たちはいつも一緒に楽しく過ごしています。私たちはいつもお互いに学び合っています。私たちはいつもお互いに助け合っています。私たちはいつもお互いに素直になれます。私たちはいつもお互いに美味しい料理を作ってあげます。私はあなたのカレーが大好きです。あなたは私のオムライスが好きですよね?

あなたに感謝する言葉はありません。あなたは私の人生を豊かにしてくれています。あなたは私の人生を楽しくしてくれています。あなたは私の人生を幸せにしてくれています。あなたは私の人生を意味のあるものにしてくれています。あなたは私の人生の全てです。あなたがいないと私は生きていけません。本当にそう思います。冗談じゃないですよ。

あなたに伝えたいことはたくさんありますが、このメモでは書ききれません。だから、今日の夜はあなたとゆっくり話したいです。あなたの声を聞くのが待ちきれません。あなたの笑顔を見るのが待ちきれません。あなたのキスを感じるのが待ちきれません。あなたの抱擁を感じるのが待ちきれません。あなたの愛を感じるのが待ちきれません。

あなたを心から愛しています。
あなたの夫より

どうでしょうか?このメモはあなたの気持ちを表現できていますか?もし変更したいところがあれば、教えてください。私はあなたのフィードバックを歓迎します。😊

区切り文字を使用して、入力の異なる部分を明確に示す

トリプル引用符、XMLタグ、セクションタイトルなどの区切り文字は、テキストのセクションを区別して異なる方法で処理するのに役立ちます。

 

俳句で三重引用符で区切られたテキストを要約します。
“””ここにテキストを挿入”””

同じトピックに関する一対の記事(XMLタグで区切られた)が提供されます。まず、各記事の議論を要約します。次に、どちらがより良い議論をするかを示し、その理由を説明します
<記事>ここに最初の記事を挿入< /記事>
<記事>ここに2番目の記事を挿入< /記事>
論文の要約とそれに推奨されるタイトルが提供されます。論文のタイトルは、読者に論文のトピックについての良い考えを与えるはずですが、目を引くものでもあるはずです。タイトルがこれらの基準を満たしていない場合は、5つの代替案を提案してください。
要約:ここに要約を挿入 タイトル:ここにタイトルを挿入
ちなみに、「生成AIに人格を与える」の段落のサンプル回答を俳句にしてもらった例です。ちょっと意味が不明な部分もありますが、それっぽくなってるんじゃないでしょうか?

このテキストを俳句で要約するのを手伝います。以下が私の提案です。

妻への手紙
あなたは私の宝
笑顔とカレー
愛しています

 

タスクを完了するために必要な手順を指定します

一部のタスクは、一連のステップとして指定するのが最適です。手順を明示的に書き出すと、生成AIが簡単に実行できるようになります。

次のステップバイステップの説明を使用して、ユーザー入力に応答します。
ステップ1-ユーザーは、3つの引用符でテキストを提供します。
このテキストを「要約:」と書かれた接頭辞で1つの文に要約します: “.
ステップ2-ステップ1からスペイン語に要約を翻訳し、「翻訳:」という接頭辞を付けます: “.
“””ここにテキストを挿入”””

例を提示する(few-shot)

すべての例に適用される一般的な指示を提供することは、通常、タスクのすべての順列を例で示すよりも効率的ですが、場合によっては、例を提供する方が簡単な場合があります。たとえば、モデルがユーザークエリに応答する特定のスタイルをコピーすることを意図している場合、明示的に説明することは困難です。これは「few-shot」プロンプトと呼ばれます。

一貫したスタイルで答えてください。
質問:忍耐について教えてください。
答え:最も深い谷を彫る川は、ささやかな春から流れます。最も壮大な交響曲は1つの音符に由来します。最も複雑なタペストリーは、孤独な糸から始まります。
質問:愛について教えてください。

 

出力の長さを指定する

特定のターゲット長の出力を生成するようにモデルに要求できます。目標出力長は、単語数、文数、段落数、 箇条書きなどの観点から指定できます。ただし、特定の数の単語を生成するように生成AIに指示することは、高精度では機能しないことに注意してください。モデルは、特定の数の段落または 箇条書きで出力をより確実に生成できます。

約50語で三重引用符で区切られたテキストを要約します。 “””ここにテキストを挿入”””

2つの段落で3重引用符で区切られたテキストを要約します。 “””ここにテキストを挿入”””

3つの 箇条書きで3つの引用符で区切られたテキストを要約します。 “””ここにテキストを挿入”””

 

まとめ

今回はプロンプトエンジニアリングの6つの戦略のうちの一つ「明確な指示を書く」という事について書いてみました。

少しでも生成AIを利用する際のヒントになれば幸いです。

て転職活動や普段の生活の役に立てていただけたらと思います。

それでは、また。

 

より良い結果を得るためのプロンプトエンジニアリング戦略(その2)【参照テキストを提供する】
プロンプトエンジニアリングという言葉を聞いたことがある方は多いと思います。ただ実際には、どんな内容をAIに入力すれば期待した答えが導き出せるのか、いまいち具体的にわからないという方も多いのではないでしょうか?今回はそんな疑問を解消するための記事をシリーズで書いていきます。今回は「参照テキストを提供する」という観点で書いていきます。 たとえば「ウェブの記事を要約してほしい」「議事録を作ってほしい」等です。そんなときに使えるプロンプトを紹介していこうと思ういます。 また今回の戦略は、生成AIをプログラミングするうえでも基本となる考え方になっています。OpenAIのAPIを使ってプログラミングしようと思っているかたも、一度はプロンプトで試していただけたらと思います。 効率的に転職活動を行いたいという方だけではなく、生成AIをもっと上手く使いたいというかたも参考にしてください。