面试题:
在 Agent 的设计中,“规划能力”至关重要。请谈谈目前有哪些主流方法可以赋予 LLM 规划能力?(例如 CoT, ToT, GoT等)
回答
目前我的理解
一般任务不需要规划 中等难度的任务,使用框架自带边思考边规划就好。 高难度的任务,可自己根据需求实现plan机制。
codex回答
赋予 Agent 规划能力的方法可以分为三层。
第一层是 CoT,通过中间推理帮助模型生成初步计划,但它本身不等于完整规划。
第二层是 ToT 和 GoT,把规划视为搜索问题,允许探索、评估、回溯或合并多条候选路径。
第三层是 Agent 系统层面的规划,例如 ReAct、Plan-and-Execute 和 Planner–Executor,它们会将目标拆解为可执行任务,并由 Harness 执行工具、维护状态,再根据环境反馈动态调整计划。实际生产中,通常会组合使用这些方法,而不是只选择其中一种。
codex怎么实现plan机制
Codex 使用经过 Agent 编程优化的推理模型进行动态任务分解,再通过 Harness 管理计划状态、工具调用和执行反馈,从而形成“规划—执行—观察—重规划”的闭环。OpenAI 的模型指南也将规划、代码库导航、工具使用和验证视为完整的编码 Agent 工作流。
GitHub回答
规划能力是衡量Agent智能水平的核心指标,它决定了Agent能否有效地将复杂目标分解为可执行步骤。目前,赋予LLM规划能力的主流方法,从简单到复杂,大致可以分为以下几个层次三种():
基于提示的隐式规划 (Prompt-based Implicit Planning):
- CoT(Chain of Thought):
- ReAct框架:
基于搜索的显式规划 (Search-based Explicit Planning):
- ToT(Tree of Thoughts):
- GoT(Graph of Thoughts):
基于任务分解的规划 (Task Decomposition Planning):
- 方法: 训练或提示LLM充当一个“规划器”,将主任务显式地分解成一个依赖图或一个步骤列表。然后,另一个“执行器”LLM(或同一个LLM扮演不同角色)再去逐一完成这些子任务。
- 优点: 结构清晰,易于管理和监控任务进度。
- 缺点: 对LLM的分解能力要求很高,且预先分解的计划可能缺乏对动态变化的适应性。