エージェントが最適な結果を生成するためには、プロンプトを作成・テストしながら、継続的に改善していくプロセスが非常に重要です。
本セクションでは、その試行錯誤の過程で参考となる基本的なポイントをご紹介します。
明確に指示することの重要性
エージェントに指示を与える際は、あたかも業務知識のない新入社員に業務を教えるようなイメージをお持ちください。
具体的な業務指示がなければ、新入社員が期待通りに動けないのと同様に、エージェントも意図した通りには動作しません。
たとえば、「外国語を韓国語に翻訳するエージェント」を作成する場合、
どの言語からどの言語へ、どのようなテキストを翻訳するのかといった具体的な指示を明示する必要があります。
短く訳して hello word
Plain Text
복사
### 指示 ###
提示された <文> を韓国語で2文以内に翻訳してください。
----
<文> : "I want to cancel a reservation."
<翻訳結果> :
Plain Text
복사
明確な指示を書くためのポイント
エージェントに意図どおりの動作をさせるためには、指示内容を具体的かつ構造的に記述することが重要です。以下のポイントを参考に、プロンプト設計の精度を高めましょう。
1.
### や --- などの区切り線を使って、指示文と入力情報を明確に分ける
→視覚的にセクションを分けることで、エージェントが指示とデータを混同せずに処理しやすくなります。
2.
「短く」など抽象的な表現ではなく、「2文以内」など具体的な条件を提示する
→あいまいな表現ではモデルの判断に幅が生まれるため、数値や範囲で明示的に指定することが推奨されます。
3.
情報のラベル(例:<文>)を使って、エージェントが注目すべき部分を明示する
→入力内の重要情報にラベルを付けることで、どの部分を処理対象とすべきかが明確になります。
→例: <外国人観光客向けに案内を翻訳してください。>
具体的な例を提示する重要性
エージェントがどのような出力を期待されているのかを正しく理解するためには、具体的な例をあらかじめ提示することが効果的です。
複数のパターンを提示することで、エージェントのタスク理解が深まり、応答の精度も向上します。
### 指示 ###
提示された <文> を韓国語で2文以内に翻訳し、その後に感情分析の結果を付けてください。
感情は「肯定」「否定」「中立」の中から1つ選び、[肯定]のように表記してください。
### 例 ###
<翻訳結果> : 사랑해요 [肯定]
<翻訳結果> : これ味変じゃない? [否定]
<翻訳結果> : チェックアウトお願いします [中立]
----
<文> : "I want to cancel a reservation."
<翻訳結果> :
Plain Text
복사
「してはいけないこと」ではなく、「してほしいこと」に集中する
エージェントの動作を安定的に制御するためには、**「やってはいけないこと」よりも「どうすべきか」**を明確に伝える方が効果的です。
禁止表現だけでは、モデルが完全にその意図を理解しきれず、予期しない出力が生成される場合があります。
たとえば、文書を参照して回答するチャットボットを作成する場合、
ユーザーから文書に含まれていない内容について質問されたときに、エージェントが誤って推測で回答してしまう可能性があります。
このようなケースでは、
「新しい情報を生成してはいけません」と禁止するよりも、「文書に情報が存在しない場合は、その旨を伝えてください」など望ましい行動を具体的に示すほうが制御しやすくなります。
### 指示 ###
あなたは、指定された <文書> を参照して質問に正確に答えるエージェントです。
**文書に記載されていない情報は、絶対に含めてはいけません。**
### 文書 ###
{検索結果の文書}
----
質問:トイレが鍵かかってるんだけど?
回答:
Plain Text
복사
## 指示 ###
あなたは、指定された <文書> を参照して質問に正確に答えるエージェントです。
回答は、<文書> に記載されている内容に基づいて作成してください。
**もし該当する情報が文書内に存在しない場合は、
「その件については文書内に情報が見つかりませんでした」と回答してください。**
### 文書 ###
{検索結果の文書}
----
質問:トイレが鍵かかってるんだけど?
回答:
Plain Text
복사
