一篇图文彻底搞懂什么是AI Agent

本文较长,建议点赞收藏。更多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大模型应用开发学习视频及资料,在这里

相关推荐
面壁的熊猫4 小时前
cursor+cline+MCP(论文agent)
vscode·agent·cursor·mcp
舒一笑4 小时前
在工具泛滥的时代,我为什么还要做一个“不一样“的工具站
程序员
云雾J视界5 小时前
AIOps失效?用“思考的魔方®“破解运维复杂性的三重维度
llm·aiops·工具链·cld·心智模式·边界重构
AI大模型学徒5 小时前
大模型应用开发(十五)_知识库1
人工智能·chatgpt·大模型·llm·知识库·deepseek
flying_13147 小时前
推荐大模型系列-NoteLLM-2: Multimodal Large Representation Models for Recommendation(二)
llm·对比学习·多模态大模型·icl·notellm·micl·late fusion
flying_13147 小时前
推荐大模型系列-NoteLLM-2: Multimodal Large Representation Models for Recommendation(三)
llm·推荐系统·多模态大模型·mllms·mlrms·端到端训练·生成式大模型
李瑞丰_liruifengv8 小时前
使用 Claude Agent SDK 写一个 DeepResearch Agent
javascript·aigc·agent
302AI8 小时前
GLM-4.6V 实测:当视觉模型学会“动手”,它离“顶尖”还差什么?
llm·chatglm (智谱)
阿里嘎多学长8 小时前
2025-12-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管