目录
引言
现在不少工业级Agent,可以连续执行几十、上百轮工具调用,跨越数十轮对话,始终锚定最初的用户诉求:不会任务跑偏、遗忘前置约束、重复执行已经完成的工作。
大部分人的直觉非常简单粗暴:只要上下文窗口足够大,把全部对话、工具日志一股脑丢给大模型,Agent自然就能记住一切。
但真实落地的工程结论恰恰相反。 即便模型做到百万、千万Token上下文,单纯堆砌历史,并不能换来长程任务的稳定性。海量的过程日志、工具返回、重试记录会形成巨大噪声,关键目标与约束被淹没,Agent照样会漂移、失忆、反复返工。
真正支撑Agent超长对话守住工作重心的,不是大模型原生记忆力,而是模型外部一套「目标‑计划‑状态‑记忆」的工程体系,也就是上下文工程(Context Engineering)。
一、反直觉工程现实:上下文越大,任务效果未必越好
近几年大模型上下文窗口飞速扩张:128K、1M、10M Token陆续成为现实。按照朴素认知,能装下的内容越多,Agent记忆能力越强,长任务表现理应持续提升。
但一线Agent开发团队普遍观察到一个现象:上下文膨胀超过某个阈值之后,任务完成率不升反降。
这并非玄学,背后是Transformer架构与LLM行为的固有特性:
- 注意力稀释效应 自注意力机制的权重会被海量序列摊薄。用户原始目标、硬性约束可能只有几百Token,淹没在数万Token的工具调用、JSON返回、重试日志当中,关键信息的注意力权重被挤压,相当于信息“隐形丢失”。
- 噪声干扰 大量已经闭环的中间步骤、失败重试记录、格式化工具输出,本身内容合法,但对于当前推理毫无价值。这些噪声会牵引模型注意力,误导下一步决策。
- Lost in the Middle(中段遗忘) 即便RoPE等位置编码方案支持超长外推,模型依然对上下文开头、结尾信息记忆更强,对中间位置内容记忆显著衰减。重要约束写在历史中段,就极易被忽略。
核心洞察:长程Agent的瓶颈,不是存储容量“装不装得下”,而是注意力资源“找不找得到”。 这本质是注意力资源分配的经济学问题,而不是简单的存储问题。
大窗口只是提供了容纳更多信息的容器,不等于模型懂得如何使用这些信息。
二、工业Agent守住任务重心的五大核心机制
成熟Agent不会把所有历史全部喂入Prompt,而是对记忆做分层隔离,区分必须死守的硬约束、近期原始交互、可压缩过程、归档备查原始日志。通过这套机制,把任务稳定性从模型能力转移到系统能力。
1. 任务北极星:把核心目标隔离在压缩链路之外
将最终目标、验收标准、用户硬性约束、权限边界、关键资源ID抽离出来,作为独立结构化元数据。
重点:这部分内容不参与历史摘要压缩。
摘要是典型有损操作,在压缩、归纳的过程中,很容易丢失边界条件、约束细节。一旦核心目标被卷入摘要,就可能被改写、删减,直接造成任务漂移。
每一轮推理发起前,优先注入北极星元数据。无论对话迭代多少轮,主任务基线始终稳固,不会被多轮交互慢慢稀释。
2. 结构化状态看板:显式记录“我做到哪一步”
维护独立的结构化任务状态,字段包含:当前执行计划、已完成步骤、待办清单、关键决策点、失败原因、中间产出物。
这相当于Agent专属的项目看板。 模型不需要从大段聊天文本中阅读理解过往全部过程,每一轮直接读取状态,快速恢复现场:任务是什么、哪些已经做完、哪些执行失败、下一步行动是什么。
这是Agent会话中断恢复最重要的底座,不依赖大模型从自然语言对话里脑补历史。
3. 分层上下文:近期原文 + 中期摘要 + 外部按需检索
工业界主流采用三层上下文管理策略,既不无限追加历史,也不粗暴删除旧记录:
- 近期轮次:保留原始原文 最近几轮对话、工具返回结果完整送入上下文,规避摘要带来的信息失真,保证即时交互的准确性。
- 中期历史:有损压缩生成摘要 对已经闭环的过程、推演片段做摘要压缩,缩减Token开销,只保留过程结论。
- 完整原始数据:外部持久化归档 全部工具日志、原始输出、文档素材不会删除,只是移出主Prompt上下文。当后续推理需要证据、回溯细节时,通过检索把需要片段召回,再送入上下文。
关键原则:压缩≠删除原始证据。摘要只是给到模型的精简视图,原始日志完整留存,支持核验回溯。
OpenAI Agents SDK 中的 Sessions & Compaction 会话压缩机制,就是这套思路的落地:对外呈现压缩后的会话视图,底层完整会话持久保存。
4. 里程碑检查点:实现中断可续跑
在任务阶段性完成、重大决策变更、关键产物生成的节点,对北极星目标、任务状态看板、中间产物做完整快照,生成检查点。
遇到进程崩溃、网络故障、会话超时等异常,Agent不需要从头复述全部对话,直接加载最近可靠检查点,继续推进任务。这是生产级Agent高可靠性不可或缺的设计。
5. 目标对齐校验:主动对抗任务漂移
不能放任模型自由发散推演,需要加入系统层校验逻辑。 在关键阶段校验当前计划、行动是否依然对齐北极星目标。只有新输入信息改变任务前提时,才允许有限度修订计划;无合理依据,不允许篡改用户原始诉求。
类比项目管理,相当于定期做阶段复盘,防止任务走着走着就偏离初衷。
三、厘清三个容易混淆的核心概念
很多开发者会混淆长上下文、上下文工程、状态管理三者定位,三者各司其职,不可互相替代:
| 概念 | 解决的核心问题 | 定位 |
|---|---|---|
| 长上下文 | 容量问题:能不能装下更多文本 | 基础硬件能力,只是容器 |
| 上下文工程 | 筛选问题:每一轮该给模型什么信息 | 信息的取舍、压缩、检索策略 |
| 状态管理 | 现场恢复:中断、多轮后如何接续任务 | 任务进度、约束的持久化管理 |
大上下文窗口是优秀基础,但不等于长程可靠性。 即便拥有千万Token上下文,如果缺少信息分层、目标隔离,海量噪声依旧会让Agent遗忘关键约束。窗口大 ≠ 不会跑题。
四、工程启示:Agent本质是配齐全套工具的项目负责人
长程Agent最贴切的类比:它不是记忆力超群的聊天机器人,而是一名拥有北极星目标看板、工作台、档案室、检查点回滚能力的项目负责人。
- LLM:负责单步推理、决策、工具调用,相当于人的思考大脑;
- 结构化状态看板:记录进度、待办、决策,对应项目管理看板;
- 分层记忆系统:近期内容放在工作台随时查阅,久远历史归档档案室,按需调阅;
- 检查点+目标校验:约束行为,跑偏可以回退到可靠节点。
由此可以提炼几条对Agent开发极具实践价值的启示:
- 不要把长程稳定性完全寄托模型原生能力。模型会遗忘,摘要会失真。硬约束、关键ID尽量存入结构化字段,不要全部埋藏在自然语言聊天记录中。
- 压缩是有损操作,原始证据必须留存。只保存摘要会丢失真相,压缩视图和原始日志物理分离,重要业务场景支持回溯核验。
- 记忆不是存得越多越好,而是做好分级。明确哪些必须常驻Prompt、哪些可以压缩摘要、哪些归档备查。无筛选地灌入全部历史只会带来噪声泛滥。
- 长程Agent的核心难点已经发生转移:从“模型会不会推理”,转向外部任务管理体系设计。把LLM单次推理能力,转化为稳定、连续、可中断恢复的长期执行能力。
五、面试口述精简版
先进Agent超多轮对话不丢失重心,核心并不是把全部历史无限塞进上下文,而是在模型外部构建「目标‑计划‑状态‑记忆」完整管理体系。 通过隔离任务北极星,避免核心约束被摘要稀释;用结构化状态看板保存任务进度;采用近期原文、历史摘要、外部检索的分层上下文;设置里程碑检查点实现中断续跑;增加目标对齐校验对抗任务漂移。 长上下文解决容量,上下文工程解决信息筛选,状态管理解决现场恢复。真正的长程能力,不是记住所有聊天,而是清楚哪些信息必须死守、哪些可以精简、哪些归档备查。
结尾思考
现在很多Agent开发,把希望全部押注更大的上下文、更强的基础大模型。但大量生产踩坑证明:Agent跑偏、遗忘约束、重复劳动,很多时候并不是模型不够聪明,而是缺少一套外部任务管理框架。
LLM负责思考,工程系统负责记住。 模型是大脑,但Agent还需要记事本、任务看板与档案室。二者结合,才是稳定长程Agent的完整答案。

358

被折叠的 条评论
为什么被折叠?



