上一章我们讲了只要有 ReAct 循环和 Tool Calling,Agent 就长出了翅膀和手脚,能够接上第三方代码办点事了。 但在现实中,用户丢过来的宏观任务往往是海量的、跨日的:“帮我查下周去东京的机票和三家酒店,做个对比如果总价低于 1 万就帮我先订机酒,然后写一份游记贴草稿并在周五发到我邮箱”。
这是一场需要跑几十上百轮 API 工具交互的漫长战役。
在这场漫长的拉锯战中,首先面临的就是内存塞不下的窘境,因为无休止的工具返回日志和历史行动记录很快就会把大语言模型的上下文窗口彻底撑爆。其次则是规划灾难,如果一上来就两眼一抹黑疯狂随机调用工具,跑错任何一个环节就会导致后续全盘皆输。最致命的是系统脆弱,一旦遇到诸如 API 密钥过期或者节点找不到的报错,模型往往两手一摊直接卡死退出。
本章我们就要给这个“执行机器”装上真正的“认知引擎”海绵:从多级记忆链条、前瞻式规划,到出了问题能自己狠狠扇自己一巴掌的“反思”机制。
1. 大脑的缓冲池:三层记忆管理
人在思考时,有些刚发生的事记在脑子里,有些童年的记忆只能需要的时候去翻日记本。Agent 的记忆架构也是按照这套逻辑设计的。
1.1 短期缓冲记忆 (Short-Term Memory / Buffer)
这就是你平时用的 LLM 上下文,本质是最近几轮甚至几十轮的最直接原话:你对它说的废话、它干出的 Action、以及后端传回的 Observation(执行结果的原始 JSON)。 极限:即便现在流行 100K 甚至 128K 超长上下文(如 GPT-4o 或 LLaMA 3.1 128k),但当长尾内容一旦堆积,它的有效专注度也会剧烈下降。
1.2 中期提纯记忆 (Summary Memory)
当短时对话的历史字数逼近甚至突破系统的警戒线时,Agent 框架在后台会偷偷唤醒一个专职负责压缩降维的“小弟模型”。这个角色会全盘扫描过去 50 轮互动中无比琐碎的 API 日志和人类口水话,大刀阔斧地将其总结成一段精简的进展陈述,比如仅仅留下一句“刚已查完天气和机票并拿到了前置票务”。随后系统冷酷无情地将这 50 轮原始文本从主脑的记忆区永久删去,只把那一小段精华摘要永久置顶在统领全局的提示词开头。这不仅腾出了天量的显存,也让模型永远清晰地知道自己当下的战略进度。
1.3 长期永久记忆 (Long-Term Memory / RAG)
如果 Agent 陪伴了你一年,他怎么记住你每个月去吃过的拉面店偏好? 这就必须使用我们在上一阶段学过的检索增强生成 (RAG) 甚至向量大模型技术。把你们一整年发生的互动事实,通通利用 Embedding(向量特征)固化到 Chroma / Pinecone 等向量数据库里。 当你要它定外卖时,它会主动通过相似度检索,到长期日记本中调取“张三不吃香菜和葱”的永久人设,再混入当次的短时思考中去。
[图片占位:(A clean, minimalist technical diagram on a solid white background. Use simple, crisp vector line art, monochrome or with very subtle minimal color accents. Flat design, no 3D effects, no clutter. Draw a three-layer pyramid or three simple interconnected boxes representing Short-Term Memory, Summary Memory, and Long-Term RAG.)]
2. 把大象装进冰箱:自主规划 (Planning)
如果给它的指令太宏大(比如“写一个扫雷小游戏的 React 项目”),单纯用 ReAct 循环一次只能走一步,模型很容易在漫无目的重试中迷失。 怎么办?**Plan-and-Solve(计划与解答)**机制应运而生。它是大模型能够进行长期多步推理的兵法核心。
如果此时模型的大脑独白是这样的,任务就成功了一大半。高阶模型在接到大体量要求时,会先按捺住冲动进入计划生成视野,它在独白中会冷静地把任务拆解:
- 纯控制台雷区算法层:先搞定没有界面的核 心逻辑。
- React UI 渲染组件:铺排基础的视觉结构。
- 绑定左右键交互:处理插旗和挖开的逻辑。
- 游戏结束与弹窗结算:最后处理输赢界面。
计划一旦制定,它就会把这份巨型清单用图钉钉在记忆的小黑板上,强制自己退回局部视野只关注当前的一步。在敲打第一步核心算法时,它绝不浪费任何脑细胞去思考最后胜利动画长啥样。
这简直就是把活生生的**软件工程里程碑进度图(Gantt Chart)**给粗暴地注入了 AI 的工作流。
通过这一套预先列清单、然后一步一步抹去已完成项目的强制设定(包括鼎鼎大名的 TaskWeaver 或是 AutoGPT 思想),能成倍提高长任务抵达终点的概率。
[图片占位:(A clean, minimalist technical diagram on a solid white background. Use simple, crisp vector line art, monochrome or with very subtle minimal color accents. Flat design, no 3D effects, no clutter. Draw a simple task decomposition tree structure or a minimal Gantt chart.)]
3. 把脸打肿也要走完:Self-Correction (自我纠错)
在没有纠错能力的普通流水线,如果生成代码后编译器报了 SyntaxError(语法错误),大模型直接就中断退出、举双手投降了。
但在高阶的认知架构中,我们赋予了它**三省吾身(Reflection)**的神奇被动技能。