🤖

【AIエージェント】Planning の「マルチプラン選択」とは

に公開

この記事の概要

AIエージェントは、「Profile」「Memory」「Planning」「Action」から構成されます。

引用:A Survey on Large Language Model based Autonomous Agents (2023)

その内の「Planning(計画)」は、次の5つのカテゴリに分類できます。

  • タスク分解
  • マルチプラン選択
  • 外部プランナー支援計画
  • 反省と洗練
  • 記憶拡張計画

この記事では、AIエージェントのPlanningのうち、「マルチプラン選択」について説明します。
さらに、代表的なマルチプラン選択フレームワークであるTree of Thoughts(ToT)の論文についても解説しました。



復習:Planningとは

概要

AIエージェントの「計画」とは、目標達成のために一連の行動を構成・選択するプロセスです。
具体的には、タスクや目標に応じて、必要なステップを論理的・時系列的に整理し、エージェントがその通りに行動できるようにすることを指します。


なぜLLMベースのエージェントにPlanningが必要か?

  • LLMは非常に強力な推論能力を持っていますが、そのままでは「複雑なタスクの段階的実行」には不向きです。
  • 単発の出力だけでタスクを完了できない場面では、事前に「どんなステップで進めるか」を考えるPlanningが重要になります。



マルチプラン選択とは

LLMによって導き出される計画は、多様であり、最適でなかったり、実行不可能であったりする場合も少なくありません。
「マルチプラン選択」は、これを解決するために、複数のプランを生成し、その中から最適なプランを選択するという方法です。



複数のプランを生成
いくつかの方法があります。

  • Self-consistency
    同じ問題に対しても唯一の解が存在しないという直感に基づき、温度サンプリングやtop-kサンプリングなどの手法で多様な出力を得る方法。

  • Tree-of-Thought
    複数のプロンプトによる多様な解法を生成し、それぞれに対して解答を出力する方法。

  • etc



最適なプランの選択
これもいくつかの方法があります。

  • ナイーブ戦略
    最も得票数が大きいプランを選択する方法。

  • Tree構造による選択
    従来の幅優先探索(BFS)や深さ優先探索(DFS)のアルゴリズムを用いて拡張候補を評価する方法。

  • etc

マルチプラン選択は、AIエージェントの精度を向上させる上で、有効な手法です。
しかし、計算コストであったり、プラン評価もLLMが行うため、毎回同じ評価基準でプランを評価できないなどの課題もあります。



論文紹介:Tree of Thoughts: Deliberate Problem Solving with Large Language Models (2023)

ここではマルチプラン選択の1つの手法である、Tree of Thoughtsについて解説します。

概要

Tree of Thoughts(ToT)は、Chain-of-Thoughts(CoT)を一般化した理論です。(※ この解説はCoTの前提知識は不要です。)
ToTは、心理学・認知科学などで定義される「システム2」のような計画プロセスをAIエージェントに提供することを目的としています。

特徴 システム1 システム2
思考タイプ 直感的・素早い 論理的・遅い
処理の意識性 無意識・自動的 意識的・制御的
使用リソース 低(ほぼ瞬間的) 高(集中力・注意を要する)
使用例 顔の認識・簡単な計算(2+2) 数学の証明・戦略的意思決定
エラー傾向 ヒューリスティック・バイアスに弱い 精度は高いが時間がかかる


Tree of Thoughtsのアーキテクチャ


(引用:Tree of Thoughts: Deliberate Problem Solving with Large Language Models, Fig1)

上の図の一番右(d)が、Tree of Thoughts(ToT)のアーキテクチャ図です。


【要点】

  1. 問題を樹形図で探索
    • ゴールまでの途中経過(思考)をノードに置き、枝を広げながら解を探す。
  2. ステップは「生成 → 評価 → 選択」の繰り返し
    1. 生成 (Propose) : LLM が次に取り得る思考の候補をいくつか出す。
    2. 評価 (Value/Vote) : LLM が各候補の有望度をざっくり点数付け or 投票。
    3. 選択 (Search) : 高得点だけ残し、次の深さへ進む。
  3. 良い候補だけを残すヒューリスティックで計算量を抑える
  4. バックトラックが可能なので、行き詰まったら1つ戻って、別の枝を再探索できる。



【処理の流れ】
ざっくり説明すると、

  1. LLM に「次にあり得る手」を複数出させる。
  2. 同じ LLM にそれぞれの手をざっくり評価させ、良いものだけ残す。
  3. 残った手で木を伸ばし、ゴールが出るまで 1 - 2 を繰り返す。

という流れです。


具体例:Game of 24

論文で紹介されていた「Game of 24」というベンチマークタスクを使って理解を深めます。

  • 「Game of 24」とは

    例えば、入力に「4, 9, 10, 13」という4つの数字が渡されたとします。
    AIは、4つの数字を1回ずつ使い、四則演算のみで、24を作れるかというベンチマークタスクです。
    この問題の正答率が大きいほど、AIの推論能力が高いということになります。
    この例だと、
     ( 10 - 4 ) × ( 13 - 9 )
    が正解になります。


(引用:Tree of Thoughts: Deliberate Problem Solving with Large Language Models, Fig2)

ToTは、次のようにこの課題を解決しようとします。

  • 問題入力
    • 例:数字 4, 9, 10, 13 を使って 24 を作る。
  • 思考を 3 ステップに分解
    1. ステップ1:4 個の数字から 2 個を使い “中間式” を作る
      • 例:10 − 4 = 6
    2. ステップ2:残り 2 数字 + 中間結果で次の式
      • 例:13 − 9 = 4
    3. ステップ3:2 つの結果で最終式
      • 例:6 × 4 = 24
  • 各ステップで枝を広げる
    • Propose Prompt で “次に作れそうな式” を LLM が 5 候補ほど生成。
    • Value Prompt で 「24 に届きそうか」を sure / maybe / impossible の 3 段階で採点。
    • 採点が低い候補はそこで枝切り。
  • 探索アルゴリズム
    • BFS(幅優先):深さごとに上位 5 候補だけ保持して次へ。
    • こうして不要な式を捨てつつ、ゴール 24 に到達する枝を探す。



まとめ

AIエージェントのコンポーネントの1つである「Planning」における「マルチプラン選択」について説明しました。
さらに、マルチプラン選択の代表的なフレームワークである、Tree of Thoughts(ToT)についても説明しました。



参考

Understanding the planning of LLM agents: A survey (2024)
A Survey on the Memory Mechanism of Large Language Model based Agents (2024)
Tree of Thoughts: Deliberate Problem Solving with Large Language Models (2023)

UPGRADE tech blog

Discussion