现在主流模型都号称 1M 上下文,但“装得下”和“用得好”是两回事。对话越长:
- 越贵:每一轮都要把历史重新发一遍(有缓存会便宜很多,见缓存命中就是省钱)。
- 越容易跑偏:早期的错误尝试、无关的日志都在干扰判断。
实用手段
- 一个任务一个会话。做完就开新的,别在一个对话里从早聊到晚。
- 主动压缩。Claude Code 的
/compact会把历史压成摘要。新版终端还会在超长对话闲置约 54 分钟后,赶在缓存过期前自动压缩。 - 大输出写文件。日志、测试输出、长列表让 Agent 写到文件里,需要时再读片段,而不是全打印到对话里。
- 用子 Agent 隔离脏活。“去翻一下这 50 个文件找出用了旧 API 的地方”这种任务交给子 Agent,它只把结论带回来,主对话保持干净。
- 计划和进度写进文件。比如
PLAN.md,会话断了也能接着干。 - 按需加载。说明文件保持精简,流程写成 Skills,工具别装太多(见 MCP 实用指南)。
一个信号
当 Agent 开始重复之前已经否定过的方案,或者忘了你一开始说的约束,别再纠正了,直接开新会话,把关键结论贴进去。比和它拉扯十轮便宜得多。
这些都是 Harness 工程里的上下文管理部分。