ツール

ツールは、エージェントを外部システムまたはエージェントに提供されるインライン コードに接続するために使用されます。これにより、エージェントは他のシステムとやり取りして、情報を取得、更新、フォーマット、分析できるようになります。このページの各セクションでは、サポートされているさまざまな種類のツールについて説明します。

ツールを作成する

ツールを作成するには:

  1. エージェント ビルダーの右側にあるツールアイコンをクリックします。
  2. ツールタイプを選択します(ツールタイプの説明については、このドキュメントをご覧ください)。
  3. ツールに必要な情報を入力します。
  4. ツール名にはスネークケースを使用します。
  5. ツールの説明はエージェント モデルに提供されます。

エージェントでツールを使用する

ツールを作成したら、特定のエージェントにツールを使用するように指示する必要があります。

  1. エージェントにカーソルを合わせます。
  2. [ツールを追加] をクリックします。
  3. ツールを選択します。
  4. エージェントの手順で、ツールの使用方法を説明します。

ツールをテストする

エージェントでツールを使用する前に、コンソールでツールをテストできます。

  1. ツールパネルを開きます。
  2. パネルの上部にある [テストツール] ボタンをクリックします。
  3. ツールスキーマで定義されているツールの入力を指定します。たとえば、スキーマが JSON で、place プロパティと city プロパティがある場合、次の入力を使用できます。

    {
      "place": "automobile repair center",
      "city": "austin texas"
    }
    
  4. [送信] をクリックします。 ツールが入力で実行され、出力が入力されます。

ツールを直接テストした後、[エージェントをプレビュー] を使用してツールをテストすることもできます。

使用可能なツール

次のツールを使用できます。

ツール 説明
A2A プロトコル A2A メッセージング標準を使用して、エージェントを外部エージェントに接続します。(プレビュー)
ツールとしてのエージェント 別のエージェントに引き継ぐことなく、エージェントの機能を再利用します。
クライアント関数ツール エージェントではなく、クライアントサイドで実行されるコードツール。
Confluence ツール エージェントを Confluence インスタンスに接続します。
データストア ツール ウェブサイトのコンテンツとアップロードされたデータに基づいて、AI 生成によるエージェントの回答を提供します。
ファイル検索ツール エージェントにファイルをアップロードするか、RAG ナレッジベースを提供します。
Google マップのツール エージェントを Google マップに接続します。(プレビュー)
Google 検索ツール Google 検索によるグラウンディングの機能をエージェントに接続します。
Integration Connector ツール 構成済みの接続を利用するツールを作成します。
Jira ツール エージェントを Jira インスタンスに接続します。
MCP ツール MCP サーバーに接続します。
OpenAPI ツール OpenAPI スキーマを使用して外部 API に接続する。
Python コードツール エージェントのツールとして Python コードを提供します。
Salesforce ツール エージェントを Salesforce インスタンスに接続します。
Service Now ツール エージェントを Service Now インスタンスに接続します。
SharePoint ツール エージェントを SharePoint インスタンスに接続します。
システム ツール エージェントが一般的なタスクを実行するために使用できる組み込みツール。
ウィジェット ツール リッチなユーザー インタラクションを作成するための柔軟なウィジェット ツール。

実行タイプ

ツールは、非同期(ノンブロッキング)と同期(ブロッキング)の 2 種類の実行タイプをサポートしています。適切な実行タイプを選択するかどうかは、ツールのレイテンシとエージェントの望ましいエクスペリエンスによって異なります。この設定は、ツール設定の [詳細設定] タブで確認できます。

同期実行タイプ

このタイプは、ツールのレスポンスが利用可能になるまで、ツールの実行でエージェントの回答の生成をブロックする必要がある場合に使用します。エージェントは、ツール応答が利用可能になるまで応答を生成しません。これらのツールは、エージェントの全体的な応答レイテンシを低く保つために、レイテンシが低い(5 秒未満)ことが理想的です。

非同期実行タイプ

この型は、ツールのノンブロッキング実行に使用します。ツール呼び出しがトリガーされると、エージェントは「保留中」のレスポンスで処理を進めます。ツールからのレスポンスが取得されている間、エージェントはユーザーとの会話を続けることができます。レスポンスが利用可能になると、次回エージェント レスポンスが生成されるときにコンテキストに追加されます。応答レイテンシが 5 ~ 60 秒のツールに最適です。

非同期実行タイプの会話フロー:

  1. エージェントが関数呼び出しをトリガーする: エージェントが関数呼び出しをトリガーし、レスポンスを待機しています。たとえば、注文ステータス ツールを呼び出します。
  2. ツールのレスポンスが保留中: ツールは、"status": "pending" などの保留中のステータスを含む function_response をすぐに返します。
  3. エージェントが保留中のツールを処理する: エージェントに、保留中の回答を必要に応じて処理するよう指示します。指示の例: 「注文ステータスを取得している間にお客様に他に質問がないか尋ねてください。」エージェントの回答例: 「ご注文のステータスを確認している間、他に何かご不明な点はございませんか?」
  4. エージェントが最終回答を処理する: エージェントが実際のツール応答を利用できます。これはコンテキスト タグとして含まれます。次に例を示します。

    <context>function [<tool_name>] completed with response <response JSON></context>
    

ベスト プラクティス

ツールには、次のベスト プラクティスを使用します。

  • 実行するタスクに関連する、意味的に意味のあるツール名を常に記述します。
  • ツールと、そのツールで実行できるタスクまたはタスク群について、常に高品質な説明を提供します。
  • 非同期ツールについては、次のシナリオの詳細な手順を含めます。
    • は非同期ツールであり、最初は保留中のレスポンスを返すことをエージェントに伝えます。
    • ツールから「保留中」が返された場合にエージェントがどのように対応すべきかの手順を含めます。
    • 実際のツールのレスポンスが利用可能になったときにエージェントがどのように応答すべきかの手順を含めます。
    • ツールがエラーを返した場合にエージェントがどのように対応すべきかの手順を含めます。