Agent是怎么工作的:感知→规划→行动→记忆
本文首发于同名公众号,如果觉得有用,欢迎点赞收藏。
上一篇文章我们聊了什么是Agent。
很多读者反馈说:概念懂了,但还是很抽象。"规划"、"感知"、"记忆"……这些词听起来像教科书,到底是怎么回事?
这篇文章,我用具体的例子,把Agent的工作过程掰开了讲。
先看一个完整的任务
场景: 你让Agent帮你准备一场产品发布会。
完整对话可能是这样的:
你:"帮我准备下周的产品发布会,需要确定场地、嘉宾、议程,最后发一份完整方案到我的邮箱。"
Agent是怎么完成的?它内部经历了四个环节。
感知: 理解你的需求。它拆解出"发布会方案、场地、嘉宾、议程、发邮件"这些子任务。
规划: 制定执行步骤。先确认基本信息,再搜索候选场地,接着联系嘉宾,然后制定议程,最后整合方案发邮件。
行动: 调用各种工具执行。搜索场地、发送邀请邮件、生成文档、发送邮件。
记忆: 记录任务进度和结果。下次遇到类似任务,它会更快。
整个过程,你只说了一句话。
第一层:感知——Agent"看到"了什么
Agent工作的第一步,是"感知"输入。
这里说的"感知",不只是理解文字。
理解用户的真实意图。
用户说"帮我准备发布会",Agent需要拆解出:是哪类产品发布会?规模多大?有什么特殊要求?预算多少?这些信息不全的话,它会主动问你。
感知上下文状态。
除了用户说的,Agent还需要"看到"当前项目做到哪一步了,之前成功获取了哪些信息,还有哪些步骤没完成。这就是Agent的"工作状态"。
感知工具返回。
Agent调用工具后,返回的结果是新的"感知"。比如搜索场地返回了10个选项和价格,发送邀请返回了成功或失败的状态。Agent需要理解这些返回,决定下一步怎么做。
第二层:规划——Agent怎么想
这是Agent最核心的能力。
很多人觉得AI就是"输入→输出",很简单。但真正能成事的Agent,一定有强大的规划能力。
为什么规划重要?
没规划的Agent处理"准备发布会",可能直接开始搜索场地,找到一个就定了,然后开始定嘉宾,嘉宾还没确认,又回头改场地。一团乱,时间冲突,方案不可行。
有规划的Agent处理同样的任务,先列计划:第一步确认基本信息,第二步场地调研,第三步嘉宾确认,第四步制定议程,第五步整合方案。每一步都清晰,每一步都有检查点。
不会规划的系统,永远只能做简单的问答。会规划的系统,才能handle复杂的任务。
方法一:CoT(思维链)
核心思想是:让Agent把思考过程说出来。
没有CoT的时候,你问"2x+5=15,求x",Agent直接说"x=5"。
有CoT的时候,Agent会说:第一步,把常数移到等式另一边:2x=15-5=10。第二步,两边同时除以2:x=10÷2=5。答案:x=5。
CoT让推理过程透明化。Agent需要"说清楚为什么",就会减少瞎猜。
方法二:ReAct(推理+行动)
CoT是"想清楚再说",ReAct更进一步:边想边做,边做边想。
核心是一个循环:思考→行动→观察→再思考→再行动→再观察,直到任务完成。
任务: 帮用户查特斯拉最新新闻,写一份简报。
第一轮: 思考——用户需要特斯拉简报,我需要先确定查哪些信息。行动——调用搜索工具,关键词"特斯拉最新"。观察——返回10条新闻,涵盖财报、新车型、人事变动。
第二轮: 思考——财报信息最重要,我要深入了解。行动——调用搜索工具,关键词"特斯拉2026财报"。观察——获取到财报数据:营收增长20%,净利润超预期。
第三轮: 思考——光有财报不够,还需要市场反应和分析师观点。行动——调用搜索工具,关键词"特斯拉股价分析师"。观察——获取到市场分析和评级。
第四轮: 思考——信息收集差不多了,可以写报告了。行动——调用文档生成工具,生成完整报告。观察——报告生成成功。
这就是ReAct的核心:每一步都不是凭空决定,而是基于上一步的观察结果来决定下一步行动。
第三层:行动——Agent怎么做
规划好了,该执行了。
Agent的行动,主要靠调用工具。常见的工具类型包括:搜索工具接入搜索引擎获取实时信息,知识库查询接入企业RAG系统查内部文档,代码执行工具进行计算和生成图表,文件操作工具读写文档和生成报告,通信工具发邮件发消息。
关键区别:大模型的知识是"训练时"的,Agent获取的信息是"实时的"。
大模型告诉你"特斯拉股价过去一年涨了50%",数据可能已经过时了。Agent自己去查最新特斯拉股价,查完生成报告发到你邮箱,数据是实时的。
第四层:记忆——Agent记住什么
这是Agent区别于普通聊天机器人的关键。
第一种:感官记忆。 当前这一轮对话的原始输入,就像人的"瞬间记忆",只保留几秒钟。用户发了图片,Agent会"看到"。用户上传了文件,Agent会"读取"。这些信息处理完就释放,不持久。
第二种:工作记忆。 Agent正在处理的信息,也就是"当前任务区"。工作记忆里有什么:当前任务的目标,已完成的任务步骤,下一步要做什么,最近几次工具调用的结果。工作记忆容量有限,信息多了会遗漏。
第三种:长期记忆。 跨会话积累的知识和偏好。存什么:用户的姓名、职业、偏好,项目的背景、进度,用过的好用工具,踩过的坑。有了长期记忆,Agent才能真正"懂你"。你不用每次都重新解释背景,它会记得。
Agent为什么会"出错"
有时候Agent的行动不如预期,常见原因有几个。
规划错了: 目标拆解不合理,或者优先级判断失误,导致执行路径从一开始就偏了。
工具调用失败: API超时、权限不足、网络问题,导致工具返回错误或空结果。
观察不准确: 工具返回的信息太多或太少,Agent误解了结果,走错了方向。
记忆混乱: 工作记忆容量有限,信息多了会遗漏,导致Agent忘记之前的步骤或目标。
我的观点
Agent的工作方式,其实是在模仿人的思维模式。
人面对复杂任务,也是这样:理解任务→拆解目标→逐个执行→检查结果→调整策略。Agent把这个过程自动化了。
但有一点要注意:Agent的"智能"取决于它的规划能力和工具生态。规划能力弱,Agent就会"瞎忙"。工具不够,Agent就会"巧妇难为无米之炊"。
所以做Agent产品,光有大模型不够。工具链+规划算法+记忆系统,三者缺一不可。
下期预告
这篇文章讲完了Agent的工作过程。
下一期,我们来详解Agent是怎么"召唤"各种工具的——Function Calling的原理。
它是怎么让大模型从"能说"变成"能做"的?
下期见。
完整版合集、面试题库、项目实战,全网同名【图解 AI 系列】