先说下Nvidia对AI Agent给出的定义:基于LLM的Agent,核心是利用LLM来推理、规划并执行任务,同时能调用工具、借助记忆系统并完成具体的任务执行。说白了,就是让大模型不光能想,还能动手干。

这个领域从2022年底才开始真正起步。回头来看,早期的研究虽然比较基础,但当时提出的“让LLM学会用工具”这个想法,确实是非常有远见的。下面这张图来自2022年10月发表的ReAct模式论文,它第一次系统性地展示了如何通过整合工具使用来增强Agent的能力。

现在,AI Agent的工作流设计大致可以分为两大流派:
和
。这两条路各有侧重,下面逐一来看。
反思驱动
反思型工作流的核心理念,是从过去的经验中学习,以此来提升适应性和解决问题的能力。简单说,就是让Agent自己复盘——分析之前做了什么、结果怎么样,然后改进接下来的策略,形成一个持续优化的闭环。这个流派下目前有几种主要的模式:
- :从已经执行的步骤中学习,不断调整。
- :引入强化学习的思路,让Agent更聪明地优化后续行为。
- :把链式思维(ToT)和强化学习结合起来,在多个可能性之间做选择。
- :让Agent在任务内部进行更深层次的推理和思考。
规划驱动
规划型工作流的核心是任务分解和结构化。它强调在动手之前,先把复杂的大任务拆成可管理的小任务,然后按计划一步步推进。这么做的好处是,可以提前预见潜在的挑战,并更高效地分配资源。这个流派下常见的有:
- :先制定任务清单,执行过程中还能动态调整。
- :把计划和执行并行化处理,提升效率。
- :明确计划步骤之间的依赖关系,按顺序逐步执行。
- :先生成提纲,然后针对每个主题搜索资料,最后汇总成一篇长文本。
说到这里,其实工作流本质上就是任务的协调器。流程中的每个节点,可以是LLM任务、函数调用,或者是像RAG这种其他类型的操作。接下来,我会重点聊聊两种非常典型的工作流设计模式——
和
,再顺带提一下其他模式各自的动机和适用场景。
ReAct 模式
ReAct 模式,其实抓住了人类智能的一个核心特征:
。它把
和
紧密结合在一起,而且每走一步都会通过“观察”获得即时反馈,然后据此调整。举个例子,Agent在执行任务时,不再是机械地走完所有预设步骤,而是根据每一步返回的结果(Observation),来决定是继续下去,还是修改原有策略。
整个流程的代码逻辑可以概括成下面几步:
- :用预定义的ReAct提示模板(格式是“问题→推理→行动→观察”),结合用户问题,生成初始的提示内容。
- :把提示发给LLM,让它生成“推理”和“行动”部分。但这里有个关键点:通过设置停止标记(Stop.Observation),防止模型直接生成“观察”的内容。
- :根据LLM生成的“行动”,去调用外部工具。先判断“行动”是不是“完成(Finish)”,如果不是,就把行动转化为工具需要的API调用格式,然后执行。
- :把外部工具返回的结果转成自然语言,生成“观察”内容。然后结合之前的推理和行动,重复第2和第3步,直到“行动”变成“完成”。
- :把最后一次的“观察”内容转成自然语言,作为最终结果呈现给用户。
从这个流程可以看出,要实现某个特定场景下的Agent,必须定制两个关键组件:
提示模板里的少样本示例(few-shot example)
:这些示例实际上是结构化的人类思维模式的体现,是实现特定任务的核心。
- :根据具体的应用场景,定义模型可以调用的工具以及它们的功能接口。
:ReAct模式通过“推理—行动—观察”这个循环,让Agent能够动态调整策略,大大提升了任务的适应性和解决效率。它把人类的思考和管理策略转化成了结构化的模型提示,为处理复杂任务提供了一种可扩展的解决方案。
计划与解决模式
计划与解决模式(Plan & Solve Pattern)的核心逻辑很简单:
。和ReAct模式更适合那种需要即时调整的小任务(比如“从桌上拿支笔”)不同,Plan & Solve更适用于需要多步骤规划的大任务(比如“做一杯拿铁”)。当然,在执行过程中,计划完全可以根据新情况(比如发现家里没糖了)进行动态调整。
这个模式有三个核心组件:
- :负责为复杂任务生成一个多步骤的初始计划。实现方式是通过提示模板引导LLM来制定计划,包括明确任务目标和分解后的各个步骤。
- :在每个步骤完成后,根据当前进度和实际情况,对原计划进行调整。提示内容会包含目标、原计划、已完成步骤的状态,以及新的零样本输入,用于动态调整后续计划。
- :接收用户的任务请求和规划好的步骤,调用一个或多个工具来完成具体操作。
:适合那些在执行任务前就必须明确所有步骤的任务,比如制定一份复杂的报告、完成一个多阶段的项目。或者那些在执行过程中很可能需要动态调整计划的任务,比如由于外部条件变化而需要修改流程的事情。
:
- :清晰的多步骤计划,能显著增强LLM在未知任务中的推理效果。
- :规划器与重新规划器的组合,确保了任务能够灵活应对各种意外情况。
- :大任务被拆成若干子任务,既提高了执行效率,也方便监控每个环节的进展。
其他工作流设计模式
除了上面两种,还有几种模式也值得了解:
:这个模式把ReAct中原有的显式“观察”步骤给省略了,直接将观察结果隐式嵌入到下一个执行单元里。这样一来,整个“思考→行动→观察”流程被大大简化,任务执行变得更流畅。
:它的特点是可以并行调用多个函数,同时处理多项任务,然后整合结果。这种并行处理的方式能显著提升计算效率和任务执行速度。
:本质上是生成器和反射器之间形成一个反馈循环。Agent不断完成任务、接收反馈、进行改进,直到结果令人满意为止。
:在Basic Reflection的基础上,结合了强化学习的原理。它会通过外部数据来评估回应,强制模型解决冗余或遗漏的问题,让反思过程更健壮,输出结果也更精炼。
:全称是Language Agent Tree Search,它把树搜索、ReAct、计划与解决、反思和强化学习等技术都融合在了一起。通过树搜索来评估结果,并整合反思,最终实现最佳效果。其架构包含了多轮基础反思,多个生成器和反思器会协同工作。
:核心是让LLM在更细粒度的层面进行反思。不仅关注任务是否需要调整,还鼓励模型对任务本身、各个组成部分以及执行过程都进行深度思考。
:这个模式的目标是从零开始,生成一篇类似维基百科那样的综合性长篇文章。它的工作流程是:先用外部工具搜索信息并生成大纲,然后根据大纲为每个部分生成具体内容。整个写作过程非常结构化和高效。