AI Agent 有多火?
连吴恩达(Andrew Ng)都出山亲讲“Agentic Reasoning”了!
就在红杉资本(Sequoia Capital)主办的人工智能峰会 AI Ascent 上,这位深度学习教父亲自分享了他对 AI Agent 的最新理解与技术趋势,并首次系统提出了当下主流的 四种 Agent 设计模式:
-
反思式 Agent(Reflection)
-
工具调用型 Agent(Tool Use)
-
规划型 Agent(Planning)
-
多智能体协作(Multi-agent Collaboration)
这不是概念空谈,而是一整套指导下一代智能体系统设计的认知框架,在全球 AI 社区引发了热议。

那么,什么是“Agentic Reasoning”?这四种 Agent 模式各自适用于什么场景?它们背后的设计逻辑和代表性案例又有哪些?
这篇文章,将带你一次看懂吴恩达教授划出的 Agent 技术路线图。
第一,反思(Reflection),这个词听起来似乎很抽象,但实际上,这种思想在生活场景中随处可见。
假设你在使用导航App寻找一家新开的餐厅,导航需要不断监控你的当前位置、选择的路径以及路况变化,以确保你能顺利到达目的地。它会注意到每一个红绿灯、每一条拥堵的道路,并根据实际情况及时调整路线。这种自我监控和迭代让导航App能够实时应对各种突发情况,这和模型反馈迭代具有相同的思路。
我们可能有过这样的经历:当LLM(ChatGPT/Claude/Gemini等)给出的结果不太令人满意时,我们可以提供一些反馈,通常LLM再次输出时能够给出更好的响应。
如果将这个反馈过程留给LLM自己执行,效果是否会更好?这就是反思。
基本反思设计模式是一种通过自我反思和迭代改进来提高模型任务执行能力的方法。在这种模式中,模型不仅能生成初始解决方案,还会通过多次反馈和修改,不断优化其输出。

我们借此可以看到基本反思设计模式的常见步骤。
1)任务定义:用户提供初始任务(例如,编写博客文章等)。
2)初始生成:模型根据用户的任务要求生成初始解决方案(例如生成第一版文章)。
3)自我反馈:模型对生成的初始解决方案进行自我检查和自我评估,以判断是否达到了预期效果。
4)迭代改进:模型根据自我反馈进行调整,生成改进版的解决方案。
以编写代码任务为例,模型首先生成初始版本,然后通过多次反馈和修改生成更优化的版本。例如,初始版本代码存在错误,模型通过反馈指出错误并进行修正,最终生成一个通过所有测试的版本。

除了基础的反思之外,由Shinn等人提出的Reflexion框架是一种通过语言反馈和自我反思来学习的架构。基于这种架构的Agent会点评其任务结果,以生成更高质量的最终结果,但代价是执行时间更长。它主要包含以下组成部分:

Reflexion框架通过Actor、Evaluator和Self-Reflection三个核心组件,以及记忆组件的支持,实现了基于语言反馈的强化学习。
为了更好地理解反思在AI Agent中的应用,我们来看一个具体的示例。假设我们设计了一个智能客服AI,用于处理客户的各种咨询问题,在这个过程中,智能客服AI需要不断地反思其表现,以提高客户满意度。

1)智能客服AI Agent需要记录与客户的对话,包括每次互动的细节。这些记录涵盖对话内容、客户情绪和解决问题的效率等信息。
2)智能客服AI Agent需要评估这些记录,以判断其表现是否达到预期。如果发现客户对某些回答不满意,或者解决问题的效率不高,AI Agent需要分析原因。这可能涉及对话策略的不足、知识库的更新需求等。
比如,一个客户多次询问同一个问题但仍未得到满意的答案,智能客服AI Agent需要识别这一问题并评估其对话策略是否存在问题。它可能发现当前的回答模式过于机械化,无法真正理解客户的问题。这时,AI Agent需要进行调整,包括更新知识库内容、优化对话策略,甚至是学习新的回答模式。
3)通过不断反思和调整,智能客服AI Agent能够逐步提升其服务质量,为客户提供更满意的体验。
第二,工具调用。工具调用(Tool Use)设计模式是一种方法,旨在让AI模型通过调用外部工具或库来增强任务执行能力。
在这种模式中,模型不仅能依赖自身的知识和能力,还可以调用给定的函数,收集信息、采取行动或操作数据,利用各种外部资源完成任务,从而提高完成效率和准确性。
那么AI模型如何调用工具呢?请看图所示的两个例子(吴恩达教授在红杉讲座中使用的示例):
当我们去询问如Copilot这样的在线模型哪个是最好的咖啡机时,它可能会决定调用Web Search Tool(网络搜索工具)进行网络搜索,并下载一个或多个网页以获取上下文信息。
毕竟,仅依靠预训练的数据来生成输出答案是有局限性的,而提供Web搜索工具可以让LLM做更多的事情。

我们可以看到工具调用(Tool Use)设计模式的常见步骤:
1)任务定义:用户提供初始任务(例如,查找最好的咖啡机)。
2)调用工具:模型根据用户的任务要求选择合适的外部工具来解决问题(比如Web搜索工具、代码执行工具等)。在执行任务之前,AI Agent需要识别出哪些工具可以使用,类似你在厨房准备晚餐时,需要先确认有哪些厨具和食材可供使用。对于自动驾驶汽车,它需要识别周围环境中的各种交通设施,如信号灯、道路标识和其他车辆。这些识别的过程对AI Agent来说至关重要,一般都是AI Agent预设的工具来执行。
3)执行任务:模型通过调用工具执行具体任务(比如网页搜索或运行代码等)。AI Agent在识别出可用工具后,需要根据任务需求选择最合适的工具。这就像你在做饭时,选择合适的刀具来切菜,选择锅来煮饭。
4)结果输出:执行完成后将生成的结果返回给用户。
要更好地理解工具在AI Agent中的应用,我们来看一个具体的例子。假设我们设计了一个智能农业Agent,帮助农民管理农田。

1)智能农业Agent需要识别出可用的农业工具(这里指其他工具API),如自动灌溉系统、土壤传感器和无人机。
2)系统会根据农田的具体情况选择最合适的工具进行管理。在干旱季节,系统会优先使用自动灌溉系统以确保作物得到足够的水分。在检测到病虫害时,系统会选择无人机进行农药喷洒。
3)智能农业Agent实际调用这些工具,实时监控和调整作业过程,确保农作物健康生长。
第三,规划。规划(Planning)设计模式是一种通过LLM预先计划和组织任务步骤来提高效率与准确性的方法。在这种模式中,AI Agent能够调用LLM通过思维链(Chain of Thought,COT)能力进行任务分解。
想象一下,你正在计划一次家庭旅行,需要考虑出发时间、交通方式、住宿安排和活动计划等一系列因素。这个过程充满了期待和挑战。

在AI Agent架构中,任务的分解和规划是基于大模型的能力来实现的。大模型的思维链能力通过提示模型逐步思考,将大型任务分解为较小的、可管理的子目标,以便高效处理复杂任务。
例如,当我们要求AI Agent参考一张男孩的图片,绘制一张相同姿势的女孩的图片时,该任务可以分解为两个步骤:
1)检测男孩图片中的姿势。
2)根据检测到的姿势渲染女孩的图片。

我们由此可以看到规划设计模式的常见步骤:
1)任务定义:用户提供的复杂任务需求(例如生成特定姿势的图片)。AI Agent需要明确其最终目标是什么,就像你在计划家庭旅行时,首先要确定目的地和旅行时间。
2)步骤拆解:将任务分解为多个步骤(例如,确定姿势、生成图像和描述等)。设定好目标后,AI Agent需要制定具体的行动策略。
3)执行任务:模型依次执行每个步骤,确保每一步都得到正确的结果。
4)结果整合输出:将各步骤的结果进行整合,通过LLM分析汇总并生成结果返回给用户。
这个步骤类似于我们常用的“分治法”,也像我们在提示词技巧中提到的“复杂问题分解法”,它们都遵循相同的思路。
ReAct框架通过结合推理和行动来增强智能体的能力。ReAct框架允许智能体在接收到信息后立即做出反应,而不是等待所有信息处理完毕。同时,该框架还注重推理和行动的紧密结合,智能体不仅需要分析和理解输入信息,还需要根据分析结果进行相应的行动。这种框架的优点在于其灵活性和环境适应性。

在ReWOO框架中,Xu等人提出了一种结合多步规划器和变量替换的智能体,以实现有效的工具调用。该框架在以下方面改进了ReACT框架:通过一次性生成一个完整的工具链来减少token消耗和执行时间(ReACT框架需要许多LLM调用,并且存在冗余前缀,因为系统提示和前面的步骤在每个推理步骤中都要提供给LLM)。由于规划数据不依赖工具的输出,模型在理论上可以不实际调用工具进行微调。

LLMCompiler是一种通过在DAG中并行执行任务来加速智能体任务执行的框架。它还通过减少对LLM的调用次数来节省冗余token使用的成本,主要包含3个部分:
· 规划器:处理流任务的有向无环图。
· 任务提取单元:在任务可执行时,立即调度并执行任务。
· 连接器:响应用户请求或触发第二个计划。

第四,多智能体协作。多智能体协作(Multi-agent Collaboration)设计模式是一种通过多个智能体之间的合作来提高任务执行效率和准确性的方法。在这一模式中,各个智能体分担任务,并通过相互交流与协作,共同完成复杂任务。
多智能体协作,这一模式使多个AI Agent能够合作完成复杂的任务,就像一个高效的团队,每个成员都在发挥自己的特长,共同实现一个目标。这种协作不仅可以提高效率,还能解决单个智能体难以应对的问题。
ChatDev是一个多Agent系统的示例。它是GitHub上的一个开源项目,你可以通过提示使LLM有时表现得像软件工程公司的CEO,有时像设计师,有时像产品经理,有时像测试人员。

我们由此可以看到多智能体协作设计模式的常见步骤。
1)任务定义:用户提出需要多智能体合作的复杂任务需求(例如开发《愤怒的小鸟》游戏)。
2)智能体分工:不同智能体负责不同部分的任务(比如需求文档撰写、界面设计、代码开发、测试等)。
3)协作执行:各个智能体通过交流与协作,共同完成任务。每个智能体在执行自己部分任务的同时,会与其他智能体交换信息和提供反馈。
4)结果整合输出:将各个智能体完成的部分任务结果整合起来,从而完成整个任务(例如,最终完成《愤怒的小鸟》游戏)。
1.Supervision通过一个管理者管理和调度多个Agent进行协作。

2.Hierarchical Teams通过分层、分级组织Agent来完成复杂且工作量大的任务,AutoGen就是这种方式的典型代表。

3.Collaboration单个Agent在使用多领域工具的能力上存在局限,需要多个Agent协作以使用更多类型的工具。可以借鉴“分治法”的思想,使每个Agent成为专注处理一类问题的“专家”,然后再进行合作。

通过多智能体协作,AI系统展现出强大的综合能力。每个智能体都专注于自己的任务,同时通过协作实现更大的目标。这不仅提高了效率,也使AI系统能够应对更加复杂和动态的环境。未来,随着AI技术的不断进步,多智能体协作将为我们带来更多创新的解决方案和应用场景。
从吴恩达教授提出的四种 Agent 设计模式中,我们可以清晰地看到,AI Agent 的演进正在从简单的工具调用,走向具备反思能力、任务规划、乃至多智能体协同的复杂智能系统。这不仅是技术路线的扩展,更是 AI 从“助手”迈向“合作者”的关键一步。
对于开发者而言,理解这些核心模式,意味着能更好地构建适应复杂任务、可持续优化的智能体系统;而对于关注 AI 趋势的从业者来说,这些模式背后透露出的方向,也正在重塑未来产品设计与交互方式。
AI Agent 的时代已经全面开启,下一个爆款应用,可能就诞生在你我对“Agentic Reasoning”的深度理解之上。
(文:AI技术研习社)