プランナーとは
Planner
与えられた目標を、実行可能なサブタスクの手順へ分解するエージェントの構成要素
ひとことで言うと
目標を、実際にこなせる細かい手順に分解する係を担うAIの部品。
概要
プランナー(Planner)とは、AIエージェントが持つ役割・構成要素の1つで、与えられた目標を達成するために必要なサブタスクを洗い出し、実行すべき手順(計画)を立てる部分を指す。 プランナーが立てた計画に基づいて、実際の行動やツール呼び出しを担う「エグゼキューター」が各ステップを実行するという役割分担(Plan-and-Execute方式)を取るエージェント設計が代表的な使われ方の1つ。 単一のLLM呼び出しの中で計画と実行を同時に行わせる設計もあれば、プランナーとエグゼキューターを別々のLLM呼び出しやエージェントとして明確に分離する設計もある。 計画は一度立てて終わりではなく、実行結果を踏まえて途中で計画自体を修正する「動的な再計画」を組み込む設計も多く、想定外の実行結果への対応力を高める。
背景
LLMに複雑なタスクを一度にこなさせようとすると、途中で目標を見失ったり非効率な手順を取ったりすることがある。 プランナーという役割を明確に分離することで、まず全体の見通し(計画)を立ててから個々のステップを実行するという、人間の問題解決に近い進め方をエージェントへ取らせるため、この構成要素が重視されるようになった。
アーキテクチャ
プランナーは、目標とこれまでの状況(観測結果)を入力として受け取り、次に実行すべきサブタスクの列、あるいは次の1ステップを出力する。 計画は一度に全ステップを確定させる場合もあれば、実行結果を見ながら逐次的に更新する場合もある。
利点
- 複雑な目標を、見通しの立った実行可能なステップへ分解できる
- 計画と実行を分離することで、各役割に適したプロンプトやモデルを使い分けやすくなる
欠点
- プランナーの立てた計画が不適切だと、後続の実行全体に悪影響が及ぶ
- 状況の変化に応じて計画を柔軟に修正する仕組みがないと、当初の計画に固執し失敗しやすくなる
比較
- エグゼキューター — プランナーが立てた計画を、実際に実行するのがエグゼキューターの役割
- AIエージェント — プランナーは、AIエージェントを構成する要素の1つ
- Chain-of-Thought — Chain-of-Thoughtが単一の推論過程を段階的に言語化するのに対し、プランナーは複数のサブタスクへの分解・実行計画の立案を担う
関連用語
よくある質問
プランナーとエグゼキューターは必ず別のLLM呼び出しにする必要がある?
必須ではない。 1つのLLM呼び出しの中で計画と実行を同時に行わせる設計も一般的だが、タスクが複雑な場合は役割を分離した方が安定しやすいとされる。