长会话的核心问题不是“token 快满了”,而是有效状态密度在下降。真正有用的治理策略通常不是再塞更多上下文,而是控制什么能留下来。
我会把方法分成四层:
-
任务拆分层:一个 session 只做一个清晰目标,例如“定位根因”“改实现”“补验证”。不要让同一个会话横跨太多目标。
-
状态投影层:每到关键节点,把必要状态投影成短文本:当前结论、未决问题、下一步。这是给未来 session 用的,不是完整转录。
-
外部记忆层:把长期有效的信息沉淀到规则文件、memory 索引、进度文件,而不是依赖模型自己记住全部对话。
-
重启策略层:当你发现模型开始重复读文件、忽略已确认边界、不断自我修正时,不要恋战,应该新开会话并只带最小必要状态。
三种载体的分工可以这样看:
- AGENTS.md:稳定规则与流程边界
- MEMORY / progress 文件:跨会话的重要事实、决策和接续点
- 当前上下文:这一次任务的局部推理过程
最常见的反模式反而是:
- 把完整对话总结成更长的总结
- 把每次工具输出都长期保留
- 让模型同时背负“任务推理”与“历史归档”两种职责
有效治理的目标不是“永远不断线”,而是“随时可以低损耗重启”。