本文へスキップ
シェア
Xでシェアする Facebookでシェアする
ブログ

【てくさぽBLOG】IBM Bobを使ってwatsonx OrchestrateのAIエージェントを開発してみた

こんにちは。てくさぽBLOGメンバーの高村です。

3月24日にIBM Bobの提供が開始されて以来、BobのEnterprise Planの利用開始方法や画面の見え方を中心にご紹介してきました。
今回は、IBM Bobとwatsonx Orchestrateを連携して行うAIエージェント開発について、設定から開発、さらにwatsonx Orchestrate環境へのインポートまでの流れや操作感をご紹介します!

はじめに

watsonx OrchestrateでのAIエージェント開発については、GUIからローコードで開発する方法と、開発者向けにコードで開発する方法があることをご紹介しました。
ADKを利用したコード開発については、「【てくさぽBLOG】IBM watsonx OrchestrateのADKを使ってみた」の記事でご紹介しています。

要件によってはローコード開発だけでは対応が難しく、コード開発が必要になる場合があります。コード開発ではPythonやOpenAPI定義書の作成スキルが求められるため、開発未経験の方にとってはややハードルが高いかもしれません。
そうした場面で活用できるのがIBM Bobです。Bobに自然言語で指示を出すことで、エージェントの定義ファイルを生成し、さらにwatsonx OrchestrateのSaaS環境へインポートすることが可能です。

IBM Bobとwatsonx Orchestrateの連携

IBM Bobとwatsonx Orchestrateを連携することで、AIエージェントを開発できます。
連携にあたっては、watsonx Orchestrateが提供する2つのMCPサーバをBobに設定します。
1つ目は、watsonx Orchestrate環境を操作するためのツールを提供する 「watsonx-orchestrate-adk」 というMCPサーバです。
2つ目は、watsonx Orchestrateの公式ドキュメントを検索するための「watsonx-orchestrate-adk-docs」というMCPサーバです。
このMCPサーバを活用することで、公式ドキュメントを参照しながら、ツールやエージェントの定義ファイルを開発できます。

今回は下記の図のとおり、Bobに2つのMCPサーバを設定し、AIエージェントを開発、SaaS環境のwatsonx OrchestrateへAIエージェントをインポートを行います。尚、設定方法はIBM様のQiita記事を参考にさせていただきました。

IBM BobからAIエージェントを開発

Bobへwatsonx OrchestrateのMCPサーバを設定

IBM Bobにwatsonx OrchestrateのMCPサーバを設定します。尚、公式マニュアルはこちらになりますのでご参照ください。
前提にADKがインストールされていることを確認します。インストールされていない方はIBM watsonx Orchestrate ADKのマニュアルをご参照ください。PCにインストールしたBobを起動します。ターミナルを開き、下記コマンドでADKがインストールされていることを確認します。画面は出力結果の例となります。

>orchestrate –version

作業ディレクトリ内の.bobディレクトリ配下にMCP設定ファイルmcp.jsonファイルを作成します。
以下が設定ファイルの例になります。

{
    ”mcpServers”: {
        ”wxo-docs”: {
           ”type”: “streamable-http”,
           ”url”: “https://developer.watson-orchestrate.ibm.com/mcp”,
           ”alwaysAllow”: [
              ”SearchIbmWatsonxOrchestrateAdk”
           ]
        },
        ”orchestrate-adk”: {
           ”command”: “uvx”,
           ”args”: [
             ”ibm-watsonx-orchestrate-mcp-server”
           ],
           ”env”: {
             ”WXO_MCP_WORKING_DIRECTORY”:
“任意の作業ディレクトリ”
           },
           ”alwaysAllow”: [
             ”list_agents”,
             ”export_agent”,
             ”get_tool_template”,
             ”list_tools”,
             ”list_toolkits”,
             ”list_connections”,
             ”list_models”,
             ”check_version”
           ]
        }
    }
}

設定後、Bobを再起動します。BobのSetting画面を開き、MCPタブをクリックします。
下記画面の様に2つMCPサーバが設定され、緑のマークがつき、接続されていることを確認します。

右側のorchestrate-adkをクリックします。
このMCPサーバが提供するwatsonx Orchestrate環境を操作するツールの一覧が表示されます。

もし2つのMCPサーバが接続されない場合は、Bobに確認すると修正をサポートしてくれます。
私の場合は、watsonx-orchestrate-adkのMCPサーバでエラーが出力されていたためBobに確認したところ、MCP設定ファイル内のバージョン表記を修正してくれました。

以上でMCPサーバの設定は完了です。

BobからAIエージェントのコード開発

早速、Bobを使ってAIエージェントを開発してみます。今回は無料で公開されているREST Countries APIを利用して、国情報を取得するエージェントを作成します。REST Countries APIのサイトはこちらです。

以下の図が今回行った内容です。まずBobのチャット欄に「APIをもとに国情報を取得するAIエージェントを作成して」と入力します。するとBobが指定したAPIからエージェントで利用するツール定義ファイルとエージェント定義ファイルを生成してくれます。その後、BobからSaaS環境のwatsonx Orchestrateへインポートを行います。

それでは、Bobのチャット欄に「以下のURL先のAPIを使用して国情報を取得するwatsonx OrchestrateのAIエージェントを開発したい。」と入力します。Bobには曖昧な指示を具体的に補完してくれるプロンプト強化機能があり、使用してみたいと思います。
「追加コンテキストでプロンプトを強化」をクリックします。

以下画面の通り、プロンプトを強化してくれました。内容を確認し、Planモードで実行します。

Bobがwxo-docsのMCPサーバを使用してAIエージェントが使用するツールの定義ファイルとエージェントの定義ファイルを生成します。

下記画面がBobが生成したがエージェントが使用するツールの定義ファイル(rest_countries_tools.py)です。言語や通貨、隣接する国などを取得する8つのツールが含まれています。

下記画面がエージェントの定義ファイル(rest_countries_agent.yaml)です。

ツール定義ファイル、エージェント定義ファイルの他にREADME.mdや依存パッケージが記述されたrequirement.txtも生成してくれます。
下記はREADME.mdファイルです。ファイルの依存関係やセットアップ方法が記載されているため、仕様書/設計書にも活用ができますね。

以上でBobからのAIエージェントコード開発は完了です。

エージェント定義ファイルをwatsonx Orchestrateへインポート

次にBobからツール定義ファイルとエージェントの定義ファイルをSaaS環境のwatsonx Orchestrateへインポートします。
事前にターミナルから下記コマンドでwatsonx Orchestrate環境との接続をアクティブにします。

orchestrate env add -n .venv -u https://“watsonx OrchestrateのインスタンスURLを入力” –type ibm_iam –activate

Bobへ「ツール定義ファイルとエージェントの定義ファイルをインポートしたい」と入力します。
Bobはorchestrate-adkのMCPサーバを使用してツールのインポートを実行します。

同様にエージェントの定義ファイルをMCPサーバを使用してインポートします。

エージェントがインポートされたかMCPサーバを使用して確認します。
しばらくして「完璧です!」と表示され、エージェントがインポートされたことが確認できました。

watsonx OrchestrateでAIエージェントの動作確認

それではSaaS環境のwatsonx Orchestrateにログインし、AIエージェントの動作確認をします。

watsonx Orchestrateにログインし、Build agents and toolsを開きます。
Bobからインポートした「世界の国情報アシスタント」エージェントがインポートされていました。

エージェントの内容を確認します。
ウェルカム・メッセージやクイック・スタート・プロンプトがエージェント定義ファイル通りに設定されています。

ツールセット欄にスクロールすると、インポートした8つのツールがエージェントに設定されています。

プレビューからエージェントの動きを確認します。
「ドルを使用する国を教えて」と入力します。するとエージェントがツール(search_countries_by_currency)を使用して米ドルを使用する国の一覧を回答してくれました。

デバッグモードでエージェントの動きを確認します。
プレビューのメニューバーからデバッグ・セッションをクリックします。デバッグモードで実行中となるので、エージェントに同様の質問をしてみます。

回答が生成されるのでスクロールし、下のDebugボタンをクリックします。

デバッグの画面が表示されます。
ここではユーザの問い合わせからエージェントがどのツールを使用したのかステップを確認することができます。画面の通り、エージェントはユーザの問い合わせに合わせて8つのツールから適切なツールを選択して回答していることがわかります。

エージェントの開発から環境へのインポート、動作確認は以上です。

今回は簡単なサンプルエージェントの開発ではありますが、開発未経験者であれば、コード作成に数日かかってもおかしくない作業を、Bobを使うことで開発からインポートまで約1時間程度で完了できました。ここまで短時間で進められたのは正直驚きです。

なお、MCPの設定からエージェントの開発、環境へのインポートまでで、Bobcoinの消費は約15Bobcoin程度でした。ファイルの修正やエラー対応が発生する場合は、さらに消費量が増える可能性があります。

さいごに

いかがでしたでしょうか。Bobにwatsonx OrchestrateのMCPサーバを設定し、自然言語で作りたいエージェントの内容を伝えるだけで、エージェントの定義ファイルを生成、watsonx Orchestrate環境へのインポートまで行ってくれます。
私は開発業務の経験がないため、Bobが登場する前はPythonやOpenAPI定義書の作成について調べたり、動作確認をしたりするのに多くの時間がかかっていました。社内のAIも使用していましたが、watsonx Orchestrate独自のルールに従った定義ファイルを作成する必要があり、どうしても時間を要していました。その点、Bobは自然言語で指示するだけで、エージェント開発に必要な定義ファイルを作成してくれます。実際に、わずか1時間ほどで作成できたため、正直かなり驚きました。これからのAIエージェント開発において必須のツールになるのではないかと感じています。
今回は動作確認を兼ねて、簡単なAIエージェント開発をご紹介しましたが、既存システムと連携するエージェントの開発においても、Bobは認証情報の作成支援をしてくれます。認証周りやツール内のファイル定義については、一度の生成ではうまく動かない場合もあり、修正が必要になることもありますが、それでもAIエージェント開発を非常に効率的に進められると考えています。

最近では、Bobで利用可能なwatsonx Orchestrateのskillもリリースされたとのことで、こちらも試してみたいと思います。
今後もBobとwatsonx Orchestrateの進化が楽しみです!

お問い合わせ

この記事に関するご質問は以下の宛先までご連絡ください。
エヌアイシー・パートナーズ株式会社
技術企画本部

E-mail:nicp_support@NIandC.co.jp

Contact Us

お客様の業務課題に応じ、最適なソリューションの組み合わせをご提案いたします。
各種お問い合わせや案件のご相談も、こちらより承ります。