Azure AI エージェントにツールを追加する
Microsoft Agent Framework では、ツールを使用すると、AI エージェントは既存の API とサービスを使用して、単独では実行できなかったタスクを実行できます。 ツールは関数呼び出しを通じて機能し、AI が特定の関数を自動的に要求して使用できるようにします。 フレームワークは、要求をコードベース内の適切な関数にルーティングし、結果を大きな言語モデル (LLM) に返して、最終的な応答を生成できるようにします。
関数の自動呼び出しを有効にするには、ツールで動作方法を説明する詳細を提供する必要があります。 関数の入力、出力、目的は、AI が理解できる方法で記述する必要があります。それ以外の場合は、AI が関数を正しく呼び出すことはできません。
Microsoft Foundry Agent でツールを使用する方法
Microsoft Agent Framework では、すぐに使用できるカスタム関数ツールと組み込みツールの両方がサポートされています。
組み込みツール
Microsoft Foundry Agents には、すぐに使用できるいくつかの組み込みツールが付属しています。
- コード インタープリター - 計算、データ分析などの Python コードを実行します
- ファイル検索 - ドキュメントの検索と分析
- Web 検索 - インターネットから情報を取得します
これらのツールは自動的に使用でき、追加のセットアップは必要ありません。
カスタム関数ツール
Microsoft Foundry Agent 用のカスタム ツールを作成する場合は、いくつかの主要な概念を理解する必要があります。
関数の定義と注釈
適切な型注釈を持つ通常の Python 関数を定義して、ツールを作成します。 Pydantic の
AnnotatedとFieldを使用して、AI が関数の目的とそのパラメーターの使用方法を理解するのに役立つ詳細な説明を提供します。 注釈の説明が多いほど、AI は関数を呼び出すタイミングと方法を理解しやすくなります。エージェントへのツールの追加
toolsパラメーターを使用して、作成時にカスタム関数を ChatAgent に渡します。 1 つの関数または複数の関数の一覧を追加できます。 フレームワークによってこれらの関数が自動的に登録され、AI が呼び出し可能になります。会話を介したツールの呼び出し
ツールがエージェントに登録されたら、それらを手動で呼び出す必要はありません。 代わりに、エージェントに質問するか、ツールの機能を当然必要とするタスクを提供します。 AI は、会話コンテキストと指定したツールの説明に基づいて、ツールを呼び出すタイミングを自動的に決定します。
複数のツールとオーケストレーション
1 つのエージェントに複数のツールを追加でき、ユーザーの要求に基づいて、使用するツールが AI によって自動的に選択されます。 フレームワークはオーケストレーションを処理し、適切な関数を呼び出し、その結果を組み合わせて包括的な応答を提供します。
ツール開発のベスト プラクティス
- 明確な説明: AI が目的を理解するのに役立つ関数とパラメーターの明確で詳細な説明を記述する
- 型の注釈: 適切な Python 型ヒントを使用して、予想される入力と出力の種類を指定する
- エラー処理: 予期しない入力を適切に処理するための適切なエラー処理をツール関数に実装する
- 意味のあるデータを返す: AI が応答で効果的に使用できるデータを関数が返すようにする
- 関数に集中する: 1 つの関数で多くのことを実行するのではなく、特定のタスクを処理するように各ツールを設計する
これらの概念に従うことで、組み込みツールとカスタム ツールの両方を使用して Microsoft Foundry Agent を拡張し、API と対話して高度なタスクを実行できます。 このアプローチにより、AI はより強力になり、実際のアプリケーションを効率的に処理できるようになります。