メインコンテンツまでスキップ

AIエージェントツール

この記事では、Mosaic AI エージェント フレームワークを使用した AI エージェント ツールの構築の概要について説明します。

AIエージェントツールを使用すると、エージェントは、構造化データや非構造化データの取得やカスタムコードの実行など、言語生成以外のタスクを実行できます。

AI エージェントの概要については、「 複合 AI システムと AI エージェントとは」を参照してください。

Unity Catalog 関数ツールとエージェントコードツール

Mosaic AI Agent Framework を使用してツールを作成するには、次の方法を任意に組み合わせて使用できます。

メソッド

説明

Unity Catalog の関数

  • 組み込みセキュリティおよびコンプライアンス機能を備えた Unity Catalog で定義および管理
  • 他の Unity Catalog オブジェクトと同様に管理できるツールの中央レジストリを作成します
  • 見つけやすく、再利用しやすくなる
  • 大規模なデータセットに変換と集計を適用するのに最適

エージェント コード ツール

  • AIエージェントのコードで定義
  • REST APIsの呼び出し、任意のコードの使用、または低レイテンシツールの実行に役立ちます
  • 組み込みのガバナンスと関数の発見可能性が不足している

どちらの方法も、カスタムPythonエージェントまたはLangGraphなどのエージェントオーサリングライブラリと互換性があります。

AI エージェント ツールの作成

エージェントがカスタムPythonコードを実行できるようにするAIエージェントツールを作成する方法を学びます。 Unity Catalog 関数を使用したカスタム AI エージェント ツールの作成を参照してください。

エージェント ツールの例

エージェントツールの例については、次の記事を参照してください。

Unity Catalog ツールをエージェントに追加する

エージェントのコードで定義されるエージェントコードツールとは異なり、Unity Catalog ツールは、エージェントに明示的に追加して使用できるようにする必要があります。

Databricks では、 UCFunctionToolkit を使用して Unity Catalog ツールをエージェントオーサリングフレームワークや SDK と統合することをお勧めします。 Unity Catalog 関数を使用したカスタム AI エージェント ツールの作成を参照してください。

また、AI Playground を使用して、Unity Catalog ツールをエージェントにすばやく追加し、動作のプロトタイプを作成することもできます。 AI Playground でのツール呼び出しエージェントのプロトタイピングを参照してください。

明確なドキュメントでツールコールを改善

十分に文書化されたツールは、AIエージェントがツールを効果的に使用するタイミングと方法を理解するのに役立ちます。 次のベスト プラクティスに従って、ツール パラメーターと戻り値を文書化します。

  • Unity Catalog関数の場合は、COMMENT を使用してツールの機能とパラメーターを記述します。
  • 期待される入力と出力を明確に定義します。
  • ユーザビリティを向上させるために、意味のある説明を提供します。

例: 効果的なツールの文書化

次の例は、構造化テーブルに対してクエリを実行する Unity Catalog 関数ツールの有効な COMMENT 文字列を示しています。

SQL
CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
customer_name STRING COMMENT 'Name of the customer whose info to look up.'
)
RETURNS STRING
COMMENT 'Returns metadata about a specific customer including their email and ID.'
RETURN SELECT CONCAT(
'Customer ID: ', customer_id, ', ',
'Customer Email: ', customer_email
)
FROM main.default.customer_data
WHERE customer_name = customer_name
LIMIT 1;

例: 効果のないツールの文書化

次の例では、重要な詳細が欠落しているため、AI エージェントがツールを効果的に使用するのが難しくなっています。

SQL
CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
customer_name STRING COMMENT 'Name of the customer.'
)
RETURNS STRING
COMMENT 'Returns info about a customer.'
RETURN SELECT CONCAT(
'Customer ID: ', customer_id, ', ',
'Customer Email: ', customer_email
)
FROM main.default.customer_data
WHERE customer_name = customer_name
LIMIT 1;