ツールの作成

ツールは外部機能へのインターフェースとして機能し、エージェントがシステムと対話したり、データを取得したり、計算を実行したり、内蔵の推論を超えるワークフローをトリガーしたりできるようにする。 エージェントのために新しいツールを作成したり、既存のツールを編集したりすることができます。

道具とは何か?

ツールは、エージェントが特定のアクションを完了するために使用する、モジュール化された呼び出し可能な関数である。 ツールは、エージェントがプランニングから実行に移れるようにする機能拡張と考えることができる。 例えば、エージェントがデータベースに問い合わせたり、電子メールを送信したり、レポートを生成したり、APIを呼び出したりすることを可能にする。

それぞれのツールは

  • スキーマによって定義される :入出力フォーマットが明確なので、エージェントが使いやすい。
  • 目的別 :電子メールの送信、データベースへの問い合わせ、レポートの作成など、特定のタスクのために設計されています。
  • 再利用可能 :エージェント間で共有できる。
  • 安全 :アクセス制御により、安全で監査可能な実行を保証します。

エージェントのツールの使い方

エージェントは、目標やタスクを完了するためにツールを使用します。 週次セールスレポートを作成し、送信するタスクを完了するために、エージェントはツールを使用する複数のステップのワークフローに従います:

  1. エージェントはデータアップロードツールを使って最新の販売データにアクセスする。
  2. その後、エージェントはレポート作成ツールを使って、データを構造化されたレポートに整形する。
  3. エージェントは、電子メール送信ツールを使用して、意図した受信者にレポートを配信する。

各ステップは自動化されており、ツールを使用することで、エージェントは手動で介入することなく自律的にタスクを完了することができる。

以下は、ツールを追加するさまざまな方法である:

エージェントによるワークフローの作成

エージェントのワークフローは、エージェントが一連のアクティビティを実行するために使用できる再利用可能な構造である。 これらのアクティビティには、ユーザーに入力を求めるプロンプト、カスタムコードの実行、エージェント的ワークフローの進行を指示するコントロールなどが含まれる。 エージェントは、各ステップを手動で処理する代わりに、エージェントワークフローを使用して、最初から最後までプロセス全体を管理することができます。 詳しくは、 エージェント型ワークフローの作成をご覧ください。

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

ツールは、カタログまたはローカルインスタンスからエージェントに直接追加できます:

catalog

カタログは、エージェントに追加することができるビルド済みのツールのコレクションです。 これらのツールは、余分な開発なしにエージェントの機能を拡張する。 カタログツールは、一貫性を提供し、セットアップを迅速化し、複数のワークフローで再利用できる。

ローカル・インスタンス

ローカル・インスタンスとは、インポートしたツール、カタログから追加したツール、CLIで作成してアップロードしたツールなど、すでに持っているツールを含むワークスペースのことです。 ローカルインスタンスのツールは、再度作成したりインポートしたりすることなく再利用できる。

エージェントに直接ツールを追加する方法については、 エージェントからツールを管理するを参照してください。

外部ツールのインポート

以下の方法で、外部ツールを watsonx Orchestrate にインポートすることもできます:

MCPサーバー

モデル・コンテキスト・プロトコル(MCP)サーバーは、エージェントがタスクを完了するために使用できる外部ツールを提供するサービスです。 MCPサーバーからツールをインポートすることで、手動でツールを作成することなく、エージェントの機能を拡張することができます。 詳細については、 MCPサーバーからのツールのインポートを参照してください。

OpenAPI

OpenAPI は、REST APIを定義するための標準フォーマットである。 利用可能なエンドポイント、リクエスト・メソッド、入力パラメータ、レスポンス・タイプについて説明している。 OpenAPI 仕様をインポートすることで、各操作を手動で定義することなく、既存のAPIから素早くツールを作成することができます。 詳しくは、 OpenAPI 仕様からのツールのインポートを参照してください。

エージェント開発キット(ADK)の使用

エージェント開発キット(ADK)は、カスタムツールを構築し、 watsonx Orchestrate にインポートするための柔軟なフレームワークを提供します。 watsonx Orchestrate に、 Python ツールやLangflows ツールを追加することができます。

  • Python ツールを使用します: Python 関数を使用するカスタムロジックを定義するには、 Python ツールを使用します。 これらのツールは、データ処理、API統合、ビジネスロジックの実行などのタスクに最適である。 ADK を使用すると、 Python スクリプトをツールとしてパッケージ化し、ワークスペースにアップロードして、エージェント間で再利用できるようにすることができます。
  • Langflowツール:Langflowは、AIコンポーネントをデータパイプラインに組み立て、会話の1ターン内で応答を生成する。 Langflowを使用してAIパイプラインを構築し、 watsonx Orchestrate にインポートすることで、エージェント間で再利用できるようになります。 langflowツールとADKの詳細については、 Langflowツールのオーサリングを参照してください。

ADKを使い始めるには、 Agent Development Kitを参照してください。

  • エージェント型ワークフロー

    エージェント型ワークフローを追加することで、特定のビジネス目的や目標を達成するために設計された、一連のリンクされたアクティビティとコントロールを定義することができる。

  • OpenAPI 用具

    OpenAPI ツールをシステムに追加し、エージェントが複雑な操作を完了するために使用することができる。

  • MCPサーバー

    MCPサーバーを使用して外部ツールをインポートし、MCP接続を管理します。