Intentional Compaction 和 Stage Gate
长任务不一定要让 agent 一口气跑到底。把关键中间结果写成结构化文档,本身就是一种受控压缩和人工纠偏机制。
长任务不要总是交给 agent one-shot 跑到底。
更稳的方式,是在关键阶段让 agent 停下来,产出一个结构化的中间文档,再由人 review。这个动作可以叫 intentional compaction + stage gate。
compaction 不是只有“把聊天记录压短”这一种意思。它也可以是把一段复杂过程压成一个更稳定、更可审阅、能作为下一阶段输入的中间表示。
例如 coding 任务可以分成:
1. research.md
2. plan.md
3. change-summary.md
第一阶段先让 agent 读代码,写清楚当前系统怎么工作、涉及哪些文件、有哪些未知点。人先看一眼,确认它没有误读基础事实。
第二阶段再让 agent 写计划,说明准备改哪里、风险是什么、怎么验证。人再确认路线。
第三阶段才执行改动,最后产出变更摘要、测试结果和剩余风险。
这样做的核心价值,不是形式上多了几个 markdown 文件,而是把长任务拆成了可审阅的 checkpoint。
每个中间文档都同时扮演几个角色:
- 压缩前一阶段的长 context
- 显式写出关键事实和假设
- 暴露未决问题
- 给人类一个纠偏点
- 作为下一阶段的输入 contract
这比让 agent 一口气跑到底更容易控制。因为很多错误不是最后才发生的,而是在一开始读材料时就已经埋下了。
如果 agent 第一阶段把代码结构看错了,后面计划写得再漂亮也会偏。如果需求抽取漏了一条硬约束,后面的执行越自动化,返工越大。
stage gate 的意义就在这里:在错误还便宜的时候拦下来。
这个方法不只适合写代码。
做法律 due diligence,可以先抽实体和条款,形成 entity-extract.md,再做人类 review,然后才进入风险分析。
写标书,可以先抽招标文件里的要求,形成 requirements-extract.md,确认需求清单完整后,再去做证据映射和正文撰写。
研究任务,可以先产出 source-map.md 或 evidence-notes.md,确认资料来源和证据边界后,再写结论。
这些例子背后的共同模式是:
先抽事实和结构,再做人类 review,再进入分析、执行或写作。
这也是一种 context 管理。长任务里,历史会越来越长,失败尝试会越来越多,约束会散落在不同位置。中间文档把这些东西重新整理成下一阶段真正需要看的工作视图。
好的中间产物通常应该结构化、可审阅、带来源、带未决问题,并且能被下一阶段直接使用。
它不是最终交付物,但它决定了最终交付物是否站在正确的地基上。