IBM Bobで利用可能なwatsonx OrchestrateのSkillがリリースされました!
3月末に、watsonx OrchestrateのADK2.7.0がリリースされましたが、その中に各種IDEで利用可能なwatsonx Orchestrateのための3つのSkillが含まれていました。
-
sop-builder
ワークフロー図、Langflow JSON、n8n JSON、BPMNモデル、またはワークフロー記述から標準業務手順書(SOP: Standard Operating Procedure)を作成するための専門的な手順を提供します。ビジネス上の課題、データ要件、およびビジネスロジックに焦点を当て、平易な言葉で解説します。 -
wxo-builder
SOPや簡単なプロンプトからwatsonx Orchestrateネイティブソリューションを生成するための手順を提供します。ビジネス要件に基づいて、エージェント、フロー、ツール、ナレッジベースを実装します。 -
customercare-mcp-builder
LLMのバイパスや、ウィジェットの表示などを利用可能なカスタマー・ケア・エージェント用MCPサーバーを作成する際に利用可能なSkill。
sop-builderとwxo-builderを組み合わせることで、BPMNやLangflowなどの仕様に従って定義されたワークフローをwatsonx Orchestrate上で動作するフローに変換することが可能になりました。
この記事では、これらのSkillとIBM Bobを用いて、Difyのサンプルとして提供される投資分析レポート・コパイロットをwatsonx Orchestrate上で動作するエージェントとして実装し、動作させるまでの流れについて説明します。
Difyからのエクスポート
まず、元ネタとなるDifyのエージェントを作成し、DSLファイルとしてダウンロードします。今回は、テンプレートとして提供される投資分析レポート コパイロットをベースにしてみました。

このエージェントは、いくつかのyahoo financeのAPIとLLMを用いて投資分析レポートを提供してくれるものです。試しに「IBMについて分析して」と入力すると、IBMの投資分析レポートを生成してくれました。

作成した投資分析レポート コパイロットをDSLファイルとしてエクスポートします。
IBM BobでのSkillの構成
Skillは開発エージェントに一貫した処理フローを指示するための仕組みです。IBM Bobにおいては、以下のようなフォルダ構成でSkillを構成することが可能です。

詳細については、Bobの公式情報を参照してください。watsonx OrchestrateのSkillはこちらに公開されていますので、リポジトリをクローンしてからコピーするか、ダウンロードしてフォルダに配置します。
watsonx OrchestrateのMCPサーバーに、SkillをダウンロードできるToolが含まれているため、MCPサーバー構成後に「Skillをダウンロードして」と依頼して構成することもできます。
sop-builderによる標準業務手順の作成
ダウンロードしたDSLファイルをフォルダに配置し、「DifyのDSLからSOPを生成して!」とBobのチャット欄に入力してみます。すると以下のようにSOPを作成してくれました。

生成されたSOPは1100行を超えるかなり詳細なものになりました。

mermaid形式でフロー図なども作ってくれます。

利用されているプロンプトも分析してくれます。

wxo-builderによるToolとAgentの作成
次にSOPからエージェントを作成してもらいます。

以下のようなファイルを生成してくれました。
-
investment_analysis_flow.py
pythonベースのAgenticWorkflow実装 -
yahoo_finance_tools.py
yfinanceのAPIをRESTで呼び出すToolの実装 -
investment_analysis.yaml
投資分析エージェントの定義 -
import-all.sh
AgentおよびToolインポートのためのスクリプト -
Readme.md
エージェントの説明文書。以下の様なアーキテクチャ・ダイアグラムも生成してくれます。
## 動作確認
作成されたスクリプトを実行することでToolとAgentを問題無く導入することができました。チャット欄から「IBMを分析して」と依頼したところ、期待通り動作してレポートが表示されました。

今回、DifyではGeminiを使用して動作確認しましたが、watsonx Orchestrate側ではデフォルトで利用可能なGPT-OSS-120bを使用したため、最終的な出力には少し差がありました。watsonx OrchestrateではGeminiを外部LLMとして登録して利用することも可能なため、同等の出力が必要な場合は、モデルなども含めて条件を合わせる必要があります。
まとめ
この記事では新しくリリースされた、watsonx OrchestrateのSkillを用いて、Difyで作成したエージェントをwatsonx Orchestrate上で動作するエージェントに変換する手順について説明しました。
今回の検証を通じて、DifyのDSLから生成された詳細なSOP(標準業務手順書)をベースに、watsonx Orchestrateネイティブなツールやエージェント定義を自動生成できることが確認できました。
特に、Pythonベースのワークフロー実装やRESTツールの自動作成までBobがサポートしてくれる点は、開発工数の削減において大きなメリットとなります。仕様の可視化と実装の自動化をスムーズに実現できるため、非常に有用なアプローチであることが確認できました。
