Microsoft Foundry Toolkit for Visual Studio Code のエージェント ビルダーを使用して、プロンプト エージェントのモデル、手順、およびツールを構成します。 プレイグラウンドでエージェントをテストし、変更をバージョンとして保存し、アプリケーションから呼び出すクライアント コードを生成します。
この記事では、まず Foundry に保存されているプロンプトエージェントを取り上げます。 エージェント ビルダーでは、 ローカルに保存されたプロンプトもサポートされています。このプロンプトには、ストレージ、ツール、評価のオプションが異なります。 コードベースの代替方法については、「 エージェントの作成」を参照してください。
前提条件
- Visual Studio Code 用 Microsoft Foundry Toolkit をインストールします。
- Foundry プロジェクトを選択します。 エージェントを作成し、プロジェクトのモデルとツールを使用するためのアクセス許可が必要です。 Foundry のロールベースのアクセス制御を参照してください。
- そのプロジェクト内でのモデルのデプロイ。 Foundry リソースの設定を参照してください。
Foundry リソースを使用しない限り、ローカル プロンプト開発では Foundry プロジェクトは必要ありません。
プロンプト エージェントを作成する
モデルと手順から始めて、ツールを追加する前にエージェントを保存してテストします。
Foundry Toolkit ビューで、Developer Tools>Build>Create Agent を選択します。
[ エージェントのビルド] を 選択して、エージェント ビルダーを開きます。
[ 基本情報] で、 エージェント名を入力します。 名前の先頭と末尾に文字または数字を付けます。 それらの間にハイフンを使用できます。
[モデル] から Foundry でホストされるモデルを選択します。 モデルを追加する必要がある場合は、 モデルの参照 を使用します。
[ 手順] で、タスク、必要な動作、予想される応答について説明します。 たとえば、報告された問題、再現手順、および予想される動作を特定して、ソフトウェアの問題を要約するようにエージェントに依頼します。 詳細を発明するのではなく、不足している情報を要求するように指示します。
[ Foundry に保存] を選択します。
[ プレイグラウンド ] タブで、要求を入力し、[ メッセージの送信] を選択します。 フォローアップの質問をして会話をテストします。
応答が指示に従うかどうかを確認します。 必要に応じて、手順を調整し、保存し、繰り返します。
開発者ツールでリソース別グループを使用する場合、エージェントの作成はビルドではなくエージェント開発ツールの下にあります。 もう 1 つのエントリ ポイントは、 My Resources>Agents>Prompt Agent>Add Prompt Agent です。 その一覧で既存のエージェントを選択して編集します。
保存する場所を選択する
使用可能な保存アクションは、選択したモデルとツールによって異なります。
| コンフィギュレーション | 保存先を保存する |
|---|---|
| Foundry でホストされる、ツールを使用しないモデル。 | Foundry に保存、保存メニューでは ローカルに保存 も利用できます。 |
| Foundry ツールを使用した Foundry でホストされるモデル。 | Foundry に保存します。 |
| 別のプロバイダーのモデル、またはローカル ツールを使用した構成。 | ローカルに保存します。 |
Microsoft Foundry バッジとローカル バッジには、エージェントが格納されている場所が表示されます。 ローカルに保存されたプロンプトでは、引き続きクラウド モデルを呼び出すことができます。 ローカル ストレージは、推論がマシンで実行されることを意味するわけではありません。
下書きとバージョンを保存する
エージェント ビルダーは、ローカルの復旧ドラフトを保存済みのエージェント バージョンから分離します。
| アクション | Result |
|---|---|
| 構成を編集します。 | エージェント ビルダーは、ローカルの復旧ドラフトを格納します。 このアクションでは Foundry バージョンは作成されません。 |
| 保存されていない新しいエージェントを実行します。 | エージェント ビルダーは、エージェント名とモデルを検証し、最初の実行の前にエージェントを保存します。 構成でその宛先がサポートされている場合は Foundry が優先されます。 |
| 保存した Foundry エージェントを編集した後、[Foundry に保存] を選択します。 | エージェント ビルダーは、構成を新しいバージョンとしてプロジェクトに保存します。 |
エージェント ビルダーが復旧ドラフトを見つけた場合は、[ 下書きの復元 ] または [破棄] を選択します。 エージェントまたはバージョンを切り替える前に、重要な変更を明示的に保存します。
既存の Foundry エージェントに対する未保存の変更をテストできます。 この実行では、保存されたエージェント バージョン参照ではなく、編集された構成が使用されます。 バージョンにリンクされた会話、トレース、または生成されたクライアント コードに依存する前に保存します。
Important
Foundry に保存すると 、エージェントのバージョンが保存されます。 安定したアプリケーション エンドポイントを持つエージェント アプリケーションは発行されません。 個別の操作については、 エージェント アプリケーションの発行に関するページを参照してください。
エージェントのバージョンを選択する
エージェント名の横にあるバージョン セレクターを使用して、保存されたバージョンを読み込みます。 Foundry エージェントのバージョンは変更できません。 以前のバージョンの編集を保持するには、[ Foundry に保存] を選択して新しいバージョンを作成します。
選択したバージョンによって、エージェント ビルダーに表示される会話履歴と、生成されたクライアント コードによって参照されるバージョンが決まります。 サービスのバージョン管理の詳細については、「 変更をバージョンとして保存する」を参照してください。
Foundry エージェントにツールを追加する
ツールは、エージェントをモデル外の情報とアクションに接続します。 使用可能なツールは、モデル、アクセス許可、およびプロジェクト内のリソースによって異なります。 ツール カタログを使用して共有接続と認証を構成し、エージェント ビルダーで接続します。
- [ プレイグラウンド ] タブで、保存した Foundry エージェントを開きます。
- ツールで、[ツールの追加] +>選択します。
- [ ツールの選択] で、[ 構成済み] から接続を選択するか、[ カタログ] を使用してツールを検索します。
- 必要な構成を完了し、[ ツールの追加] を選択します。
- [ Foundry に保存] を選択します。
- ツールを必要とする要求を送信し、その入力と結果を確認します。 エージェントが承認を要求する場合は、その呼び出しに対して [承認 ] または [拒否 ] を選択します。
MCP ツールのツール呼び出し承認設定を確認するには、そのオプションを開き、[構成] を選択 します。 承認を要求したり、すべてのツールを自動的に承認したり、特定のツールを自動的に承認したりできます。 保存する前に選択内容を確認します。
承認設定では、基になるサービスへのアクセスは許可されません。 サービスのアクセス許可については、「 エージェント ID の概念」を参照してください。
ツールボックスを使用する (プレビュー)
ツールボックスは、マネージド MCP エンドポイントの背後にある再利用可能なツールをグループ化します。 スキルとツールの検索はプレビュー機能です。
Note
プロンプト エージェントでのツールボックス統合は、既定ではプレビュー段階であり、オフになっています。
Visual Studio Code設定で、ツールボックスの添付ファイル コントロールを表示するwindowsaistudio.enableToolboxInPromptAgentを有効にします。
エージェントは、ツールボックスまたは個々の Foundry ツールを使用します。 ツールボックスをアタッチすると、その個々のツールが置き換えられます。 ツールボックスがアタッチされている場合、 ツールを追加 すると、そのツールボックス内にツールが追加されます。
ツールボックスの編集は、新しいツールボックス バージョンを作成するときに、エージェントを保存するまでステージングされます。 ツールボックスは共有リソースです。保存する前に、ツールボックスとエージェントの両方の変更を確認します。
保存した Foundry エージェントを開きます。
ツールで、[+>ツールボックスの参照] を選択します。
ツールボックスを選択し、そのバージョン、ツール、スキルを確認します。
[] を選択し、[] を追加します。
ツールボックス カードを展開して内容を調べ、承認設定を確認します。
[ Foundry に保存] を選択し、そのツールを使用する要求をテストします。
ツールボックス リソースの一覧から [ エージェントのプロンプトに追加 ] を選択することもできます。 ツールボックスの作成と共有接続については、「 ツール カタログ」を参照してください。
添付ツールボックスを管理する
ツールボックス カードの [ その他のオプション ] メニューを使用し、変更後にエージェントを保存します。
| アクション | Effect |
|---|---|
| 設定 | このエージェントのツール呼び出し承認設定を変更します。 |
| バージョンの切り替え | 接続されているツールボックスの別のバージョンを選択します。 |
| Replace | 別のツールボックスを選択します。 |
| Remove | このエージェントからツールボックスをデタッチします。 |
| オプトアウト | そのツールは個々のエージェント ツールとして保持します。 エージェントは、ツールボックスのスキル、ツール検索、バージョン管理、およびセットとしての再利用にアクセスできなくなりました。 |
A2A を使用して別のエージェントを接続する (プレビュー)
エージェント間 (A2A) 接続では、プロンプト エージェントが A2A 互換エージェントをツールとして呼び出すことができます。 1 つを直接アタッチすることも、ツールボックスを介してアタッチすることもできます。 直接接続では、ツールボックスのオプトイン設定は必要ありません。
保存した Foundry エージェントを開きます。
ツールで、+>エージェントの追加 (A2A) を選択します。
[ A2A エージェントの接続] で、適切なタブを選択します。
タブ 提供する内容 構成済み 既存の A2A 接続を選択します。 このタブは、構成された接続が存在する場合に表示されます。 カタログ Foundry アカウント カタログからエージェントを選択します。 メッセージが表示されたら、エージェント カードと認証の手順を完了します。 カスタム 名前、有効な HTTPS エンドポイント、およびエージェント カード パスを入力します。 必要に応じて、 エージェント カードを取得するときに [認証 ] を選択します。 ダイアログを完了して、エージェントを接続または追加します。
[ Foundry に保存] を選択し、接続を必要とする要求をテストします。
エンドポイントのセットアップ、エージェント カード、ID オプション、およびアクセス許可については、「 A2A エンドポイントを有効にする」を参照してください。
会話を確認し、エージェントを切り替える
Playground には、現在のテスト会話が含まれています。 [ すべてのメッセージをクリア] を選択して、新しい会話を開始します。
保存した Foundry エージェントの場合は、[ 会話 ] を選択して、選択したバージョンの履歴を確認します。 メッセージと応答の詳細を調べる会話を選択します。 履歴を開いても、プレイグラウンドでその会話は再開されません。
エージェント ビルダーの上部にあるエージェント セレクターを使用して、ローカル プロンプトと Foundry プロンプト エージェントを切り替えます。 切り替え後にストレージ バッジとバージョンを確認します。 [ 会話 ] タブは、ローカル プロンプトではなく、保存された Foundry エージェントで使用できます。
命令を生成して改善する
[ 生成] を使用してタスクの説明から指示を下書きするか、既存の指示を修正する場合 は [改善 ] を使用します。 フィールドが空の場合、アイデアをもらうは出発点となるアイデアを提供します。
- 命令の生成をサポートするモデルを選択します。
- [ 命令] で、フィールドが空の場合は [生成 ] を選択し、指示が含まれている場合は [改善 ] を選択します。
- タスクまたは変更について説明します。 既存の Foundry エージェントの場合、改善の提案は省略可能です。
- ダイアログで [生成 ] または [ 改善 ] を選択します。
- 改訂された手順を確認し、担当者の要求をテストします。
- [ Foundry に保存] を選択して構成を保持します。
保存された Foundry エージェントの場合、これらのアクションは Foundry Prompt Optimizer を使用します。 最適化 API がモデルをサポートしていない場合、ツールキットはサポートされている場合、標準プロンプト生成にフォールバックします。 新しいドラフトで Foundry モデルを選択しただけでは、そのドラフトは保存済みの Foundry エージェントにはなりません。
Foundry プロンプトエージェントを評価する
評価する構成を保存し、[ 評価] を選択します。
- [スキャフォールディング評価コード] を選択して、ローカル Python評価プロジェクトを生成します。 生成された手順に従って構成し、実行します。
- ガイド付き評価セットアップの Foundry リンクを選択します。
生成された評価構成を実行する前に確認します。 スキャフォールドはエージェントを名前で識別します。エージェントビルダーで選択したバージョンに固定されると思わないでください。
このタブは、ローカル プロンプト データセット ビューとは異なります。 サービス評価ガイダンスについては、「 エージェントの評価」を参照してください。
クライアント コードを生成する
Foundry エージェントを保存したら、[コードの 表示 ] メニューを使用してアプリケーションから呼び出します。
| アクション | アウトプット |
|---|---|
| コードの表示 | 既存のエージェントを呼び出すPython プロジェクト。 フォルダーを選択し、依存関係、構成、認証の README.md に従います。 |
| スニペットの表示 | 既存のエージェントを呼び出すエディター内のPython スニペット。 |
どちらの出力も、選択した保存されたバージョンを参照します。 変更された構成がアプリケーションに必要な場合は、コードを生成する前に編集内容を保存します。
クライアント コードは、プロンプト エージェントをホストされたエージェントに変換しません。 直接 SDK を使用する場合は、 prompt-agent のクイックスタートを参照してください。
ローカル プロンプトを操作する
別のプロバイダーのモデルを使用するローカル ストレージを選択するか、ローカル ツールをテストします。 モデルを選択し、手順を入力して、[ ローカルに保存] を選択します。 Foundry モデルでは、ローカル ストレージが使用可能な場合は保存メニューを使用します。
ローカルの変更を保持するには、[ローカルに保存] を使用します。 ローカル 保存では、Foundry バージョンや Foundry の会話履歴レコードは作成されません。
ローカル ツールを接続する
ローカル プロンプトで、[ ツール>+>MCP サーバー ] を選択して、サーバーとそのツールを選択します。 構成とランタイムの要件については、「 ローカル MCP サーバーの接続」を参照してください。
外部サービスを実装せずに関数スキーマをテストするには:
- > + > カスタム ツールを選択します。
- [例] または [既存のスキーマのアップロード] を選択します。
- スキーマ、名前、説明を入力し、ツールを追加します。
- ツール カードにモック応答を入力します。
- プロンプトを実行し、モデルが応答を使用する方法を調べます。
モック応答では、外部 API は呼び出されません。 構成された MCP サーバーは、そのツールを実行できます。
構造化出力を構成する
構造化された出力をサポートするモデルを含むローカル プロンプトの場合:
- モデル セレクターの横にある [設定] を開きます。
- [ 構造出力] で、[
json_schema] を選択します。 - [ JSON スキーマの選択] で、[ 例の使用 ] または [ファイルのアップロード] を選択します。
- スキーマを確認し、[ 選択] を選択します。
- ローカル プロンプトを保存し、その出力を検査する要求を実行します。
使用可能な形式は、モデルによって異なります。 これらの手順は、保存された Foundry プロンプト エージェントの応答スキーマではなく、ローカル プロンプトの実行に適用されます。
データセット変数を使用してローカル プロンプトを評価する
保存されたローカル プロンプトの [ 評価 ] タブには、データセットベースの評価が表示されます。 手順の変数を使用して、異なるデータセット値で同じプロンプトを実行します。
たとえば、 Summarize the issue for {{audience}}. は audience という名前のデータセット列を使用します。 各テスト ケースの値を指定します。 ローカル バッチ ランナーは、プロンプトの実行時にその値を置き換える。
Agent Builder プレイグラウンドには、個別の [変数] パネルがありません。 データセットのインポート、エバリュエーター、および結果の比較については、「 モデル、プロンプト、およびエージェントの評価」を参照してください。
ローカル プロンプトのコードを生成する
[ コードの表示] を選択して、モデル統合コードを生成します。 使用可能な SDK、認証、言語の選択は、プロバイダーとモデルによって異なります。 これらのオプションは、Foundry エージェント クライアント プロジェクトおよびスニペット アクションとは異なります。
関連するコンテンツ
エージェントを開発して公開するには、次のガイドを使用します。