AIエージェント の発展にともない、一部の企業ではこれらの自律型エージェントの広範な導入に対する躊躇が報告されています。1 いくつかの課題には、ガバナンス、倫理、人とAIのコラボレーション、デプロイメント、および拡張性があります。ただし、信頼できるエージェント型AIの構築は複雑である必要はありません。IBM watsonx Orchestrateを使用すれば、これらの懸念をすべて1箇所で軽減できます。このチュートリアルでは、Langflowとwatsonx Orchestrateを使用して、信頼性が高くスケーラブルなエンタープライズ対応のエージェントを構築する方法を学びます。
Langflowは、AIエージェント やその他のAIアプリケーションを構築するための、Pythonベースのオープンソース・フレームワークです。Langflowは元々、その親フレームワークであるLangChainをベースに構築されました。同じファミリー内の別のプラットフォームであるLangGraphも、グラフベース of アーキテクチャーを使用してエージェント型システムを構築するために使用されます。Langflowの際立った特徴は、使いやすいドラッグ・アンド・ドロップのインターフェースであり、ユーザーはエージェント・コンポーネントを接続してパーソナライズされたワークフローを設計したり、事前構築されたテンプレートから開始したりできます。このローコードまたはノーコードのアプローチに代わる方法として、開発者はカスタム・コンポーネントを構築し、Langflow APIを使用して、ステップ・バイ・ステップのエージェント・フローを既存のアプリケーション・コードに組み込むことができます。このLangflowチュートリアルでは、以下を行うことによってエージェントを構築およびデプロイする方法について説明します。
どちらのアプローチも、このチュートリアルのセクションに対応しています。注:このチュートリアルには、GitHubでもアクセスできます。
始めましょう。
このチュートリアルには以下が必要です。
これらの要件が満たされていない場合、このチュートリアルを再現することはできませんのでご注意ください。
端末で以下のコマンドを実行します。IBMidを使用してIBM Cloudアカウントにログインするよう求められます。複数のアカウントをお持ちの場合は、いずれか1つを選択する必要があります。
注: 認証情報が無効な場合。フェデレーテッド・ユーザーである可能性があります。企業またはエンタープライズのシングル・サインオンIDを使用するには、
同様の出力が表示されれば、サインオンは成功しています。
アウトプット:
注: リージョン が正しくないことに気付いた場合は、
クラウド・リソースを表示するには、
アウトプット:
次に、
この結果は、出力が同様になるはずです。
アウトプット:
IBM Cloud Code Engineを使用すれば、サーバーやインフラストラクチャーを管理することなく、ほぼすべてのコンテナー化されたワークロードを実行できます。このプラットフォームは、マイクロサービスやWebアプリからバッチ・ジョブやイベント駆動型機能まで、あらゆるものをサポートします。また、ソースコードからの組み込みのイメージ作成機能も提供します。すべてのワークロードが同じKubernetes環境を共有するため、自然に統合されます。Code Engineはインフラストラクチャーを意識させないように設計されているため、アプリケーションの構築に集中し続けることができます。Code Engine CLIのインストールが次のステップです。端末で以下のコマンドを実行します。
アウトプット:
素晴らしい。次に、Code Engine内にあるプロジェクトをターゲット設定しましょう。まず、
アウトプット:
Code Engineプロジェクトは、アプリケーション、ジョブ、ビルドといったエンティティーをグループ化します。これはリソース管理や、それらエンティティーへのアクセス制御を行う単位として機能します。アクティブなCode Engineプロジェクトがない場合は、、
特定のプロジェクトをターゲットにするには、
アウトプット:
注:ここでエラーが発生した場合は、
Code Engine CLIを使用しながらLangflowを使用するには、以下のコマンドを実行します。
このコマンドの実行には数分かかる場合があります。妨害せずに実行させておいてください。
アウトプット:
Langflowのセットアップ・コマンドが実行されると、ローカル・マシンおよびSaaSホスト型ソリューションとインターフェースをとるための環境を追加できます。
新しい端末ウィンドウで、選択したディレクトリー内にある仮想環境を有効化します。
以下のコマンドを使用して仮想環境を有効化し、別の環境名を使用した場合は、
MacOS/Linux:
Windows:
次に、お好みのブラウザーでIBM Cloudのリソース・リストにアクセスし、AI/機械学習のドロップダウンを展開して、アクティブなwxOリソースを選択します。名前の例としては「Watson Orchestrate-itz」のようになります。次に、認証情報ウィンドウにあるURLをコピーします。すぐに必要になるため、ブラウザーでこのページを開いたままにしてください。次のコマンドで、
アウトプット:
wxO APIキーの入力を求められたら、ブラウザーで開いているリソース・ページに戻ります。コピーしたURLの上にあるAPIキーは入力しないでください。代わりに、「Launch watsonx Orchestrate」ボタンをクリックします。次に、画面の右上隅にあるご自身のイニシャル入りの円形アイコンをクリックし、「設定」を開きます。「APIの詳細」タブを選択し、「APIキーの生成」ボタンをクリックします。次に、APIキーの任意の名前と説明を入力し、「漏洩時のアクション」セクションで「漏洩したキーを無効化」を選択します。最も重要なこととして、「セッション管理」セクションで「はい」を選択してCLIログインのセッション管理を有効にし、「作成」をクリックします。APIキーが表示されるはずです。wxO APIキーの入力要求を満たすために、先ほど使用していた端末にキーをコピーして貼り付けてください。
アウトプット:
Langflowがアクティブになりました。
一定のタイムアウト期間が経過した後にLangflowアプリケーションを削除しない、安定したCode Engine環境を確立するには、ブラウザーをもう一度開きます。IBM Cloudのコンテナー概要にアクセスします。最も最近作成されたものとして、お客様のCode Engineプロジェクトが表示されるはずです。プロジェクトを開きます。次に、Langflowアプリケーションを開きます。「構成」タブで、「リソースとスケーリング」コンポーネントを開きます。ここで行う必要がある唯一の変更は、インスタンスの最小数を0から1に増やすことです。最後に、「デプロイ」ボタンをクリックして、この構成リビジョンを適用します。
このステップを完了したら、「アプリケーションのテスト」ボタンをクリックし、「アプリケーションURL」ハイパーリンクをクリックします。このアクションにより、LangflowのIBM Cloudインスタンスが開きます。
Langflowフローを構築する方法は多数あります。事前構築されたテンプレートを使用するか、スクラッチから独自に作成します。このチュートリアルでは、後者について説明します。開始するには、「+ 空のフロー」をクリックします。この例では構築可能なフローを示していますが、Langflowに組み込まれている過剰な数のコンポーネントや統合を自由に探索してください。
チャット入力 - チャットからユーザー入力を受信します。
チャット出力 - チャット内のユーザーにフロー出力を返します。
エージェント - 大規模言語モデル(LLM)の統合を使用してユーザー入力に応答し、複数のツールに接続できます。2
MCPツール - Model Context Protocol(MCP)サーバーに接続し、エージェントが入力に応答するために使用するツールとしてMCPサーバーの機能を公開します。2
IBM watsonx.ai - テキスト生成用のIBM watsonx.aiモデルへのアクセスを提供します。3
ニュース検索 - Googleニュースのコンテンツを取得し、各記事のタイトル、リンク、公開日、および要約を含む構造化されたデータフレームを生成します。4
arXiv - 関連する論文をarXiv.orgで検索し、その結果をデータフレーム形式で出力します。5
最後に、メニューの下部にある「+ 新しいカスタム・コンポーネント」を選択します。
視覚化を容易にするために、フローを以下のように配置します。
2. チャット入力コンポーネントを、エージェントコンポーネントの「入力」フィールドに接続します。
3. チャット出力コンポーネントを、エージェントコンポーネントの「応答」フィールドに接続します。
4.エージェント・コンポーネントで、ドロップダウンから「モデル・プロバイダー」を「カスタム」に設定します。使用しているLangflowのバージョンによっては、代わりに「他のモデルを接続」と表示される場合があります。どちらのオプションでも問題ありません。
5. IBM watsonx.aiコンポーネントで、お客様のAPI認証情報に適したwatsonx.ai APIエンドポイントを選択します。次に、お客様のwatsonx.aiプロジェクトIDとAPIキーを適切なフィールドに貼り付けます。その後、任意の状況に応じた大規模言語モデルの名前を選択します。このチュートリアルでは、
6.arXiv、ニュース検索、およびカスタム・コンポーネントのトグルを使用して、ツール・モードを有効にします。これらのコンポーネント上の任意の場所をクリックすると、ヘッダー・メニューにこのトグルが表示されるのがわかります。このモードを有効にすると、これらのコンポーネントをエージェントコンポーネントの「ツール」フィールドに接続できるようになります。arXivおよびニュース検索コンポーネントが構成され、使用可能な状態になります。これで、他のコンポーネントの構成に集中できます。
7.カスタム・コンポーネントのヘッダー・メニューで、「<> コード」を選択します。ここでは、コンポーネントを定義するPythonコードを編集することで、コンポーネントの動作をカスタマイズできます。6簡単な例として、LLMにとっては本来アクセスできない知識である本日の日付を返すツールを作成できます。ボイラープレート・コードを以下に置き換えます。
変更を保存してください。コンポーネントに新しい名前、説明、およびアイコンが反映されているのが表示されるはずです。
8.エージェントに提供するツールの数は、お客様次第です。ただし、ツールが多すぎるとパフォーマンスや正確性が損なわれる可能性があるため、エージェントに過剰な負担をかけないように注意してください。有効化する最後のツールは、MCPサーバーです。任意のサーバーに接続できます。このチュートリアルでは、Alpha Vantage MCPサーバーに接続できます。 7 公式のAlpha Vantage MCPサーバーを使用すると、LLMやエージェントがModel Context Protocolを使用して、リアルタイムおよび過去の株価データを簡単に取得できるようになります。このサーバーに接続するには、「MCPツール」コンポーネントの「MCPサーバー」ドロップダウンを開き、「+ MCPサーバーを追加」をクリックします。「STDIO」タブで、サーバーに任意の名前(例えば「av_mcp」)を指定し、以下のコマンドを貼り付けます:
お疲れさまでした。フローが完了し、以下のスクリーン・キャプチャーのようになるはずです。
リサーチ・パイプラインが期待通りに機能していることを確認するには、「プレイグラウンド」を開き、新しく構築したエージェントとチャットしてください。接続されているツールのいずれかを呼び出す必要がある質問をエージェントに投げかけます。サンプル入力値の例を以下に示します。
エージェントが使用可能なツールを呼び出し、正しい出力を生成するのが表示されるはずです。この段階で問題が発生した場合は、フローに戻り、認証情報が正しく、各ステップに従っていることを確認してください。
このフローをwatsonx Orchestrateに接続する1つの方法は、MCPサーバーとして接続することです。右上隅の「共有」ドロップダウンをクリックし、「MCPサーバー」を選択します。「JSON」タブをクリックします。この例と同様のコードが表示されるはずです。
JSONスニペット内のURLをコピーします。前の例とは異なることに注意してください。端末に戻り、次の
アウトプット:
ブラウザーでwatsonx Orchestrateに移動し、スクラッチから新しいエージェントを構築します。エージェントの任意の名前と説明を入力します。作成したら、「ツールセット」タブを開き、「ツールの追加」ボタンをクリックします。そこから、MCPサーバーからツールをインポートすることを選択します。「MCPサーバーの選択」ドロップダウンからインポートしたサーバーを選択し、有効化を切り替えてツールを有効化し、ウィンドウを閉じます。次に、「デプロイ」をクリックします。デプロイしたら、「プレビュー」チャット・ウィンドウ、または折りたたまれたページ・メニューにあるチャット・インターフェースでお客様のエージェントとチャットできます。
エージェントにクエリーを投げてみましょう。例えば、「量子コンピューティングに関する研究論文を5本見つけてください。」
素晴らしい。エージェント型チャットボットは、正しい応答を出力するだけでなく、正しいarXivツールを呼び出すことによって、期待通りに動作しています。さまざまなプロンプトを自由に試してください。
このアプローチでは、Code Engineは必要ありません。このアプローチでは、ローカル開発サーバーとして機能するwatsonx Orchestrateの軽量バージョンであるwatsonx Orchestrate Developer Edition SDKを使用して、ローカル開発環境をセットアップします。
Langflowを使用してローカルで構築を開始する前に、wxO ADKのDeveloper Editionをインストールしてください。このDeveloper Editionは、このチュートリアルの最初のアプローチでは必要なかったことに注意してください。
好みのIDEで環境をセットアップします。すべてのエージェントとツールを保管するために
wxo-langflow-agent/ ├── .env ├── tools/ └── agents/
2. 端末を開き、仮想環境を有効化します。
以下のコマンドを使用して仮想環境を有効化し、別の環境名を使用した場合は、
MacOS/Linux:
Windows:
3. .envファイルで、以下の環境変数を設定します。詳細については、セットアップ・ガイドを参照してください。
4. 以下のコマンドを実行して、watsonx Orchestrate Developer Editionサーバーをインストールします。LangflowはADK Developer Editionの一部として含まれているため、インストールする必要はありません。
初めてサーバーを有効化する場合、このコマンドの実行には数分かかる場合があります。
トラブルシューティング: 過去にADKバージョン2.0より前にwatsonx Orchestrate Developer Editionをインストールしたことがあり、コンテナーの起動でエラーが発生した場合は、以下を実行してください。
出力の最後は、以下の例のようになるはずです。
アウトプット:
watsonx Orchestrate ADKは、接続可能なwatsonx Orchestrateインスタンスとして環境を定義します。環境は、ノートPC上で実行されるDeveloper Editionインスタンスになります。orchestrate env listlocallocal
orchestrate env activate local
アウトプット:
[INFO] - local tenant found
[INFO] - Environment 'local' is now active
次に、このコマンドを実行して、デフォルトのブラウザーでチャットUIを起動します。
orchestrate chat start
アウトプット:
[INFO] - Chat UI Service started successfully.
[INFO] - Waiting for UI component to be initialized...
[INFO] - Opening chat interface at http://localhost:3000/chat-lite
前の出力に示されているように、Langflowエディターは、ポート7861上のwatsonx Orchestrate Developer Editionを通じて利用可能です。
ローカルのwatsonx OrchestrateサーバーにLangflowフローをインポートするための2つのオプションについて説明します。
a)ローカルMCPサーバーとしてフローをインポート。
b)JSONとしてフローをインポート。
このステップは、いくつかの軽微な変更を除き、このチュートリアルの前半のステップ7に類似しています。
Langflowの右上隅にある「 共有 」ドロップダウンをクリックし、「MCPサーバー」を選択します。「JSON」タブをクリックします。以下の例と同様のコードが表示されるはずです。
{
"mcpServers": {
"lf-starter_project": {
"command": "uvx",
"args": [
"mcp-proxy",
"http://localhost:7861/api/v1/mcp/project/41c9434f-67bf-439e-8dac-b7bb09b1d1ca/sse"
]
}
}
}
JSONスニペット内のURLをコピーします。前の例とは異なることに注意してください。端末に戻り、次の例のURLの代わりに、ご自身のURLを使用して次のコマンドを貼り付けます。 IBM Cloudの使用時に実行したコマンドとは異なり、ここではlocalhosthost.docker.internal
orchestrate toolkits add \
--kind mcp \
--name langflow_research_mcp \
--description "LangFlow MCP Server" \
--command "uvx mcp-proxy http://host.docker.internal:7861/api/v1/mcp/project/41c9434f-67bf-439e-8dac-b7bb09b1d1ca/sse" \
--tools "*"
アウトプット:
[INFO] - Successfully imported tool kit langflow_research_mcp
ブラウザーで実行されているwatsonx Orchestrateのローカル・インスタンスで、「新規エージェントの作成」をクリックし、新しいエージェントの名前と説明を入力します。次に、「 作成 」ボタンをクリックします。
4.「ツールセット」タブで、「ツールの追加」ボタンをクリックします。「ローカル・インスタンス」を選択して既にインポートされたMCPサーバーを追加し、インポートされたMCPサーバーに対応するボックスにチェックマークを付け、「エージェントに追加」をクリックします。
5. チャットを開始しましょう。
MCPサーバーとしてフローをインポートする代わりの方法として、ADKを使用して、エクスポートされたJSONファイルとしてフローをインポートできます。
1.このアプローチは、シンプルなフローに最適です。デモを目的として、このフローを使用してみましょう。
「共有」ボタンをクリックし、「エクスポート」を選択して、フローをJSONにエクスポートします。ツールの名前と説明を自由に入力します。ツールの名前には半角英数字とアンダースコアのみを使用する必要があり、数字またはアンダースコアから始めることはできません。
2. 新しくエクスポートしたJSONファイルを
3. 以下のコマンドを実行して、フローをwatsonx Orchestrateにインポートします。
4. ツールとしてLangflowフローをインポートした後の次のステップは、それをエージェント・システムに接続することです。このステップは、watsonx Orchestrate UIで新しいエージェントを作成するか、次のエージェント定義を
次に、以下を実行してシンプルなエージェントをインポートします。
5. ローカルで実行されているwatsonx OrchestrateのチャットUIのブラウザーを更新して、変更が反映されていることを確認します。「エージェント」ドロップダウン・メニューで「arXiv Agent」を選択し、arXivツールの使用を必要とする質問を投げかけてみてください。
例のプロンプト:「Find me 5 research papers on quantum computing.」
アウトプット:
成功です。エージェントは、このユーザーのクエリーに対して
このチュートリアルにより、Langflowとwatsonx Orchestrateを活用して、堅牢で拡張性が高く、エンタープライズ対応のエージェントを構築するための必須スキルが身に付きました。IBM Cloudとともに、Software as a Service(SaaS)としてwatsonx Orchestrateを使用することによる、MCPサーバーとしてのエージェント型LangFlowフローのインポート方法について学びました。また、IBM watsonx Orchestrate Agent Development Kit(ADK)をローカルで使用する際に、基本的なLangFlowフローをインポートする方法についても理解できました。ステップ・バイ・ステップの手順に従うことで、カスタム・ツールや事前構築されたツールを呼び出してユーザーのクエリーを解決するエージェントを設計、開発、およびデプロイする方法を学びました。Langflowの直感的なビジュアル・インターフェースを使用して複雑なワークフローを作成し、watsonx Orchestrateによってtheseエージェントを効率的に管理および拡張できるようになりました。次のステップとして、実世界のユースケースに取り組むことで、このチュートリアルで得た知識を適用してください。自動化によってメリットを得られる可能性のある、組織内の特定のビジネス上の問題またはプロセスを選択し、それを解決するためのLangflowおよびwatsonx Orchestrateベースのソリューションを設計します。この実践的な経験により、理解が確固たるものになり、さらなる改善や探索のための領域を特定するのに役立ちます。
問題が発生した場合や質問がある場合は、ドキュメンテーションを確認してください。最も一般的な問題は、次のトラブルシューティング・ガイドで説明されています。他のユーザーが同様の問題に直面していないか、GitHubの問題を確認することもできます。
業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。
1 Satyadhar Joshi. 「Review of Autonomous Systems and Collaborative AI Agent Frameworks.」 International Journal of Science and Research Archive、vol. 14、no. 2、2025年2月28日、961~972ページ、https://ijsra.net/content/review-autonomous-systems-and-collaborative-ai-agent-frameworks。
2 「エージェント|Langflowドキュメンテーション」Langflow.org、2025年、docs.langflow.org/components-agents。
3 「IBM | Langflowドキュメンテーション」Langflow.org、2025年、docs.langflow.org/bundles-ibm。
4 「データ|Langflowドキュメンテーション」Langflow.org、2025, docs.langflow.org/components-data。
5 「arXiv|Langflowのドキュメンテーション」Langflow.org、2025, docs.langflow.org/bundles-arxiv。
6「コンポーネントの概要 | Langflow ドキュメンテーション」Langflow.org、2025, docs.langflow.org/concepts-components。
7 「Alpha Vantage MCP for Stock Market Data.」 Alphavantage.co、2025年、mcp.alphavantage.co/。