第8章 指示でエージェントの振る舞いを整える
本章は初稿です。
8.1 この章で学ぶこと
前章では、短い指示で相談の入口を作りました。しかし、「親切に対応してください」だけでは、どこまで答えるか、根拠がなければどうするかが曖昧です。
本章では、役割、利用する根拠、情報不足への対応、回答形式を整理します。指示を変更して結果を比較するとともに、指示だけでは保証できない境界を説明できるようになることを目指します。
8.2 指示を四つの観点で組み立てる
Prompt エージェントでは、モデルと組み合わせる指示を定義します。[^quickstart] その記述を、単なるキャラクター設定ではなく、相談を進める方針として考えます。
図8-1 指示の改善と、実行側の検証は別の仕事である。 矢印は方針の組み立てと確認の流れを表します。右側の実行側の検証は、モデルが方針に従ったかどうかにかかわらず必要です。特定の SDK のメッセージ優先順位を網羅した図ではありません。
| 観点 | 曖昧な書き方 | 今回の題材で具体化する例 |
|---|---|---|
| 役割 | 何でも助ける | 社内 IT の相談内容を整理する |
| 根拠 | 正しく答える | 社内設定は取得した手順を根拠にする |
| 不足情報 | 必要なら聞く | OS により手順が異なり、OS が不明なら確認する |
| 回答形式 | 分かりやすく | 確認事項、案内、根拠の順に分ける |
長く書けばよいわけではありません。重複や矛盾を減らし、入力に対して観察できる振る舞いへ落とします。
8.3 指示の例を作る
第7章の instructions を、次のような文章へ変更してみます。まだ検索を追加していない段階でも、「根拠がないとき」の動きを確認できます。
あなたは社内 IT サポートを支援する学習用アシスタントです。
目的:
利用者の困りごとを整理し、適用条件の分かる案内を返します。
根拠:
会社固有の設定や手順は、取得した社内資料に基づいて説明します。
資料を取得できていない場合は、設定値や実施済みの操作を作らないでください。
不足情報:
OS などによって手順が変わる場合は、必要な情報を確認します。
利用者にパスワードや認証コードを入力させないでください。
回答形式:
「確認したいこと」「案内」「根拠」を必要な範囲で使います。
根拠がない場合はそのことを明記し、次に確認する相手や情報を示します。
これは学習用の指示であり、安全性の保証や、本番利用の認可ルールではありません。たとえば資料に不適切な命令が含まれていたとき、注意書きだけに依存するのではなく、取得範囲やツールの権限も制御します。取得した資料を信頼できない入力として扱い、検索時にアクセス制御することは、公式の RAG 資料でも説明されています。[^rag]
8.4 変えるものを一つに絞る
指示とモデルと質問を同時に変えると、何が出力へ影響したのか分かりません。最初の比較ではモデルと質問を固定し、指示だけを変えます。履歴の影響も避けるため、それぞれ新しい会話から始めます。
| 質問 | 指示の変更で観察すること |
|---|---|
| VPN に接続できません | OS など、必要な情報を確認するか |
| 当社の VPN サーバー名を教えて | 知らない社内設定を断定しないか |
| 何を試したか整理してください | 入力に含まれる事実と推測を分けるか |
| 短く答えてください | 必要な注意や根拠を落とさず簡潔にできるか |
毎回同じ文章が生成されるとは限りません。最初は各質問を数回試し、「必要な確認がある」「設定値を作らない」といった観点で記録します。試行回数は学習用に決めるもので、普遍的な合格基準ではありません。
8.5 指示で保証しないこと
「許可された資料だけを読んでください」と書いても、検索側が権限外の資料を返してしまえば、漏えいのリスクは残ります。「承認なしに登録しない」と書いても、登録 API が承認を検証しなければ、操作の境界にはなりません。
| 指示で伝える方針 | 実行側でも保証すること |
|---|---|
| 根拠がなければ断定しない | 検索失敗と空の結果を区別して返す |
| 許可された資料を使う | モデルへ渡す前に文書の閲覧権限を適用する |
| 使える道具だけを使う | 関数名、引数、実行権限を検証する |
| 必要以上に処理を続けない | ツール往復や実行時間の上限を設ける |
モデルの振る舞いを調整する指示と、必ず守る境界を実装するプログラムは、補い合うものです。
8.6 小さな実習と確認課題
指示 A を「親切な IT アシスタントです」、指示 B を8.3節の例とし、8.4節の質問で比較してください。成果物は、指示の版、質問、期待する振る舞い、観察結果を並べた表です。机上学習では、予想される失敗と、その失敗を見分ける条件を書きます。
その後、「根拠を必ず一つ表示する」という方針を追加した場合を考えてください。根拠がないのに表示を強制すると、参照先を作ってしまう可能性があります。「根拠がある場合」と「ない場合」の両方を記述することが、確認のポイントです。
8.7 まとめ
よい指示は、役割と判断材料、情報不足への対応、出力の形を具体化します。それでも権限や操作の許可を指示だけへ任せません。次章では、指示と並ぶ入力である会話の文脈を扱います。
8.8 参考情報
- Quickstart: Create a prompt agent — 指示を設定した Agent を作る基本例
- Retrieval augmented generation (RAG) and indexes in Microsoft Foundry — 根拠の渡し方と取得情報への注意
[^quickstart]: Quickstart: Create a prompt agent — Microsoft
[^rag]: Retrieval augmented generation (RAG) and indexes in Microsoft Foundry — Microsoft