本文较长,建议点赞收藏。更多AI大模型应用开发学习视频及资料,在这里。
AI Agent也叫Agent,是开发复杂大模型应用场景中非常重要的概念,但是很多人并不清楚Agent是什么?它是如何运作的?本文用图文的形式彻底搞懂这两个问题。
什么是Agent?
大模型本身擅长回答问题,但是在使用时我们会发现一个问题,它们无法感知和改变外界的环境,比如:
- 开发一个博客系统,它确实可以写出代码,但是写完之后,把代码写入到文件还是要自己动手拷贝、启动服务、调试
- 已经有了博客系统的代码,想让大模型基于这些代码来改写,增加一些功能,就必须把已有的所有代码复制给大模型才行,我们不主动告诉大模型它是不知道这些代码的
这就是大模型无法感知和改变外界环境的体现,那么有没有办法解决这个问题呢?我们只需要接入对应的工具即可,比如读写文件内容的工具、查看文件列表的工具、运行终端命令的工具。工具就像大模型的感官和四肢,有了它们大模型就可以自己读、写代码,运行调试代码,整个过程完全自动化。
把大模型和工具组织起来,变成一个能感知和改变外界环境的软件实体,我们就称之为AI Agent。
Agent的设计模式
Agent的设计模式很多,本文主要讲解应用最多的两个模式,ReAct模式和Plan-And-Execute模式。
1、ReAct模式
在ReAct模式下,用户先提交任务,Agent先做思考(Thought);思考后会决定是否调用工具,如果需要就会调用对应的工具,ReAct称这一步为行动(Action);在行动后Agent会去查看工具的执行结果,比如读取文件内容、写入文件是否成功等,ReAct称这一步为观察(Observation);在观察之后,ReAct会继续思考,它会再次判断是否需要调用工具,如果还是需要的话,它会继续重复之前所说的行动、观察、思考的流程,直到某一个时刻,可以给出结论了,此时它就输出了最终答案,整个流程如下:

ReAct模式的实现原理:
为什么ReAct模式拿到用户输入的内容后需要先思考、再行动,为什么不直接行动?是因为模型就这样训练的吗?这和模型的训练没有关系,主要的奥秘其实都集中在系统提示词上,它规定了模型的角色、运行的规则、环境信息等等,示例:
markdown
你是一个智能助手,工作方式如下:
1. 你会基于用户的问题先进行"思考(Thought)",写出你的推理过程。
2. 然后根据推理结果执行"行动(Action)",调用可用的工具。
3. 当你获得观察结果(Observation)后,再继续思考或给出最终答案。
严格遵循以下输出格式:
Thought: ...
Action: ...
Observation: ...
Final Answer: ...
你可以使用的工具如下:
1. WebSearch(query: str) ------ 用于搜索网络信息
2. Calculator(expression: str) ------ 用于数学计算
3. PythonRunner(code: str) ------ 运行 Python 代码
备注:除了上述提示词外,还需要具体的处理程序。
2、Plan-And-Execute模式
在这种模式下,根据用户输入的任务先制定一个多步骤的计划,然后逐项执行该计划,在执行过程中,可以根据新获取的信息动态调整计划。 Plan-And-Execute模式将Agent的工作流程明确划分为两个主要阶段:
- 规划阶段:Agent首先对接收到的复杂任务或目标进行整体分析和理解。然后,它会生成一个高层次的计划,将原始任务分解为一系列更小、更易于管理的子任务或步骤。这种分解有助于在执行阶段减少处理每个子任务所需的上下文长度,这个计划通常是一个有序的行动序列,指明了要达成最终目标需要完成哪些关键环节。这个蓝图可以先呈现给用户,允许用户在执行开始前对计划步骤给出修改意见。
- 执行阶段:计划制定完成后(可能已采纳用户意见),Agent进入执行阶段。它会按照规划好的步骤逐一执行每个子任务。在执行每个子任务时,Agent可以采用标准的ReAct循环来处理该子任务的具体细节,例如调用特定工具、与外部环境交互、或进行更细致的推理。执行过程中,Agent会监控每个子任务的完成情况。如果某个子任务成功,则继续下一个;如果遇到失败或预期之外的情况,Agent可能需要重新评估当前计划,可以动态调整计划或返回到规划阶段进行修正,此阶段同样可以引入用户参与,允许用户对子任务的执行过程或结果进行反馈,甚至提出调整建议。

与标准的ReAct相比,Plan-and-Execute模式的主要优势在于:
- 结构化与上下文优化:通过预先规划将复杂任务分解为小步骤,不仅使Agent行为更有条理,还有效减少了执行各子任务时的上下文长度,提升了处理长链条任务的效率和稳定性。
- 提升鲁棒性:将大问题分解为小问题,降低了单步决策的复杂性。如果某个子任务失败,影响范围相对可控,也更容易进行针对性的调整。
- 增强可解释性与人机协同:清晰的计划和分步执行过程使得Agent的行为更容易被理解和调试。更重要的是,任务的分解为用户在规划审批和执行监控等环节的参与提供了便利,用户可以对任务的执行步骤给出修改意见,从而实现更高效的人机协作,确保任务结果更符合预期。
这种"规划-执行"的思考框架因其在复杂任务处理上的卓越表现,已成为AI Agent领域广泛采用的核心策略之一。
总结
无论是刚入门的大模型应用开发者,还是工程化的团队,只要掌握了Agent底层原理和方法论,结合合适的工具和框架,都能轻松、高效开发出基于大模型的应用。
从下一期开始,我会以一个"代码生成系统"为实例,详细讲解Agent如何在实际项目中进行运用,整个"代码生成系统"的业务流程大致如下:

学习资源推荐
如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。
本文较长,建议点赞收藏。更多AI大模型应用开发学习视频及资料,在这里。