林子豪的 PKM
← 返回 Blog

Intentional Compaction 和 Stage Gate

长任务不一定要让 agent 一口气跑到底。把关键中间结果写成结构化文档,本身就是一种受控压缩和人工纠偏机制。

2 min read系列 · context
aiagentworkflow

长任务不要总是交给 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.mdevidence-notes.md,确认资料来源和证据边界后,再写结论。

这些例子背后的共同模式是:

先抽事实和结构,再做人类 review,再进入分析、执行或写作。

这也是一种 context 管理。长任务里,历史会越来越长,失败尝试会越来越多,约束会散落在不同位置。中间文档把这些东西重新整理成下一阶段真正需要看的工作视图。

好的中间产物通常应该结构化、可审阅、带来源、带未决问题,并且能被下一阶段直接使用。

它不是最终交付物,但它决定了最终交付物是否站在正确的地基上。