自律的にタスクを遂行するAIエージェント。計画・実行・反省のループ、記憶、マルチエージェント協調。
最終更新:2025年11月
環境を認識し、自律的に意思決定・行動するシステム。
| 時期 | 発展 |
|---|---|
| 2023/3 | AutoGPT登場、大きな注目 |
| 2023 | BabyAGI、AgentGPT等 |
| 2024 | Claude Computer Use、Devin |
| 2025 | より実用的なエージェント |
┌─────────────────────────────────────┐
│ LLMエージェント │
├─────────────────────────────────────┤
│ [LLM Core] - 推論・計画・意思決定 │
│ ↓ │
│ [Planning] - タスク分解・順序付け │
│ ↓ │
│ [Memory] - 短期・長期記憶 │
│ ↓ │
│ [Tools] - 外部ツール・API │
│ ↓ │
│ [Action] - 実行・環境への働きかけ │
└─────────────────────────────────────┘
人間の認知プロセスを模倣:
while not goal_achieved:
# 1. 観察
observation = perceive(environment)
# 2. 思考(推論・計画)
thought = llm.think(observation, memory, goal)
# 3. 行動決定
action = llm.decide_action(thought)
# 4. 実行
result = execute(action)
# 5. 記憶更新
memory.update(observation, action, result)
# 6. 反省(オプション)
reflection = llm.reflect(result, goal)
複雑なタスクを小さなサブタスクに分割。
目標: ウェブサイトを作成する
分解:
1. 要件を整理する
2. 技術スタックを決定する
3. デザインを作成する
4. HTMLを実装する
5. CSSでスタイリング
6. JavaScriptで機能追加
7. テストする
8. デプロイする
ステップバイステップで計画を立案:
複数の計画候補を探索:
実行中に計画を修正:
| 種類 | 内容 | 実装 |
|---|---|---|
| 作業記憶 | 現在のコンテキスト | プロンプト内 |
| 短期記憶 | 最近の会話・行動 | スライディングウィンドウ |
| 長期記憶 | 過去の経験・知識 | ベクトルDB |
class AgentMemory:
def __init__(self):
self.working = [] # 現在のタスク情報
self.short_term = [] # 最近N件の履歴
self.long_term = VectorDB() # 永続化記憶
def add(self, item):
self.short_term.append(item)
if is_important(item):
self.long_term.store(item)
def retrieve(self, query, k=5):
return self.long_term.search(query, k)
Shinn et al. (2023):言語的なフィードバックによる学習。
1. タスクを試行
2. 結果を評価
3. 失敗の原因を分析(反省)
4. 改善策を言語化
5. 反省を記憶に保存
6. 次の試行で反省を活用
LLM自身が出力を批評:
複数回生成して一貫性を確認:
複数のエージェントが協調してタスクを遂行。
チーム構成例:
- PM Agent: 計画・調整
- Developer Agent: コード実装
- Reviewer Agent: コードレビュー
- Tester Agent: テスト実行
- Designer Agent: UI設計
複数エージェントで議論:
| システム | 特徴 |
|---|---|
| AutoGen | Microsoft、会話型マルチエージェント |
| CrewAI | 役割ベースの協調 |
| MetaGPT | ソフトウェア開発チーム |
| ChatDev | 仮想ソフトウェア会社 |
| 名前 | 特徴 |
|---|---|
| LangChain | 最も普及、豊富なツール |
| LlamaIndex | RAG特化、データ連携 |
| AutoGPT | 自律エージェントの先駆け |
| OpenAI Assistants | 公式API、統合しやすい |
| 製品 | 用途 |
|---|---|
| Devin | AIソフトウェアエンジニア |
| Claude Computer Use | PC操作エージェント |
| GitHub Copilot Workspace | 開発ワークスペース |
| Cursor | AIコードエディタ |