🙌
[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
.env
の作成と設定
2️⃣ 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.py
はrun_agent.py
で単体テストも可能です -
.env
を共通で管理することで、どこからでも同じ値を参照できます - MCP が停止していると翻訳タスクは失敗するため、サーバーの起動順に注意してください
📝 次のステップ
各ファイルの TODO
を順番に実装し、マルチエージェントAPI全体を完成させてください 💪
Discussion