Agent来了0x06:其他高级范式

0 阅读6分钟

前言

前面学习了 Agent 中的三种常见的设计范式:

  • ReAct
  • Plan and Execute
  • Self-Ask

今天继续探索几个其他的高级范式。

Thinking and Self-Refection

思考并自我反思(Thinking and Self-Refection) 范式要用于模拟和实现复杂决策过程,通过不断自我评估和调整,使系统能够学习并改进决策过程,从而在面对复杂问题作出更加有效的决策。简单地说,就是在 ReAct 范式上增加了 “批判”和“修正”

  1. 将之前整个“思考-行动-观察”的轨迹(称为轨迹, Trajectory)作为输入,提交给LLM(可以是同一个,也可以是另一个专门调优的模型)。

  2. 要求LLM扮演“审查者”,分析轨迹中存在的错误、低效的步骤或逻辑漏洞。

  3. 将反思总结出的教训、修正建议或新的计划,注入到新一轮的任务执行循环中,从而指导模型在下一次尝试中避免同样错误。

Tree of Thoughts (ToT)

Tree of Thoughts (ToT) 是一种复杂问题解决与推理能力的结构化搜索框架。

  • 目标:让大模型突破传统“单一路径、一步到位”的生成模式,能够像人类一样进行多步骤的、可回溯的、有策略的深度思考,从而显著提升在需要规划、探索或决策的任务上的表现。
  • 核心流程:
    1. 思维分解:将一个大问题分解成多个连贯的思考步骤(Thought),每个步骤都是语言模型生成的一个中间推理或假设。
    2. 树形探索:这些思考步骤不是线性的,而是构成一棵树。树的每个节点代表一个中间状态,从每个节点可以扩展出多个可能的后续思考(即子节点),形成多条潜在的解决路径。
    3. 启发式搜索与评估:使用搜索算法(如广度优先BFS或深度优先DFS)在树中导航。关键的是,需要一个“评估器”(通常由另一个大模型调用或简单规则担任)对每个节点状态进行评分或排序,以决定优先探索哪条路径,并在发现死胡同时进行回溯。

Graph of Thoughts (GoT)

和 TOT 一样,Graph of Thoughts (GoT) 是一种更复杂进一步的结构化搜索框架。

  • 目标:突破传统“链式思考”的线性限制,让AI的思维过程可以非线性地前进、回溯、合并与优化,从而处理更艰巨的任务。

  • 本质:用“图”来组织和操作“思维”。

  • 基本单元:每一个具体的思考步骤(例如:“分析用户问题的关键词”、“评估方案A的可行性”)被定义为一个“思考”节点。

  • 组织方式:这些节点不再像 Chain-of-Thought (CoT) 那样排成一条直线,也不像 Tree-of-Thought (ToT) 那样只是简单地分叉。它们被组织在一个图结构中,节点之间通过有向边连接,表示思维的流向。

  • 核心流程:

    1. 生成:创建新的思考节点。

    2. 聚合:将多个节点的信息融合,形成一个更高阶、更综合的思考节点(例如,总结多个方案的优缺点)。

    3. 精炼:对一个已有节点进行修改和优化(例如,修正之前推理中的错误)。

    4. 回溯:跳回到图中任意一个先前的节点,并开启新的推理分支。

  • 比较:

    • CoT(链式) :模拟的是“按部就班”的逻辑推导,就像一份严谨的说明书。

    • ToT(树状) :模拟的是“探索多种可能”的头脑风暴,就像一棵决策树。

    • GoT(图状) :模拟的是“反复琢磨、整合灵感”的创造性思考过程。

分层任务分解(HITL)

Hierarchical Task Decomposition(HITL) 通常指 Agent 将复杂目标拆解为层级化、可执行子任务的核心规划能力。

  • 本质:“分而治之

  • 核心流程:“规划-执行-观测”循环

    1. 目标接收与顶层规划:Agent 接收到一个抽象指令(如“开发一个网站”),LLM 作为“规划器”,生成一个初步的高层任务树。

    2. 递归分解:对于每个非叶子节点任务(如“设计前端页面”),LLM 会再次被调用,将其进一步分解为更具体、可操作的子任务(如“编写HTML骨架”、“添加CSS样式”、“集成交互逻辑”),形成一棵不断生长的任务树。

    3. 叶子节点执行与状态跟踪:分解直到产生可直接调用工具(如代码解释器、浏览器、API)执行的“叶子任务”。Agent 执行后,将结果(成功、失败、返回数据)反馈给系统,并更新整个任务树的状态。

    4 动态调整与回溯:当某个子任务执行失败或环境变化时,Agent 能回溯到上层节点,重新规划替代路径,体现了应对不确定性的能力。

总结

正是这些范式让 Agent 能更高效更准确地处理问题。当然也有其他范式,一一列举就很难穷尽。日后在实际开发中遇到具体问题再具体分析。

范式核心典型应用场景
ReAct思考与行动循环交替,实时根据环境反馈调整推理路径。需要与环境动态交互的任务,如问答系统(需调用搜索或计算工具)、机器人控制交互式调试
Plan and Execute严格的“规划-执行”两阶段分离,先制定完整计划再逐步执行。结构清晰、可预定义的复杂工作流,如数据ETL管道多步骤内容生成自动化运维脚本
Self-Ask通过自问自答的方式,将复杂问题分解为可调用工具解决的子问题。知识密集型问答,特别是需要混合内部知识和外部工具(如搜索、API、计算器)的场景;以及需要深入分析或提供创意性解决方案的case
Thinking and Self-Reflection在ReAct基础上,增加了对自身输出质量的“反思”步骤,以检查和修正错误。输出准确性、逻辑性或安全性要求极高的任务,如代码审查数学证明安全关键报告生成
TOT (Tree of Thoughts)将推理过程构建为树状结构进行搜索,在每个节点评估并选择最有希望的路径。需要系统性地探索多种可能性的开放式问题,如策略游戏复杂规划创意写作(探索不同情节分支)。
GOT (Graph of Thoughts)将推理过程构建为有向图,允许更灵活、非线性的思维连接与信息融合。解决具有复杂依赖、交叉关联或需信息融合的问题,如复杂系统设计多源信息整合分析高级研究规划
分层任务分解 (HITL)核心在于 “人在回路” ,将复杂任务分层,关键决策点引入人工判断或干预。高风险、高价值或高度不确定的任务,如金融风控决策临床辅助诊断内容安全审核复杂业务流程审批

那么,你还知道 Agent 中的哪些高级范式?我们评论区见。