🙌

[AI Agent Jump Start 基礎編#6] 実装演習

に公開

🤖 マルチエージェント API を作ろう(MCP 翻訳付き)

このパートでは、これまで学んだ内容を組み合わせて、実際にマルチエージェントを動作させるAPI を実装します。
検索・QA・翻訳という異なる役割のエージェントをルーターで切り替える構成を体験しましょう。


🎯 ゴール構成


📁 プロジェクト構成

以下よりダウンロードして下さい(GitHub Enterprise 上):

🔗 https://github.ibm.com/AIAgentJumpStart/-AI-Agent-Jump-Start-6-

.
├── .env.example
├── README.md
├── agents_core/
│   ├── agents/
│   │   ├── answer_agent.py
│   │   ├── mcp_agent.py
│   │   ├── router_agent.py
│   │   └── search_agent.py
│   └── tools
│       ├── translate_via_mcp.py
│       └── web_search.py
├── mcp_server/
│   └── server.py
├── multi_agent_api/
│   └── main.py
└── requirements.txt

🛠️ 実装課題

agents_core/agents ディレクトリ内の4つのファイルは、それぞれ以下の役割を持ちます。

ファイル名 役割
answer_agent.py 一般的な質問にシンプルに答える汎用QAエージェント
search_agent.py Web検索を用いて、最新情報を含む質問に答えるエージェント
mcp_agent.py 翻訳リクエストを MCP サーバー経由で処理するエージェント
router_agent.py 入力に応じて、どのエージェントを呼び出すかを決定するルーター

これらはすべて 未実装の雛形 状態になっており、各ファイルの TODO を埋めて機能を実装するのがこのパートの課題です。


✅ 実装前の準備

1️⃣ 依存ライブラリのインストール

pip install -r requirements.txt

2️⃣ .env の作成と設定

cp .env.example .env

.env 記入例:

# DeepL
DEEPL_AUTH_KEY=""
DEEPL_API_BASE=https://api-free.deepl.com

# OpenAI (Azure)
AZURE_OPENAI_API_KEY=""
AZURE_OPENAI_API_VERSION=""
AZURE_OPENAI_ENDPOINT=""
AZURE_OPENAI_DEPLOYMENT="gpt-4o"

🛰 MCPサーバーの起動(必須)

翻訳エージェントは MCP 経由で DeepL を呼び出します。
そのため、必ず MCP サーバーを先に起動してください。

cd mcp_server
uvicorn server:app --port 9999 --reload

🚀 FastAPI アプリの起動

別ターミナルでマルチエージェント API を起動します。

cd multi_agent_api
uvicorn app.main:app --reload --port 8000

✅ 動作確認

起動後、以下のリクエストで確認できます:

curl -X POST http://localhost:8000/multi-agent \
  -H "Content-Type: application/json" \
  -d '{"input": "『私は寿司が好きです』を英語に訳して"}'

想定レスポンス:

{
  "response": "『私は寿司が好きです』は英語で『I like sushi.』です。"
}

📌 補足

  • mcp_agent.pyrun_agent.py で単体テストも可能です
  • .env を共通で管理することで、どこからでも同じ値を参照できます
  • MCP が停止していると翻訳タスクは失敗するため、サーバーの起動順に注意してください

📝 次のステップ

各ファイルの TODO を順番に実装し、マルチエージェントAPI全体を完成させてください 💪

DXC Lab

Discussion