AI Agent 工程实践
摘要:本文从「上下文会腐烂」这一反常识事实切入,指出 AI agent 在长任务中失忆的根源并非记性差,而是喂给它的上下文越长越不可靠。文章系统梳理了五种典型痛点(上下文耗尽、换模型清零、假续传、多任务污染、手写交接稿制造腐烂),并以 Chroma 的 Context Rot 实验、ACE 论文等前沿研究为理论基石,提出一套名为 handoff-baton(交接棒·断点续传协议)的 WorkBuddy 技能:通过字段化交接表(mission、open_loops、artifacts、topic)加回述闸门机制,在中断、换模型、换会话的瞬间把高信号上下文无损递给下一个 agent。全文涵盖使用场景、三步上手说明、与手写总结的对比、局限性与未来展望,并附交接时刻自查清单,帮助读者把「干到一半断了」的挫败变成「接着干就完了」的松弛。
上下文会腐烂:让 AI agent 断点续传
为什么你的 agent 总在关键时刻"掉链子"?先说一个反常识的事实:它不是记性差,而是你喂给它的上下文,正在悄悄"腐烂"。输入越长,它反而越不可靠——哪怕窗口远没填满。
如果你也经常让 agent 干跨天的长活、同时在跑三五个会话,下面这个场景你一定不陌生:任务干到一半,上下文快满了;或者你想换个更强的模型收口;又或者睡一觉打算接着干。结果一回来,agent 像失忆了一样——前面定了什么方向、踩过哪些坑、还差哪几步,全都不记得了。它还"自信地"接着编,错的地方编得有理有据。
这不只是你的体验。2025 年,Chroma 用 18 个前沿模型做了一项 controlled 实验,发现一个反直觉的事实:上下文越长,模型越不可靠,哪怕任务本身很简单、窗口远没填满。他们把这叫 Context Rot(上下文腐烂)。
换句话说,你越想让 agent"记住更多",它往往错得越离谱。这篇文章要讲的,就是怎么用一根"接力棒"——一个叫 handoff-baton(交接棒·断点续传协议)的 WorkBuddy 技能——把任务上下文在"中断 / 换模型 / 换会话"的时刻,无损地交到下一个 agent 手里。

▲ 一张图看懂「交接棒」:上下文会腐烂,字段化交接让 agent 无损续传
一、用户痛点:为什么你的 agent 总在关键时刻"失忆"
把"接不住上下文"拆开看,其实是五种互相叠加的疼。
1. 上下文耗尽,主线断了
长任务天然吃 token。探索、试错、工具输出一层层堆上来,不知不觉就逼近上限。一旦触发自动压缩(compact),模型往往会把"关键但沉默"的信息当废话丢掉——比如你三天前定下的一个约束。
2. 换模型 / 换会话,一切清零
弱模型探路、强模型收口,是工程上的常识。但现实是:切到新会话或新模型,历史对话不带过去。你要么从头讲,要么把一大段聊天记录整段贴回去——而贴回去的那一长段,恰恰是"上下文腐烂"的温床。
3. 假续传:它"记得",但记错了
更危险的一种。agent 没真理解,却凭半截记忆继续往下走,还答得很笃定。Chroma 的实验里,结构性越连贯的干扰文本,反而越能骗过模型——因为它"看起来像该用的信息"。这类错误,用户极难当场发现。
位置效应也在作祟:斯坦福 & 伯克利的 Lost in the Middle(arXiv:2307.03172)证明,放在长上下文
中间的信息,模型恰恰用不好,呈 U 型曲线——开头和结尾记得住,中间全丢了。
4. 多任务互相污染
如果你把所有任务的"交接文档"都堆进同一个文件,新开会话时,A 任务的上下文会漏进 B 任务。模型分不清"现在该干哪个",于是把两件事搅在一起。
5. 手写交接稿,本身就制造腐烂
很多人想到的解法是:"让 agent 写一段总结给我"。但一段又长又顺的叙事交接稿,正是 context rot 的燃料。
2025 年的 Agentic Context Engineering(ACE, arXiv:2510.04618)给了个扎心的数据:把一个 18k token 的上下文"总结压缩"成 122 token,任务准确率直接从 66.7% 掉到 57.1%——压缩本身就吃掉了知识。他们管这叫 context collapse(上下文坍塌)。
所以真正的坑在于:你以为在救火,其实在浇油。叙事化、越长越全的交接,反而让接收方更晕。
二、理论基石:上下文工程,正在取代提示词工程
上面这些痛点不是玄学,2023–2025 年有一批论文把它们钉成了工程事实。我把和"交接"直接相关的五篇,列成一张映射表——你可以把它当作这根接力棒的"理论地基"。
| Lost in the Middle Liu et al. 2023 arXiv:2307.03172 | 长上下文中间信息极易被忽略(U 型曲线) | 交接字段要放"该被注意的位置",且拆成条目而非埋进长文 |
| Context Rot Chroma 2025 技术报告 | 18 个模型实测:输入越长越不可靠,与任务难度无关 | 交接稿必须短、高信号;宁可字段化,不要叙事堆砌 |
| MemGPT Packer et al. 2023 arXiv:2310.08560 | 把上下文当"内存",外部存储当"磁盘",自主分页换入换出 | 交接 = 把"内存态"落盘成"磁盘态",下次换入即可 |
| ACE Zhang Q. et al. 2025 arXiv:2510.04618 | 上下文坍塌:迭代重写会抹掉细节;条目化 playbook 优于整体重写 | 交接用字段增量更新,绝不整体重写成一段散文 |
| MemAct Zhang Y. et al. 2025 arXiv:2510.12635 | 把"管理记忆"本身当成可学习的动作;动态编辑避免轨迹断裂 | 交接不是一次性导出,而是可控的"编辑操作" |
这条线的共识很清楚:更长的上下文 ≠ 更好的结果。决定成败的是"喂了什么、怎么喂、放在哪"。 MemGPT 把"内存落盘"做成了系统;ACE 警告"整体重写会坍塌";而我们日常缺的,是中断那一刻的一套交接纪律——这正是 handoff-baton 落地的位置。
一句话记住理论内核:上下文是一笔有限的注意力预算,不是免费的空间。交接的本质,是把"此刻真正该被注意的少量高信号字段",从一方手里,原样递给另一方。
三、使用场景:什么时候该掏出这根接力棒
不是每次聊天都要交接。下面五种情况,交给它准没错。
- 长任务跨会话:今天没干完,明天接着干。睡前 checkpoint 一次,醒来 resume,方向不丢。
- 换模型收口:弱模型探路、强模型收口;或 Claude 干到一半切 GPT。上下文随交接表走,不随会话死。
- 子 agent 交接:主控 agent 把子任务交给 specialist,把"已定方向 / 开放问题 / 产物"交过去,避免 specialist 从零瞎猜。
- 项目阶段总结:把"进行中"的任务固化成一张可检索的"任务卡",比翻聊天记录靠谱得多。
- 多任务隔离:不同任务在不同 workspace,用 topic 主题词检索,新会话一句话只找回该任务,互不串味。
四、使用说明:三步上手,字段化而非叙事化
handoff-baton 是一套本地脚本 + 纪律,核心是一份结构化的"交接表"。它强制三个必填字段,外加一个跨 workspace 检索用的主题词:
| mission(必填) | 这次任务到底要达成什么 | 置顶,防"跑偏";对应位置效应的"开头权重高" |
| open_loops(必填) | 还没闭环的事项 / 下一步探针 | 接手方要接住的"活儿" |
| artifacts(必填) | 已产出的文件 / 结论路径 | 避免重复造轮子 |
| topic(主题词,必填) | 一句话概括任务主题 | 全局索引,跨 workspace 检索的钥匙 |
可选字段承载"经验密度":done(已验证结论,要带证据)、decisions(关键决策与理由)、dead_ends(踩过的坑,别再踩)、constraints(红线)、next_probe(下一步怎么验)、risks / severity / trigger / session。一份真实交接表长这样:
# 交接表 · 小红书九宫格生成器 topic: 小红书九宫格模板 mission: 为 handoff-baton 推广文产出 9 张方图(封面→痛点→机制→案例→局限→CTA) open_loops: – 还差"真实案例"与"局限性"两张卡未定文案 – 渲染前需确认主色与公众号主题一致(#667eea) artifacts: – assets/templates/xhs_grid.html – handoff_promo_cover.png done: – 封面信息图已生成并通过压缩(<100KB)✅ 证据:文件大小 82KB dead_ends: – 曾尝试让 ImageGen 写长段正文进图→乱码,已改为只融短中文标题 constraints: – 公众号只用 section 不用 div,否则背景被吞 next_probe: 用 html_to_image.py 渲染后逐张抽检文字是否清晰
整套协议的关键机制叫回述闸门(receipt)——它借用了医疗 I-PASS 交班法里的"接收方回述确认"。接收方必须写一句"我理解了:接下来做 X、Y",才被放行继续干;没写,协议直接拒绝,并把它该看的内容甩给它。这就堵住了"假续传":模型不能假装看懂就开跑。
接入方式分三档(按你的自动化程度选):
- L1 手动:在关键点手动跑 handoff.py checkpoint,需要时 resume。零门槛。
- L2 纪律:把"换工作区先 find <topic>"写进 SOUL.md,让它变成习惯,每次新会话自动想起。
- L3 自动(hook):挂上 PreCompact / SessionEnd / SessionStart / SubagentStop 四个事件,上下文将满或会话结束前自动 checkpoint,几乎零手动。
五、优点在哪:它和"让 agent 写段总结"有什么不同
| 形态 | 一整段散文 | 字段化条目,只读必要项 |
| 抗腐烂 | 越长越晕(context rot) | 短、高信号,token 实测约 1k/份 |
| 防假续传 | 无,模型可假装看懂 | 回述闸门,不确认不放行 |
| 跨任务 | 易互相污染 | topic 全局索引,只找回该任务 |
| 触发 | 全靠人记得 | hook 自动,断点前先落盘 |
四个实打实的好处:
六、局限性与未来展望
说真话,它解决的是"上下文传递"问题,不是"理解"问题。用之前先认清边界。
当前的局限
- 仍需纪律:协议再好,关键时刻不 checkpoint 也白搭。它依赖 L2/L3 配合,不是装了就自动生效。
- 单任务单文件:同一 workspace 下,相同 topic 的新交接会覆盖旧的(设计如此)。两件事共用一个主题词会互相顶掉,要主动用不同 topic。
- 非全自动:默认手动 checkpoint;hook 配置需完整重启应用才加载,SessionEnd / PreCompact 的实测覆盖也有限。
- 回述是弱约束:receipt 是文本确认,验证的是"写了",不验证"真懂了"。复杂任务仍要人把关。
未来可以长成什么样
- 与 auto-compact 深度集成:上下文逼近阈值时自动 checkpoint,人完全不用记。
- 语义检索 + 同主题归并:相同 topic 自动合并而非覆盖,形成持续生长的任务档案。
- 多 agent 编排的"通用语":handoff-baton 作为 agent 之间交接的事实标准,主控与 specialist 用同一套字段对话。
- 对接长期记忆系统:把交接表沉淀进 MemGPT / ACE 式 playbook,让"经验"跨项目累积,而不是用完即弃。
先收藏:交接时刻自查清单
下次准备关掉会话前,花 30 秒对一遍这张清单——把它收藏起来,当这篇文章留给你的"可复用资产"。
- ☐ 任务没干完就要下线?→ 先 checkpoint 落一张交接表
- ☐ 要换模型 / 换会话?→ 交接表跟着走,不要整段贴聊天记录
- ☐ 接手方开跑前?→ 先写回述,确认理解再放行
- ☐ 多任务并行?→ 每个 task 一个 topic,互不顶掉
- ☐ 踩过坑?→ 记进 dead_ends,让下一个自己绕着走
七、结语
上下文会腐烂,是 2025 年值得每个 AI 用户记住的工程事实。但我们不必在"记太多(变晕)"和"不记(失忆)"之间二选一。
handoff-baton 给的答案是:在断点那一刻,只把真正该被注意的少量高信号字段,原样递给下一个自己(或下一个模型)。 短、准、可确认、可检索——这根接力棒,成本低到可以忽略,却能把"干到一半断了"的挫败,变成"接着干就完了"的松弛。
把它装进 WorkBuddy,从下一次"今天先到这"开始,让续传成为习惯。
如果这篇帮你省下了一次"从头再来",点个「在看」,让更多被 agent 失忆折磨的人看到。你踩过哪些失忆坑、用过什么土办法交接,评论区聊聊——每条我都会看。
参考资料(arXiv 前沿,均已核验)
| Lost in the Middle: How Language Models Use Long Contexts | Liu N. et al. | 2307.03172 | 2023 (TACL) | 位置效应:中间信息极易被忽略,支撑第二节 | 链接 |
| Context Rot: How Increasing Input Tokens Impacts LLM Performance | Hong K. et al. (Chroma) | 非 arXiv(技术报告) | 2025.07 | 18 模型实测越长越不可靠,支撑痛点与理论基座 | 链接 |
| MemGPT: Towards LLMs as Operating Systems | Packer C. et al. | 2310.08560 | 2023 | 内存/磁盘分层与自主分页,支撑"上下文落盘"隐喻 | 链接 |
| Agentic Context Engineering (ACE) | Zhang Q. et al. | 2510.04618 | 2025 (ICLR 2026) | 上下文坍塌警告:条目化优于整体重写,支撑字段化设计 | 链接 |
| Memory as Action (MemAct) | Zhang Y. et al. | 2510.12635 | 2025 | 记忆管理即可控动作、避免轨迹断裂,支撑交接是可编辑操作 | 链接 |
核验回执:检索工具状态 WebSearch / WebFetch 正常;五条文献编号与作者均已通过 arXiv API / 原文核验(Context Rot 为 Chroma 官方技术报告,无 arXiv 编号,已附官网链接);正文具体数字(如 ACE 的 18k→122 token、66.7%→57.1%)取自论文摘要与公开报道,标注为"论文披露数据",未做二次推算。



