Copilot Studioでエージェントを思い通りに動かす!成功する指示の書き方ベストプラクティス

皆さん思い通りにエージェント作成できていますか?なかなか期待通りに動いてもらうのは難しいですよね。

Copilot Studioなどでのエージェント作成は、指示の書き方次第で精度が大きく変わります。

この記事では、現場で役立つ「指示のベストプラクティス」を紹介します。うまく動かないときの改善ポイントも解説しますので、ぜひ参考にしてください。 

前提 - エージェントの種類について

Copilot関連のエージェントには、次の2種類があります。本記事で解説する指示はどちらにも適用可能ですが、一部はCopilot Studio でのみ利用できる機能を含んでおります。ご注意ください。 

Microsoft 365 Copilotのエージェントビルダーで作成するもの

https://m365.cloud.microsoft/chat から作成可能で、エージェントはMicrosoft 365 の管理下になります。

本記事で解説する指示による作成以外に、何をして欲しいか説明するような形で構成することもできます。 

Copilot Studioで作成するもの

https://copilotstudio.microsoft.com/ から作成可能で、エージェントはPower Platform の環境内に置かれます。

エージェント連携やエージェントフローなどを組み込んだフルスペックのエージェントを構築できます。

エージェントへの指示のTIPS

マークダウン形式で記述する

指示はマークダウン形式で記載しましょう。そうするとエージェントが構成を正しく理解でき、思ったように動きやすくなります。マークダウン形式がよくわからなければ、あらかた書いた後にCopilotにお願いしてマークダウン形式に変換してもらいましょう。 

制約、応答形式、ガイダンスの3セクションで構成する

基本的にどのように指示を書いても動いてくれます。今のあなたの書き方で期待通りに動作していれば、変更する必要はありません。ただ、もしうまくいかない場合にはこの構成を試してみてください。

制約

→〇〇します。〇〇をします。といった形でエージェントにして欲しいことやして欲しくないことを定義します。また、必ずや禁止を追加すると強い制約となります。

応答形式

エージェントに出力して欲しい形式があれば、指定できます。期待するセクション構成の形で指定すると、期待する様子を含めて回答してくれたりします。

ガイダンス

細かい動作の指定をしたい場合には、ここで指定ができます。ステップごとに分けたり、連番を使って期待する処理の流れを定義します。

ナレッジやツールは / で明示的に指定する

ナレッジやツールを使う場合には、明示的に指定が可能です。指示の中で用いる場合は、必ず/を使って指定してあげましょう。

ツールの出力結果は正確に指定する

エージェントフローの出力結果をユーザーに見せたい場合など、出力結果を利用したい場合には一言一句同じにすると言うことを聞きやすいです。あとは、指示内の一般用語と出力結果が似通っていると思った結果になりにくいので、それとわかりやすい出力の名前にしてしまうのもよいです。

指示のサンプル

## 制約

- 対象はユーザーが貼り付けたテキストの問い合わせ内容のみとする

- ガイダンスのステップに厳密に従う。逸脱した処理は禁止

- 不明点(担当不明・必要情報欠落・期日不明)がある場合は確認依頼を返して終了する

- ツール出力は改変せずに使用する

- ナレッジ参照は指定ソースのみとし、任意の検索は行わない

- 出力は見出し・太字・段落・箇条書きで読みやすく整形する

## 応答形式

- **カテゴリ**(例:製品質問/トラブル/請求/その他)

- **返信案**(件名+本文ドラフト)

- **不足情報の確認事項**(必要な追加質問のみ)

- **次の一歩**(1つ)

## ガイダンス

### ステップ1:内容把握

- 入力テキストから、目的・対象・期日の有無を抽出する

- 目的や期日が曖昧な場合は、この時点で確認事項を作成して終了する

### ステップ2:カテゴリ分類

- `/classify` を使用してカテゴリを決定する(製品質問/トラブル/請求/その他)

- 出力されたカテゴリラベルをそのまま利用する

### ステップ3:返信案生成

- `/reply-draft` に本文要点とカテゴリを渡し、件名+本文のドラフトを取得する

- 文体は敬体、箇条書きを適宜使用し、次アクションを明示する。ツール出力は改変しない

### ステップ4:不足情報の抽出

- `/gap-check` を実行し、欠落情報(注文番号・再現手順・希望日時など)を抽出する

- 不足情報の確認事項に最小限のみ列挙する

### ステップ5:次の一歩の提示

- ナレッジ `/kb/問い合わせ運用ルール` を参照し、直近で着手すべきアクションを1つ提示する

  - 例:担当チームへの転送、チケット登録依頼、期日の確認など

### ステップ6:提示

- 応答形式の4セクションで整形して出力し、処理を完了する

まとめ

エージェントを思い通りに動かす近道は、指示の構造化です。

・指示は Markdown形式 で書く 

・制約/応答形式/ガイダンス の三層構成にする 

そして、正確に伝えることです。

・ナレッジやツールは `/` で明示的に指定する。

・ツール出力は 一言一句正確に扱う。

この2つを守れば、再現性が飛躍的に向上します。是非ご参考にしてみてください。 

エージェント作成を支援するエージェント

ここまで指示の書き方を解説しましたが、なんだか難しい。という方は、この記事のURLをナレッジとしてエージェント作成を支援する仕組みを構築してみるのもありかと思います。標準機能でもすでに同じようなことはできますが、こちらは自由にカスタマイズできる点がメリットになります。

余談ですが、弊社内でもこのエージェント作成支援エージェントを使ってエージェントを量産してたりします。慣れれば数分で一定以上の品質で作れるので、重い腰を上げやすく重宝しています。是非一度試してみてはいかがでしょうか。

参考リンク

エージェントの指示を記述する - Microsoft Copilot Studio | Microsoft Learn

生成オーケストレーションの指示ガイダンス - Microsoft Copilot Studio | Microsoft Learn

宣言型エージェントの効果的な命令を記述する | Microsoft Learn

お気軽にご依頼・ご相談ください

前へ

TOONフォーマットとは?AIのコストを50%削減する新しいデータ形式