agent-loop(エージェントループ)
Claude/GPT 等の LLM を使った自律エージェント実行ループの汎用フレームワーク。タスク分解・ツール呼出・記憶管理・終了条件判定を組み合わせた繰返し制御構造の実装パターン。
概要
agent-loop は、Claude や GPT のような LLM を使って自律エージェントを構築する際の中核となる「実行ループ」を指す汎用フレームワーク・設計パターンです。Claude Code・OpenHands・AutoGPT・Cline・Aider・Anthropic Agent SDK などの主要 OSS / 商用エージェントは、いずれも類似のループ構造を採用しています。
ループの基本フローは「タスク受領 → LLM がツール呼出を計画 → ツール実行 → 実行結果を LLM へ返す → LLM が次の行動を判断 → 終了条件判定」です。シンプルに見えますが、実際にはタスク分解の粒度、コンテキスト窓圧迫の対処、ツール呼出失敗時の再試行、終了条件の精緻化、人間介入(Human-in-the-Loop)の設計、永続記憶(メモリ)の管理など、多くの実装課題が存在します。エージェントの「賢さ」は LLM 単体の性能だけでなく、このループ構造の設計品質に大きく依存します。
主な特徴・仕組み
- 5 つのコア要素: タスク受領 / ツール計画 / ツール実行 / 結果解釈 / 終了判定。
- ツール呼出フォーマット: OpenAI Function Calling / Anthropic Tool Use / OpenHands ActionEvent。
- コンテキスト管理: 自動圧縮、ファクト抽出、長期記憶へのオフロード。
- 終了条件: 目標達成判定、ステップ数上限、人間承認待ち、致命エラー検出。
- Human-in-the-Loop: 危険操作・破壊的操作の前で人間に確認を仰ぐ。
- 永続記憶: ベクトル DB(Qdrant / Pinecone)・KV ストア・ファイル記録。
主要エージェント実装の比較
| エージェント | 提供元 | ループ実装言語 | コア LLM | 特徴 |
|---|---|---|---|---|
| Claude Code | Anthropic | TypeScript | Claude Sonnet/Opus | 公式 CLI、ファイル編集特化 |
| OpenHands | All Hands AI | Python | 任意 | OSS、Web UI、CodeAct パラダイム |
| Cline | Cline 社 | TypeScript | 任意 | VS Code 拡張、Plan/Act モード |
| Aider | Paul Gauthier | Python | 任意 | CLI、Git ネイティブ統合 |
| AutoGPT | Significant Gravitas | Python | OpenAI 系 | エージェントワークフロー |
自作PCでのエージェント運用
ローカル LLM で agent-loop を回すなら、Cline + Devstral Small 2 / Qwen3 Coder Next の組み合わせが現実的です。VRAM 24GB の RTX 4090 / Mac Studio M3 Ultra なら、エージェントが数十ステップ動作する複雑タスクでも実用速度が出ます。
エージェントの実行ステップ数が増えるほど、コンテキスト窓と推論時間が圧迫されるため、要約・記憶オフロード・ステップ上限設定といった運用設計が重要です。Claude Code の場合は自動コンテキスト圧縮機能が組み込まれており、長時間作業でもメモリ枯渇しにくい工夫がされています。
関連用語との違い
- ReAct: Reasoning + Acting の古典パターン。agent-loop の元祖的存在。
- CodeAct: OpenHands が採用する、コードを書いて実行する形のエージェントパラダイム。
- Anthropic Agent SDK: Claude を使ったエージェント構築用 SDK。agent-loop 構造を提供。
- Multi-Agent System: 複数エージェントが協調するシステム。agent-loop は単一エージェント構造。
よくある質問(FAQ)
Q1: 自作のエージェントを作るには何から始めればよいですか? A: Anthropic Agent SDK や OpenHands のサンプルコードを読み、まずは「ファイル読書き」と「シェル実行」だけのシンプルな agent-loop を実装するのがおすすめです。
Q2: 終了条件はどう設計すべきですか? A: 目標達成判定 / ステップ数上限 / 人間承認待ち / 致命エラー検出の 4 つを必ず実装します。特にステップ数上限の欠如は無限ループ事故の主原因です。
Q3: ローカル LLM でも実用的に動きますか? A: 動きます。Devstral Small 2 や Qwen3 Coder Next + Cline の構成は、Claude Sonnet 級のクラウド API には及びませんが、無料・プライバシー保持の利点があります。
まとめ
- LLM を使った自律エージェントの中核となる実行ループ
- Claude Code / Cline / OpenHands / Aider が採用する共通構造
- 終了条件設計とコンテキスト管理がエージェント品質を決める
- ローカル LLM(Devstral / Qwen3 Coder)でも実用構築可能