Microsoft Foundry Agent Service のツールのベスト プラクティス

Microsoft Foundry Agent Service でエージェントを構築すると、ツールはエージェントが実行できる機能 (情報の取得、API の呼び出し、外部サービスへの接続) を拡張します。 この記事は、ツールを効果的に構成し、エージェントが呼び出すタイミングを制御し、データのセキュリティを維持するのに役立ちます。

ヒント

エージェントの手順で、各ツールの目的と使用方法を説明します。 例えば:

When you need information from my indexed documents, use File Search. When you need to call an API, use the OpenAPI tool. When a tool call fails or returns no results, explain what happened and ask a follow-up question.

前提 条件

  • Azure AI Developer ロールまたは同等のアクセス許可を使用して Foundry ポータルで Foundry プロジェクトにアクセスします。
  • 同じプロジェクトにデプロイされたモデル。
  • 使用する予定のツール用に構成された必要な接続(たとえば、Azure AI 検索、SharePoint、または Bing グラウンディング)。
  • 両方ともツールをサポートするモデルとプロジェクト領域。 リージョンとモデル別のツールのサポートを参照してください。

ツールの使用状況を構成して検証する

ツール呼び出しの信頼性を向上させる

ツールの呼び出しを制御する tool_choice

ツール呼び出しを最も確定的に制御するために、 tool_choice を使用します。

  • auto: モデルは、ツールを呼び出すかどうかを決定します。
  • required: モデルは 1 つ以上のツールを呼び出す必要があります。
  • none: モデルはツールを呼び出しません。

詳細については、Foundry プロジェクト REST リファレンスtool_choiceを参照してください。

効果的なツール命令を記述する

  • 手順を特定し、ツールのセットアップと一貫性を保ちます。
  • 各ツールの目的をモデルに伝えます。
  • 重複する複数のツールがある場合は、決定ルールを追加します (たとえば、"内部コンテンツの Web 検索の前にファイル検索を使用する")。

セキュリティで保護されたツールの使用

ツールは、モデルの外部でデータを送受信します。 次のプラクティスを使用して、セキュリティとプライバシーのリスクを軽減します。

  • ツールの出力を信頼できない入力として扱い、重要な値を検証してから操作します。
  • 予想されるスキーマに対して構造化された出力を検証し、既知のフィールドと操作のみを許可し、結果的なアクションの前にユーザーの承認を必要とします。
  • タスクを完了するために必要な情報のみを送信します。
  • プロンプトにキー、トークン、またはその他の資格情報を含めないでください。
  • トレースまたはアプリケーション ログでシークレットをログに記録しないようにします。
  • Microsoft サービス以外 (サード パーティ製 MCP サーバーなど) に接続する場合は、「Foundry でのツールボックスの作成と管理」のデータ処理に関する考慮事項を確認します。
  • MCP ツールの一元的なルーティングとポリシーの適用が必要な場合は、 AI Gateway を使用したツール ガバナンス (プレビュー) を参照してください。

トラブルシューティング

一般的な問題を解決するには、次のチェックを使用します。

  • エージェントはツールを呼び出しません
    • ツールがエージェントにアタッチされていることを確認します。
    • モデルでツールがサポートされたことを確認します。
    • 決定論的な動作が必要な場合は、 tool_choicerequired に設定します。
    • トレースを確認して、モデルがツール呼び出しを生成したかどうかを確認します。
  • ツール呼び出しでは、空または無関係な結果が返されます
    • ツールの説明とエージェントの指示を改善します。
    • 取得ツールの場合は、データが取り込まれており、検索可能であることを確認します。
  • ツール呼び出しが失敗する:
    • ツールの構成と認証を確認します。
    • MCP および OpenAPI ツールの場合は、エンドポイントに到達可能であり、予期される応答が返されていることを確認します。
  • テーブルにサポートが表示されている場合でも、Foundry は "ツールがサポートされていません" というエラーを返します。
    • ツールの可用性には、モデルとリージョンの 両方 からのサポートが必要です。 リージョンの 可用性テーブル、モデルのモデル サポート テーブル を確認します。 いずれかのテーブルに Noが表示されている場合、他のテーブルに Yesが表示されている場合でも、ツールを実行できません。
    • ターゲットとするプロジェクトとリージョンにモデルが実際にデプロイされていることを確認します。 一般的にツールをサポートするモデルは、すべてのリージョンにデプロイされない場合があります。
    • ツールをサポートする別のリージョンまたは別のモデル デプロイを試してください。 たとえば、コード インタープリターは、使用するモデルに関係なく、コード インタープリターの no ( southcentralusspaincentralなど) を示すリージョンでは実行されません。

FAQ

ツールが呼び出されたかどうかを検証するにはどうすればよいですか?

トレースを確認して、エージェントがツールを呼び出したかどうかを確認し、ツールの入力と出力を検査します。 セットアップ ガイダンスについては、「 Foundry エージェントのトレースを設定する」を参照してください。

ツールの使用をより信頼性の高いものにするにはどうすればよいですか?

ツールの明確な指示から始めます。 決定的なツール呼び出しが必要な場合は、 tool_choiceを使用します。 詳細については、「tool_choiceを使用したコントロール ツールの呼び出し」を参照してください。

ツール管理

情報取得および検索ツール

データと統合ツール

自動化と生成ツール