长时运行智能体的上下文工程

防止多轮智能体能力衰减的四种手段:压缩而不是截断、结构化笔记、子智能体隔离、即时检索。

intermediate · Claude / GPT-5 / DeepSeek
#上下文#智能体#可靠性

问题所在

长时运行的智能体有一种典型的失败方式:不是崩溃,而是缓慢漂移。早期决策被遗忘,工具输出不断堆积,模型开始基于过时的上下文做优化。

上下文窗口是一份有限预算。每个 token 都在争夺注意力,而相关性会随着距窗口边缘的距离衰减。

四种有效的手段

1. 压缩而非截断

要做的是总结并重启,而不是砍掉尾部。总结中必须保留:

朴素截断保留的是近期噪声、丢弃的是早期意图,完全搞反了。

2. 结构化草稿本

把状态放在窗口之外的文件里,让智能体重读而非回忆:

progress.md      # 已完成 / 进行中
decisions.md     # 决策及其理由,只追加
blockers.md      # 卡在哪里、为何卡住

只追加的日志优于可变状态——历史本身就是上下文。

3. 子智能体隔离

把自包含的子任务派给子智能体。它拥有干净的窗口,在死胡同里烧的是自己的 token,只把结论回传。这是保持主线程整洁的最高杠杆动作。

4. 即时检索

传递指针(路径、查询条件、ID),而不是载荷。在真正需要的那一刻才读文件。把「可能相关的东西」预加载进来,正是窗口在工作开始前就被塞满的原因。

如何判断有效与否

别凭感觉,盯这些指标:

信号健康正在劣化
上下文体积跨轮次稳定单调增长
重复提问罕见反复重问已解决项
返工罕见重提已否决方案
文件改动面聚焦频繁触碰无关模块

如果智能体重提它自己已经否决过的方案,说明压缩环节丢了决策历史——先修总结模板,别急着怪模型。