ツールを使用してエージェント機能を拡張する

完了

AI エージェントの最も強力な機能の 1 つは、テキスト生成を超えて機能を拡張するツールを使用できることです。 ツールを使用すると、エージェントはアクションを実行したり、データにアクセスしたり、外部システムと統合したりできます。 Microsoft Foundry は組み込みのツールを提供し、カスタム統合をサポートし、エージェントを単純なチャット インターフェイスから高度な自動化システムに変換します。

エージェント ツールについて

ツールは、エージェントがタスクを完了するために呼び出すことができるプログラム関数です。 エージェントは、ユーザー要求に応答するためにツールが必要であると判断すると、自動的に適切なツールを呼び出し、結果を処理し、応答に組み込みます。 この機能により、エージェントはリアルタイム データの操作、コードの実行、ナレッジ ベースの検索、外部サービスとの対話を行います。

ツール呼び出しライフサイクルは自動的に行われます。

  1. ユーザーがエージェントにメッセージを送信する
  2. エージェントは要求を分析し、必要なツール (ある場合) を決定します
  3. エージェントが関連するパラメーターを使用して適切なツールを呼び出す
  4. ツールの実行と結果の返し
  5. エージェントが自然言語応答に結果を組み込む
  6. 応答がユーザーに返される

このシームレスな統合により、複雑なオーケストレーション コードを記述することなく、エージェントに強力な機能を追加できます。

組み込みツールの概要

Microsoft Foundry には、使用可能なツールを 3 つのカテゴリに分類する ツール カタログ が用意されています。 構成 済み (すぐに使用できる組み込みツール)、 カタログ (MCP サーバーを含むレジストリから追加できる追加ツール)、 カスタム (OpenAPI 仕様またはカスタム実装を使用した独自のツール) です。 ツール カタログには、ポータルの ビルド > ツール または VS Code 拡張機能を使用してアクセスできます。

最も一般的に使用されるツールの一部を次に示します。

コード インタープリター

コード インタープリターを使用すると、エージェントはセキュリティで保護されたサンドボックス環境Pythonコードを記述して実行できます。 数学計算、データ分析、グラフ生成、ファイル処理、複雑な問題解決に使用します。 たとえば、ユーザーがエージェントに対し、"10 年間で 5% 年率で 10,000 ドルの投資に対して複合利子を計算する" と要求した場合、エージェントはコードPython書き込んで実行し、正確な結果を計算します。

File Search は、アップロードしたドキュメントをエージェントが検索できるようにすることで、取得拡張生成 (RAG) を提供します。 このツールは 、ベクター ストア 内のドキュメントのインデックスを作成し、必要に応じて関連情報を取得し、特定のナレッジ ベースでエージェントの応答を固定します。

File Search では、PDF、Word (.docx)、プレーン テキスト (.txt)、Markdown (.md)、およびその他の形式がサポートされています。 エージェントにファイル検索を追加すると、ベクター ストアを作成または選択し、ドキュメントをアップロードすると、セマンティック検索用に自動的にインデックスが作成されます。

Bing Web Search は、エージェントをリアルタイムのインターネット情報に接続し、現在のイベント、トレンド トピック、トレーニング データ以外の情報にアクセスできるようにします。 自動引用生成が含まれているため、エージェントはソースを参照できます。

Azure AI Searchでは、既存の検索インデックスから高度な知識を取得できます。 ファイル検索 (エージェントに直接アップロードされたドキュメントで動作) とは異なり、Azure AI Searchはエンタープライズ規模のインデックス付きデータ ソースに接続して、構造化された非構造化検索シナリオに対応します。

OpenAPI ツール

OpenAPI ツールを使用すると、エージェントは OpenAPI 3.0 仕様で定義された外部 API と対話し、エージェントを Web サービスやエンタープライズ システムに接続できます。 仕様を指定すると、Microsoft Foundry はパラメーターマッピングと応答解析を処理します。

その他の組み込みツール

ツール カタログには、特殊なシナリオ用のツールが多数含まれています。

ツール 説明
ブラウザーの自動化 Web ページの操作、フォームへの入力、コンテンツの抽出
コンピュータ利用 デスクトップ アプリケーションとの対話
画像生成 テキストの説明に基づいて画像を作成する
SharePoint コンテンツライブラリとドキュメント ライブラリSharePointアクセスする
Microsoft Fabric データ分析のために Fabric データ エージェントに接続する
詳細な調査 複数のソース間で詳細な調査を実行する
エージェント間の通信 タスクを他のエージェントに委任する
カスタム コード インタープリター 特殊な環境向けのカスタマイズ可能なコード実行

ツール カタログは引き続き拡張されます。 Foundry ポータルで、使用可能な最新のツールを確認します。

Visual Studio Codeでのツールの追加

Microsoft Foundry 拡張機能は、ツールを追加および構成するための直感的なインターフェイスを提供します。 ツールを追加するには、ビジュアル デザイナーを使用するか、YAML ファイルを直接編集します。

ビジュアル デザイナーの使用

エージェント デザイナーを使用してツールを追加するには:

  1. エージェント デザイナーでエージェントを開く
  2. 構成パネルの [ ツール ] セクションに移動します
  3. [ ツールの追加] または [ + ] アイコンを選択する
  4. ツール ライブラリで使用可能なツールを参照する
  5. 追加するツールを選択します
  6. 必要に応じてツール固有の設定を構成する
  7. 変更を保存する

Microsoft Foundry VS Code 拡張機能のツール カタログ インターフェイスのスクリーンショット。

特定のツールを追加すると、拡張機能によって関連資産の構成が求められます。 たとえば、ファイル検索を追加すると、ドキュメントのインデックス作成用のベクター ストアを作成または選択できます。

YAML を使用したツールの追加

エージェント YAML ファイルを直接編集して、ツールを追加することもできます。 この方法は、必要なツールやテンプレートから変更を適用する必要があるツールを正確に把握している場合に適しています。

複数のツールを使用した YAML 構成の例を次に示します。

version: 1.0.0
name: research-assistant
description: Helps with research tasks using code analysis and web search
model:
  id: 'gpt-4o-deployment'
instructions: |
  You're a research assistant helping users gather and analyze information.
  Use Code Interpreter for data analysis and Bing Search for current information.
tools:
  - type: code_interpreter
  - type: bing_grounding
    bing_grounding:
      connection_id: "your-connection-id"
  - type: file_search
    file_search:
      vector_store_ids:
        - "vectorstore-123"

ツール配列には、有効になっている各ツールとその構成が一覧表示されます。 一部のツールでは、接続 ID やベクター ストア参照などの追加のパラメーターが必要です。

モデル コンテキスト プロトコル (MCP) サーバー

モデル コンテキスト プロトコル (MCP) は、エージェントにカスタム ツールを追加するための標準化された方法を提供します。 MCP サーバーは、ツール カタログの [カタログ ] セクションから利用でき、さまざまなエージェント実装で一貫して動作する再利用可能なツール インターフェイスを提供します。

MCP サーバーの種類

Foundry ツール カタログでは、次の 3 種類の MCP サーバーがサポートされています。

  • リモート MCP サーバー - 外部でホストされ、ネットワーク経由でアクセスされます。 これらは、運用シナリオで最も一般的な種類です。
  • ローカル MCP サーバー - 開発中にローカル コンピューターで実行します。 デプロイする前にカスタム ツールをテストする場合に便利です。
  • カスタム MCP サーバー - 特定のニーズに合わせて調整された独自の MCP サーバー実装。

MCP サーバーの利点

MCP サーバーには、いくつかの利点があります。

標準化されたプロトコル - 一貫性のあるツール通信パターンにより、統合が予測可能で信頼性が高まります。

再利用可能なコンポーネント - ツールを 1 回ビルドし、複数のエージェントとプロジェクトで使用します。

コミュニティ主導のツール - MCP レジストリを通じてコミュニティによって構築されたツールにアクセスし、カスタム開発なしで機能を拡張します。

統合の簡素化 - 一貫性のあるインターフェイスにより、統合の複雑さとメンテナンスの負担が軽減されます。

VS Code での MCP サーバーの使用

Microsoft Foundry 拡張機能は、MCP サーバー統合をサポートしています。

  1. 拡張機能のツール レジストリを使用して使用可能な MCP サーバーを参照する
  2. MCP サーバーをエージェント構成に追加する
  3. サーバー固有の設定とパラメーターを構成する
  4. 統合されたプレイグラウンドで MCP サーバー機能をテストする
  5. MCP サーバー統合を使用してエージェントを運用環境にデプロイする

MCP サーバーは、一貫した開発エクスペリエンスを維持しながら、特殊な機能を使用してエージェントの機能を拡張します。

ツール構成のベスト プラクティス

効果的なツール管理により、信頼性の高いエージェントのパフォーマンスが保証されます。

  • カスタム ソリューションを構築する前に、組み込みのツールから始めます。 組み込みのツールは、プラットフォーム用にテスト、保守、最適化されています。
  • ツールを要件に合わせる - エージェントが実行する必要がある内容を一覧表示し、それに応じてツールを選択します。 各ツールで待機時間が増えるので、明確な目的なしでツールを追加しないでください。
  • 明確な指示を提供 する - 各ツールを使用するタイミングと方法 ("コード インタープリターを任意の数学的計算に使用する" など) と、使用 しない タイミングをエージェントに伝えます。
  • ナレッジ ベースを最新の状態に保つ - ファイル検索を使用する場合は、ドキュメントを定期的に更新します。 古い情報は、間違った応答につながります。
  • 統合されたプレイグラウンドを使用して、ツールの動作を徹底的にテストします。 ツールの使用をトリガーし、正しい呼び出しを確認し、エラー シナリオをテストする必要があるメッセージを送信します。

エージェントは、複数のツールをまとめて使用して、複雑なシナリオを処理できます。 たとえば、調査エージェントは、Bing Web Search を使用して現在の情報を収集し、コード インタープリターを使用してデータを分析し、ファイル検索を使用して内部ドキュメントを参照できます。これらはすべて、ユーザーの要求に基づいて自動的に調整されます。

ツールを使用してエージェント機能を拡張すると、単純なチャット インターフェイスが強力な自動化システムに変換されます。 組み込みのツールとカスタム統合と MCP サーバーを組み合わせることで、エンタープライズ レベルのセキュリティと信頼性を維持しながら、データ、システム、サービスとシームレスに対話するエージェントを作成できます。

ツールと MCP サーバーの両方について詳しくは、後のモジュールを参照してください。