IBM watsonx Orchestrate SDKとは?
watsonx OrchestrateはIBMの提供するAIエージェントの構築、運用のための基盤ですが、2026年5月に行われたIBMThinkというイベントにて、外部のエージェントを含めたAIエージェントのコントロール・プレーン機能が発表されました。これにより、watsonx Orchestrate上で構築したエージェント以外のエージェント、具体的にはLangGraphで実装してwatsonx Orchestrate上で動作するエージェントやA2A接続にて接続する外部のエージェントなどを管理、運用することが可能になりました。IBM watsonx Orchestrate SDKはこれらを実現するために重要なコンポーネントの一つで、watsonx Orchestrateの提供するメモリ機能やLLM機能をPythonで利用できるライブラリです。今後、SDKを用いて様々な機能が利用できるようになることが想定されます。
SDKを使ってみる
ADK上に記載されているSDKの説明によると、現時点では、以下の機能が提供されます。
- Chat models
- Embeddings
- Memory
- Context
今回はChat modelsとMemoryの機能を実際に利用して、何ができるのかを確認してみたいと思います。
Chat models
Chat modelsはChat Completionのインターフェースを提供します。LangChainのモデルと互換性があり、watsonx Orchestrate上のLLMを利用できます。watsonx Orchestrateのinstance_urlとapi_keyを引数として渡して初期化して利用します。
なお、SDKには、watsonx Orchestrateの外部で利用する際のモード(Runs-Everywhere Mode)とwatsonx Orchestrate上で利用するモード(Runs-On Mode)の2種類があり、後者の場合にはapi_keyなどを指定せず利用可能です。ここではRuns-Everywhere Modeでの例を記載します。
以下の様なコードでモデルにアクセス可能です。
from ibm_watsonx_orchestrate_sdk.langchain import ChatWxO
llm = ChatWxO.from_instance_credentials(
instance_url="https://xxxxxx",
api_key="your_key",
model="groq/openai/gpt-oss-120b",
temperature=0.7,
max_tokens=1000
)
response = llm.invoke("hello")
print(response.content)
Memory
Memoryはその名の通り、ユーザーに対して長期記憶の記憶領域を提供します。watsonx Orchestrateの長期記憶はユーザー単位で管理され、エージェントから利用することによる様々なパーソナライズされた挙動を可能にします。
Clientを初期化し、メモリへの追加や削除などが可能です。
from ibm_watsonx_orchestrate_sdk import Client
client = Client(
instance_url="https://xxxxxx",
api_key="your_key",
)
client.memory.add_messages(
messages=[
{
"role": "user",
"content": "年齢は24歳です。普段の朝食はパンです。"
}
]
)
GUI上からメモリの中身を確認すると以下のように設定されていました。

まとめ
この記事では、ibm-watsonx-orchestrate-sdkを用いて、watsonx Orchestrateの外部からwatsonx Orchestrateの機能を使用する方法について説明しました。
これまでもwatsonx Orchestrateは単にAIエージェントを構築するだけではなく、テストや監視、最適化などのADLC(Agent Development Lifecycle)をカバーする機能を提供してきましたが、今回の発表でwatsonx Orchestrateの外部で動作するエージェント対しても様々な機能を提供し、コントロール・プレーン上で一元管理、運用していく方向性がより強く打ち出されました。SDKはそれを実現するための重要なコンポーネントに位置付けられます。現時点では、シンプルな機能提供にとどまっていますが、今後様々な機能が提供されることが期待されます。
