この記事では、Mosaic AI Agent Framework を使用した AI エージェント ツールの構築の概要を提供します。
AI エージェント ツールを使用すると、エージェントは、構造化データや非構造化データの取得やカスタム コードの実行など、言語生成以外のタスクを実行できます。
Unity カタログ関数ツールとエージェントコードツール
Agent Framework でツールを作成するには、主に 2 つの方法があります。ツールを Unity カタログ関数として定義するか、エージェントのコードで直接定義します。
エージェントは、Unity カタログ関数ツールまたはエージェント コード ツールの任意の組み合わせを使用できます。 どちらの種類のツールも、ネイティブ Python を使用するか、LangGraph や OpenAI SDK などの Gen AI オーサリング ライブラリを使用して作成されたエージェントと連携します。
Unity カタログ関数ツール | エージェント コード ツール |
---|---|
|
|
エージェント ツールを作成する
エージェント ツールを作成する方法については、「 Unity Catalog 関数を使用してカスタム AI エージェント ツールを作成する」を参照してください。
エージェント ツールの一般的な種類は次のとおりです。
- コード インタープリター ツール: エージェントが任意の Python コードを実行できるようにします。
- 構造化データ取得ツール: SQL テーブルなどの構造化データ ソースに対してクエリを実行します。
- 非構造化データ取得ツール: ドキュメント コレクションなどの非構造化データ ソースにクエリを実行して、取得拡張生成を実行します。
- 外部接続ツール: 外部サービスと API に接続して、データをフェッチしたり、タスクを実行したりします。
エージェントに Unity Catalog ツールを追加する
エージェントのコードで直接定義されるエージェント コード ツールとは異なり、Unity カタログ ツールをエージェントに明示的に追加して使用できるようにする必要があります。
Databricks では、 UCFunctionToolkit
を使用して、Unity カタログ ツールを LangChain、OpenAI、またはその他の SDK などのエージェント作成フレームワークと統合することをお勧めします。 このツールキットは、さまざまなフレームワーク間の一貫性を確保し、役に立つ機能を自動化します。 「Unity カタログ関数を使用してカスタム AI エージェント ツールを作成する」を参照してください。
AI Playground を使用すると、エージェントに Unity カタログ ツールをすばやく追加し、それらの動作をデプロイする前にプロトタイプを作成できます。 AI Playground のプロトタイプ ツール呼び出しエージェント参照してください。
Unity カタログ ツールの管理
Databricks 関数クライアントを使用して、Unity カタログ ツールを管理します。 Databricks 関数クライアントは、オープン ソースの Unity カタログ関数クライアントに基づいていますが、Databricks 固有のいくつかの機能強化を提供します。
Unity カタログ関数の管理については、 Unity カタログのドキュメント - 関数クライアントを参照してください。
モデル コンテキスト プロトコル: ツールへのアクセスを標準化する
モデル コンテキスト プロトコル (MCP) は、AI エージェントにツール、データ、およびリソースに接続するためのユニバーサルな方法を提供するオープン標準です。 MCP は、エージェントと対話する必要がある外部システム間のブリッジとして機能します。
Databricks には、次の MCP オプションが用意されています。
マネージド MCP サーバー: Databricks には、エージェントが Unity カタログ内のデータとアクセス ツールに対してクエリを実行できる、すぐに使用できるサーバーがあります。
カスタム MCP サーバー: 独自の MCP サーバーを安全にホストするか、サードパーティの MCP サーバーを実行します。
Databricks のモデル コンテキスト プロトコル (MCP) を参照してください。