はじめに
- OpenAI Agents
- Google ADK
- LangGraph
- MCP (Model Context Protocol)
次々と新しいフレームワークや基盤技術が登場し、
「結局どれを使えばいいのか?」
「それぞれ何が違うのか?」
「レイヤーが違うとはどういう意味なのか?」
本記事では、これらの有名どころのエージェント関連技術をすべて Hello World レベルで実装して、
- 設計思想
- レイヤー構造
- 責務分離
- 使い分け
を横断的に整理する。
単なるフレームワーク紹介ではなく、「エージェント技術スタックの全体像」を理解することを目的とする。
エージェントとは何か
まず前提を揃える。
AIエージェントとは単なるチャットボットではない。
一般にエージェントとは以下の特徴を持つ。
- 自律的にタスクを計画する
- 必要なツールを選択する
- 実行結果を評価する
- 次の行動を決定する
典型的なエージェントループは以下の構造になる。
Observation(状況認識)
→ Planning(計画立案)
→ Action(ツール実行)
→ Evaluation(結果評価)
→ 次の行動へ
このループをどのように実装するか、どのレイヤーで責務分離するかが、各フレームワークの設計思想の違いになる。
なぜこの4つを並べるのか
これらはすべて次の問いへの異なるアプローチである。
「LLMを中核としたエージェントシステムをどう設計するか?」
| 技術 | 役割 |
|---|---|
| OpenAI Agents | LLM標準のAgent実装 |
| ADK | 業務Agent向けアーキテクチャ |
| LangGraph | 状態遷移ワークフロー |
| MCP | Agent基盤の通信プロトコル |
それぞれは競合ではなく補完関係にある。
OpenAI Agents
設計思想
OpenAI Agentsは最もシンプルなエージェント実装モデルである。
思想は一言で言えば、
「LLMに考えさせて、ツールを呼ばせる」
という設計である。
エージェントの思考も制御も基本的にLLMに委ねる。
構成
- LLM(GPT-4.1 / GPT-4oなど)
- Tool Calling
- System Prompt
LLMが自律的に
- どのツールを呼ぶか判断し
- 引数を組み立て
- 結果を受け取り
- 次のアクションを決める
という完全自律モデルである。
特徴
| 観点 | 内容 |
|---|---|
| 学習コスト | 低い |
| 実装 | 非常に簡単 |
| 制御性 | 低い |
| 拡張性 | 低〜中 |
| 運用 | 小規模向け |
向いている用途
- シンプルなBot
- PoC
- 個人開発
- 社内ツール
ADK(Agent Development Kit)
設計思想
ADKは業務Agentを作るためのアーキテクチャである。
思想は、
「エージェントをちゃんとしたシステムとして設計する」
ことであり、LLMに丸投げせず、責務分離を徹底する。
典型構成
User
→ Planner(計画立案)
→ Executor(実行)
→ Memory(状態管理)
→ Evaluator(評価)
それぞれが独立したコンポーネントとして実装される。
特徴
| 観点 | 内容 |
|---|---|
| 学習コスト | 中 |
| 実装 | 設計が必要 |
| 制御性 | 高い |
| 拡張性 | 高い |
| 運用 | 業務向け |
向いている用途
- 業務システム
- 社内エージェント
- 長期運用Agent
- SLAが必要なシステム
LangGraph
設計思想
LangGraphはエージェントを状態遷移グラフとして設計する。
思想は、
「エージェントは状態機械である」
というものである。
構成
Start → Planning → Tool → Evaluation
↑ ↓
└──────────── Loop ────────────┘
各ノードが明確な責務を持ち、状態遷移が完全に可視化される。
特徴
| 観点 | 内容 |
|---|---|
| 学習コスト | 高 |
| 実装 | 複雑 |
| 制御性 | 非常に高い |
| 可視性 | 非常に高い |
| 拡張性 | 非常に高い |
向いている用途
- 複雑な業務フロー
- マルチエージェント
- 並列処理
- 大規模システム
MCP(Model Context Protocol)
設計思想
MCPはフレームワークではなくプロトコルである。
思想は、
「Agentとツールの通信を標準化する」
というものである。
構成
Client(Agent)
→ MCP Protocol
→ Tool Server
エージェントはローカルでもクラウドでも動作し、
ツールは別プロセス・別マシンでも動作できる。
特徴
| 観点 | 内容 |
|---|---|
| レイヤー | Protocol |
| 役割 | 基盤 |
| 拡張性 | 非常に高い |
| 分散 | 前提設計 |
向いている用途
- 分散Agent基盤
- SaaS Agent
- マルチサービス連携
- Agentプラットフォーム
4方式の責務比較
| 観点 | OpenAI Agents | ADK | LangGraph | MCP |
|---|---|---|---|---|
| 思想 | LLM主導 | Agent分業 | 状態遷移 | 標準化 |
| 構造 | 単一Agent | 多層Agent | グラフ | Client/Server |
| 制御性 | 低 | 高 | 非常に高 | - |
| 拡張性 | 低 | 高 | 非常に高 | 非常に高 |
| 運用規模 | 小 | 中 | 大 | 超大 |
使い分け指針
| ユースケース | 推奨方式 |
|---|---|
| 個人Bot | OpenAI Agents |
| 社内業務Agent | ADK |
| 複雑業務フロー | LangGraph |
| Agent基盤 | MCP |
学習ロードマップ
エージェント技術を一通り使えるようになるには、以下の順番が理解しやすい。
- OpenAI Agents
- ADK
- LangGraph
- MCP
この順で学ぶことで、エージェント技術スタックの全体像が自然に理解できる。
まとめ
- エージェントは設計の問題である
- フレームワークは思想の塊である
- レイヤーを理解すると全体像が見える
- 競合ではなく補完関係である
エージェント開発はまだ黎明期だが、技術スタックはすでに出揃っている。
今後は
「どのレイヤーをどう組み合わせるか」
が設計力として問われる時代になる。
おわりに
本記事で紹介した4方式はすべて Hello World レベルで実装し、
同一リポジトリで比較できる形で整理している。
エージェント技術を体系的に学びたい人の参考になれば幸いである。