AIエージェントの代表的な型
1. ReAct型(Reason + Act)
- LLM が「考える → ツール呼び出し」を交互に行う
- いちばん古典的で、LangChain で普及
- 途中で暴走しやすいが、柔軟
例:ChatGPT Tool Calling / LangChain Agent
2. Plan-and-Execute型
- 最初に「計画(Plan)」を作る
- 次に順番に「実行(Execute)」
- 安定性が高く、ミスが少なめ
例:LangGraph Planner-Executor、近年のOpenAI Agentsの一部
3. モノリシック(One-shot)型
- 1回の呼び出しでまとめて処理
- Agent というより「タスク指示」として使われる
- 検証が楽だが複雑処理は苦手
例:1ショットのGPT呼び出し
4. Loop(自己改善)型 / AutoGPT系
- 自分で「目標 → 反省 → 次のステップ」を繰り返す
- 自律性が高いが、不安定になりがち
例:AutoGPT・BabyAGI・Voyager系
5. Tool-specialized型(ツール専用エージェント)
- 特定のAPI(Google、Slack、Shopify)を使う前提
- LLMがツールの引数を埋めて実行する
- 企業が一番使いやすい
例:AgentKit(OpenAI) / LangChain Tools
6. Workflow / Graph型(状態遷移ベース)
- 全体を「ノード(State)」と「遷移(Edges)」で管理
- 長い業務フローでも安全&再現性が高い
- 最近の主流はここ
例:LangGraph、OpenAI agents (実装内部に近い)
7. Multi-Agent(複数エージェントの分業)型
- Planner、Researcher、Writer、Reviewer など
- チームみたいに役割を分けて協力する
- 制御が難しいが、大規模タスクに強い
例:ChatDev、MetaGPT
8. Embedded Agent(アプリに埋め込み型)
- チャットではなく「機能の一部として動く」
- Realtime API や UI組込みで使う
- 音声アシスタント・アプリ内ガイドなど
例:ChatGPT Realtime API / ChatKit
型の進化の方向性は?
型には向き不向きがある一方、同時に1つの型に収束しつつある
1. 型は用途によって向き不向きがある(今も)
→ Webブラウジングは ReAct が強い
→ API統合は Plan-and-Execute が安定
→ 音声アシスタントは Embedded/Realtime 型
→ 長期タスクは Workflow/Graph 型
万能型はまだ存在しない。
2. ただし、最終的には 1つの方向に進化している
それは、Workflow/Graph + Plan-and-Execute のハイブリッド型
理由:
- 安全性が最も高い
- 複雑な業務に強い
- 再現性がある(デバッグしやすい)
- ツール/API統合が前提のアーキテクチャ
- OpenAI も Realtime API も LangGraph もこの方向
つまり、
未来の主流は「計画 → 実行 → 状態遷移」で動くエージェント。
どう進化してきたか
- ReAct(2019〜):考えながらツールを叩く
- Plan-and-Execute(2023〜):大枠の計画 → 実行
- Workflow/Graph(2024〜):状態遷移で全体を管理
- Realtime(2024〜):音声・状況ベースで応答
- Multi-Agent(随時):役割分担
この全部が混ざっていって、
Graph の中で Plan-and-Execute を行うスタイルが勝ち筋。
現在、どう対応するべきか?
✔ 用途に合わせて今は使い分けるべき
(まだ ReAct も強い場面はある)
✔ ただし、将来の中心は明確に決まっている
(企業・本番運用では Workflow/Graph がほぼ必須)
エージェントを開発するにあたって
1. エージェントは育てるもの
→ 最初はできることが少ない「赤ちゃんエージェント」。
→ Tool(能力)を追加していくと、段階的にできることが増える。
これは「Capability Incremental Development(能力の段階的育成)」と呼べる概念で、
最新の AgentKit / LangGraph / OpenAI Agent Builder の思想と完全一致。
2. Tool calling は、許可した関数しか使えない
→ LLM は「知らない API」を勝手に使えない。
→ あなたが与えた関数の中からしか選べない。
つまり エージェントの世界=あなたが設計した“能力空間”。
3. よく頼むタスクが得意になるのは当たり前
→ エージェントは、その世界・ツールセット・データ構造に“慣れる”。
「慣れる」=トレースが溜まり、
コンテキスト(過去の試行錯誤)が残り、
プロンプト設計が進んで安定する。
4. 初めて頼むタスクは失敗しやすい
→ 理由は2つ:
- 必要なツールがない
- 必要なプランニング能力が未定義
だから、失敗しながらエージェントは完成していく。
これが「RAG を後付け」「ツールを後付け」「プロンプトを後付け」で強化していく開発パターン。
5. 失敗して足りないものをあとから与えるとできるようになる
→ これはまさに エージェント開発の王道。
プロのエージェント開発者でも同じ流れ:
- 最初の実装で失敗 → 何が必要かわかる
- ツールを追加 → パラメータ改善 → 再構築
- 状態管理(メモリ/Graph)を補強
- 安定度が上がり、汎用性が広がる
これを繰り返す。
つまり、エージェントは後付け強化型のソフトウェア
まとめ
エージェントは固定機能のソフトウェアではなく、
必要な能力(Tool)を与えていくことで成長する生態系のような存在。
LLM はツールを“勝手には使わない”ため、
許可された API だけで世界が作られる。
だから、新しい仕事は最初は失敗し、
不足していた能力を後付けすることでできるようになる。