LLM(大規模言語モデル)を中核としたAIエージェントが、複雑なタスクを自律的に計画・分解・実行する能力の総称。ReActパターンやPlan-and-Solve、Tree-of-Thoughtなどの手法を組み合わせ、人間の介入を最小限にしながら目標達成を目指す。
LLMエージェンティックプランニング(LLM Agentic Planning)とは、大規模言語モデル(LLM)を推論エンジンとして活用するAIエージェントが、与えられた目標に対して自律的に計画を立案し、タスクを分解し、適切なツールを選択して実行する能力を指す。従来のルールベースシステムやパイプライン型AIとは異なり、エージェンティックプランニングでは動的な判断と自己修正が可能である。
2023年以降、AutoGPT、HuggingGPT、CrewAIなどのフレームワークが登場し、LLMエージェントのプランニング能力は実用段階に入りつつある。タスク分解(Decomposition)、サブゴール設定、ツール呼び出し(Tool Use)、実行結果の検証、自己反省(Self-Reflection)という一連のループが、エージェンティックプランニングの基本構造を形成する。
エージェンティックプランニングのアーキテクチャは、以下の主要コンポーネントで構成される。
| コンポーネント | 役割 | 代表的な実装 |
|---|---|---|
| プランナー(Planner) | タスク全体の計画策定・分解 | LLMプロンプト、Plan-and-Solve |
| リーズナー(Reasoner) | 各ステップの推論・判断 | Chain-of-Thought、ReAct |
| エグゼキューター(Executor) | 具体的なアクション実行 | ツール呼び出し、API連携 |
| メモリ(Memory) | 過去の実行結果・文脈の保持 | ベクトルDB、会話履歴 |
| リフレクター(Reflector) | 実行結果の評価・修正指示 | Self-Reflection、Reflexion |
プランナーがタスクを受け取ると、まず全体の目標を把握し、それを実行可能なサブタスクに分解する。各サブタスクに対してリーズナーが推論を行い、エグゼキューターが実際のアクション(API呼び出し、コード実行、検索など)を実行する。実行結果はメモリに蓄積され、リフレクターが計画の進捗と品質を評価する。
LLMエージェントのプランニングには複数の手法が存在し、タスクの性質に応じて使い分けられる。
| 手法 | 概要 | 強み | 弱み | 代表論文・実装 |
|---|
| ReAct | 推論と行動を交互に実行 | 即座にフィードバック反映 | 長期計画が弱い | Yao et al. 2022 |
| Plan-and-Solve | 事前に全体計画を立ててから実行 | 構造的で見通しがよい | 計画の修正コストが高い | Wang et al. 2023 |
| Tree-of-Thought | 複数の思考パスを木構造で探索 | 最適解の発見率が高い | 計算コストが大きい | Yao et al. 2023 |
| Reflexion | 実行後に自己反省して改善 | 反復による品質向上 | 収束に時間がかかる | Shinn et al. 2023 |
| LATS | モンテカルロ木探索+LLM | 探索と活用のバランス | 実装が複雑 | Zhou et al. 2023 |
現在、複数のオープンソースフレームワークがエージェンティックプランニングを実装している。
| フレームワーク | プランニング方式 | マルチエージェント | ツール連携 | ライセンス |
|---|---|---|---|---|
| AutoGPT | 再帰的タスク分解 | 限定的 | プラグイン方式 | MIT |
| HuggingGPT | LLMがモデル選択+オーケストレーション | なし | HuggingFaceモデル群 | Apache 2.0 |
| CrewAI | ロールベースのエージェント協調 | あり | カスタムツール | MIT |
| LangGraph | グラフベースのワークフロー | あり | LangChainツール群 | MIT |
| AutoGen | 会話駆動のマルチエージェント | あり | コード実行、関数呼び出し | MIT |
| OpenAI Agents SDK | ハンドオフ+ガードレール | あり | 関数呼び出し | MIT |
AutoGPTは初期のエージェントフレームワークとして注目を集めたが、タスクのループ(無限ループ問題)や計画の質に課題があった。CrewAIやLangGraphはこれらの問題を踏まえ、より構造化されたプランニングを実現している。
典型的なエージェンティックプランニングの実行フローは以下の通りである。
このループはReActパターンの「Thought → Action → Observation」を拡張したものであり、計画の修正や再試行を含む動的なプロセスである。
エージェンティックプランニングは、以下のような実世界のユースケースで活用されている。
A1: 従来のタスクオートメーション(RPA等)は事前定義されたルールやフローに従って実行するのに対し、エージェンティックプランニングはLLMの推論能力を使って動的に計画を生成・修正する。未知のタスクや曖昧な指示にも対応できる柔軟性が最大の違いである。
A2: 精度向上のアプローチとしては、(1)プロンプトエンジニアリングの最適化、(2)ツール定義の明確化、(3)Self-Reflectionの導入、(4)Few-shot例の提供、(5)タスク分解の粒度調整がある。特にツール定義が曖昧だとエージェントが誤ったツールを選択するため、ツールのdescriptionとパラメータ説明は詳細に記述すべきである。
A3: 主要な課題は、(1)長期的な計画の一貫性維持(Plan Hallucination問題)、(2)エラーからの回復力(Robustness)、(3)計算コストの増大、(4)安全性とガードレールの確保である。特にPlan Hallucinationは、LLMが実行不可能な計画を生成する問題であり、ツール存在確認や実行可能性検証のステップを挟む必要がある。