Microsoft Foundry Toolkit for Visual Studio Code を使用してプロンプト エージェントを作成する

Microsoft Foundry Toolkit for Visual Studio Code のエージェント ビルダーを使用して、プロンプト エージェントのモデル、手順、およびツールを構成します。 プレイグラウンドでエージェントをテストし、変更をバージョンとして保存し、アプリケーションから呼び出すクライアント コードを生成します。

この記事では、まず Foundry に保存されているプロンプトエージェントを取り上げます。 エージェント ビルダーでは、 ローカルに保存されたプロンプトもサポートされています。このプロンプトには、ストレージ、ツール、評価のオプションが異なります。 コードベースの代替方法については、「 エージェントの作成」を参照してください。

前提条件

Foundry リソースを使用しない限り、ローカル プロンプト開発では Foundry プロジェクトは必要ありません。

プロンプト エージェントを作成する

モデルと手順から始めて、ツールを追加する前にエージェントを保存してテストします。

  1. Foundry Toolkit ビューで、Developer Tools>Build>Create Agent を選択します。

  2. [ エージェントのビルド] を 選択して、エージェント ビルダーを開きます。

  3. [ 基本情報] で、 エージェント名を入力します。 名前の先頭と末尾に文字または数字を付けます。 それらの間にハイフンを使用できます。

  4. [モデル] から Foundry でホストされるモデルを選択します。 モデルを追加する必要がある場合は、 モデルの参照 を使用します。

  5. [ 手順] で、タスク、必要な動作、予想される応答について説明します。 たとえば、報告された問題、再現手順、および予想される動作を特定して、ソフトウェアの問題を要約するようにエージェントに依頼します。 詳細を発明するのではなく、不足している情報を要求するように指示します。

  6. [ Foundry に保存] を選択します

  7. [ プレイグラウンド ] タブで、要求を入力し、[ メッセージの送信] を選択します。 フォローアップの質問をして会話をテストします。

  8. 応答が指示に従うかどうかを確認します。 必要に応じて、手順を調整し、保存し、繰り返します。

    保存された 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 エージェントにツールを追加する

ツールは、エージェントをモデル外の情報とアクションに接続します。 使用可能なツールは、モデル、アクセス許可、およびプロジェクト内のリソースによって異なります。 ツール カタログを使用して共有接続と認証を構成し、エージェント ビルダーで接続します。

  1. [ プレイグラウンド ] タブで、保存した Foundry エージェントを開きます。
  2. ツールで、[ツールの追加] +>選択します。
  3. [ ツールの選択] で、[ 構成済み] から接続を選択するか、[ カタログ] を使用してツールを検索します。
  4. 必要な構成を完了し、[ ツールの追加] を選択します。
  5. [ Foundry に保存] を選択します
  6. ツールを必要とする要求を送信し、その入力と結果を確認します。 エージェントが承認を要求する場合は、その呼び出しに対して [承認 ] または [拒否 ] を選択します。

MCP ツールのツール呼び出し承認設定を確認するには、そのオプションを開き、[構成] を選択 します。 承認を要求したり、すべてのツールを自動的に承認したり、特定のツールを自動的に承認したりできます。 保存する前に選択内容を確認します。

承認設定では、基になるサービスへのアクセスは許可されません。 サービスのアクセス許可については、「 エージェント ID の概念」を参照してください。

ツールボックスを使用する (プレビュー)

ツールボックスは、マネージド MCP エンドポイントの背後にある再利用可能なツールをグループ化します。 スキルとツールの検索はプレビュー機能です。

Note

プロンプト エージェントでのツールボックス統合は、既定ではプレビュー段階であり、オフになっています。 Visual Studio Code設定で、ツールボックスの添付ファイル コントロールを表示するwindowsaistudio.enableToolboxInPromptAgentを有効にします。

エージェントは、ツールボックスまたは個々の Foundry ツールを使用します。 ツールボックスをアタッチすると、その個々のツールが置き換えられます。 ツールボックスがアタッチされている場合、 ツールを追加 すると、そのツールボックス内にツールが追加されます。

ツールボックスの編集は、新しいツールボックス バージョンを作成するときに、エージェントを保存するまでステージングされます。 ツールボックスは共有リソースです。保存する前に、ツールボックスとエージェントの両方の変更を確認します。

  1. 保存した Foundry エージェントを開きます。

  2. ツールで、[+>ツールボックスの参照] を選択します。

  3. ツールボックスを選択し、そのバージョン、ツール、スキルを確認します。

  4. [] を選択し、[] を追加します。

  5. ツールボックス カードを展開して内容を調べ、承認設定を確認します。

  6. [ Foundry に保存] を選択し、そのツールを使用する要求をテストします。

    ツールボックス名、バージョン、ツールとスキルの数を示す [ツールボックスの選択] ダイアログのスクリーンショット。

ツールボックス リソースの一覧から [ エージェントのプロンプトに追加 ] を選択することもできます。 ツールボックスの作成と共有接続については、「 ツール カタログ」を参照してください。

添付ツールボックスを管理する

ツールボックス カードの [ その他のオプション ] メニューを使用し、変更後にエージェントを保存します。

アクション Effect
設定 このエージェントのツール呼び出し承認設定を変更します。
バージョンの切り替え 接続されているツールボックスの別のバージョンを選択します。
Replace 別のツールボックスを選択します。
Remove このエージェントからツールボックスをデタッチします。
オプトアウト そのツールは個々のエージェント ツールとして保持します。 エージェントは、ツールボックスのスキル、ツール検索、バージョン管理、およびセットとしての再利用にアクセスできなくなりました。

A2A を使用して別のエージェントを接続する (プレビュー)

エージェント間 (A2A) 接続では、プロンプト エージェントが A2A 互換エージェントをツールとして呼び出すことができます。 1 つを直接アタッチすることも、ツールボックスを介してアタッチすることもできます。 直接接続では、ツールボックスのオプトイン設定は必要ありません。

  1. 保存した Foundry エージェントを開きます。

  2. ツールで、+>エージェントの追加 (A2A) を選択します。

  3. [ A2A エージェントの接続] で、適切なタブを選択します。

    タブ 提供する内容
    構成済み 既存の A2A 接続を選択します。 このタブは、構成された接続が存在する場合に表示されます。
    カタログ Foundry アカウント カタログからエージェントを選択します。 メッセージが表示されたら、エージェント カードと認証の手順を完了します。
    カスタム 名前、有効な HTTPS エンドポイント、およびエージェント カード パスを入力します。 必要に応じて、 エージェント カードを取得するときに [認証 ] を選択します。
  4. ダイアログを完了して、エージェントを接続または追加します。

  5. [ Foundry に保存] を選択し、接続を必要とする要求をテストします。

    名前、HTTPS エンドポイント、エージェント カード パス、認証フィールドを含む A2A エージェントの接続の [カスタム] タブのスクリーンショット。

エンドポイントのセットアップ、エージェント カード、ID オプション、およびアクセス許可については、「 A2A エンドポイントを有効にする」を参照してください。

会話を確認し、エージェントを切り替える

Playground には、現在のテスト会話が含まれています。 [ すべてのメッセージをクリア] を選択して、新しい会話を開始します。

保存した Foundry エージェントの場合は、[ 会話 ] を選択して、選択したバージョンの履歴を確認します。 メッセージと応答の詳細を調べる会話を選択します。 履歴を開いても、プレイグラウンドでその会話は再開されません。

会話 ID、状態、トークンの使用状況、開始時刻を示す [会話] タブのスクリーンショット。

エージェント ビルダーの上部にあるエージェント セレクターを使用して、ローカル プロンプトと Foundry プロンプト エージェントを切り替えます。 切り替え後にストレージ バッジとバージョンを確認します。 [ 会話 ] タブは、ローカル プロンプトではなく、保存された Foundry エージェントで使用できます。

命令を生成して改善する

[ 生成] を使用してタスクの説明から指示を下書きするか、既存の指示を修正する場合 は [改善 ] を使用します。 フィールドが空の場合、アイデアをもらうは出発点となるアイデアを提供します。

  1. 命令の生成をサポートするモデルを選択します。
  2. [ 命令] で、フィールドが空の場合は [生成 ] を選択し、指示が含まれている場合は [改善 ] を選択します。
  3. タスクまたは変更について説明します。 既存の Foundry エージェントの場合、改善の提案は省略可能です。
  4. ダイアログで [生成 ] または [ 改善 ] を選択します。
  5. 改訂された手順を確認し、担当者の要求をテストします。
  6. [ Foundry に保存] を選択して構成を保持します。

保存された Foundry エージェントの場合、これらのアクションは Foundry Prompt Optimizer を使用します。 最適化 API がモデルをサポートしていない場合、ツールキットはサポートされている場合、標準プロンプト生成にフォールバックします。 新しいドラフトで Foundry モデルを選択しただけでは、そのドラフトは保存済みの Foundry エージェントにはなりません。

Foundry プロンプトエージェントを評価する

評価する構成を保存し、[ 評価] を選択します。

  • [スキャフォールディング評価コード] を選択して、ローカル Python評価プロジェクトを生成します。 生成された手順に従って構成し、実行します。
  • ガイド付き評価セットアップの Foundry リンクを選択します。

生成された評価構成を実行する前に確認します。 スキャフォールドはエージェントを名前で識別します。エージェントビルダーで選択したバージョンに固定されると思わないでください。

このタブは、ローカル プロンプト データセット ビューとは異なります。 サービス評価ガイダンスについては、「 エージェントの評価」を参照してください

クライアント コードを生成する

Foundry エージェントを保存したら、[コードの 表示 ] メニューを使用してアプリケーションから呼び出します。

アクション アウトプット
コードの表示 既存のエージェントを呼び出すPython プロジェクト。 フォルダーを選択し、依存関係、構成、認証の README.md に従います。
スニペットの表示 既存のエージェントを呼び出すエディター内のPython スニペット。

どちらの出力も、選択した保存されたバージョンを参照します。 変更された構成がアプリケーションに必要な場合は、コードを生成する前に編集内容を保存します。

クライアント コードは、プロンプト エージェントをホストされたエージェントに変換しません。 直接 SDK を使用する場合は、 prompt-agent のクイックスタートを参照してください。

ローカル プロンプトを操作する

別のプロバイダーのモデルを使用するローカル ストレージを選択するか、ローカル ツールをテストします。 モデルを選択し、手順を入力して、[ ローカルに保存] を選択します。 Foundry モデルでは、ローカル ストレージが使用可能な場合は保存メニューを使用します。

ローカルの変更を保持するには、[ローカルに保存] を使用します。 ローカル 保存では、Foundry バージョンや Foundry の会話履歴レコードは作成されません。

ローカル ツールを接続する

ローカル プロンプトで、[ ツール>+>MCP サーバー ] を選択して、サーバーとそのツールを選択します。 構成とランタイムの要件については、「 ローカル MCP サーバーの接続」を参照してください。

外部サービスを実装せずに関数スキーマをテストするには:

  1. > + > カスタム ツールを選択します。
  2. [例] または [既存のスキーマのアップロード] を選択します。
  3. スキーマ、名前、説明を入力し、ツールを追加します。
  4. ツール カードにモック応答を入力します。
  5. プロンプトを実行し、モデルが応答を使用する方法を調べます。

モック応答では、外部 API は呼び出されません。 構成された MCP サーバーは、そのツールを実行できます。

構造化出力を構成する

構造化された出力をサポートするモデルを含むローカル プロンプトの場合:

  1. モデル セレクターの横にある [設定] を開きます。
  2. [ 構造出力] で、[ json_schema] を選択します。
  3. [ JSON スキーマの選択] で、[ 例の使用 ] または [ファイルのアップロード] を選択します。
  4. スキーマを確認し、[ 選択] を選択します。
  5. ローカル プロンプトを保存し、その出力を検査する要求を実行します。

使用可能な形式は、モデルによって異なります。 これらの手順は、保存された Foundry プロンプト エージェントの応答スキーマではなく、ローカル プロンプトの実行に適用されます。

データセット変数を使用してローカル プロンプトを評価する

保存されたローカル プロンプトの [ 評価 ] タブには、データセットベースの評価が表示されます。 手順の変数を使用して、異なるデータセット値で同じプロンプトを実行します。

たとえば、 Summarize the issue for {{audience}}.audience という名前のデータセット列を使用します。 各テスト ケースの値を指定します。 ローカル バッチ ランナーは、プロンプトの実行時にその値を置き換える。

Agent Builder プレイグラウンドには、個別の [変数] パネルがありません。 データセットのインポート、エバリュエーター、および結果の比較については、「 モデル、プロンプト、およびエージェントの評価」を参照してください。

ローカル プロンプトのコードを生成する

[ コードの表示] を選択して、モデル統合コードを生成します。 使用可能な SDK、認証、言語の選択は、プロバイダーとモデルによって異なります。 これらのオプションは、Foundry エージェント クライアント プロジェクトおよびスニペット アクションとは異なります。

エージェントを開発して公開するには、次のガイドを使用します。