工具链system_ops_03

Claude Code / Codex 长会话容易上下文膨胀,最有效的治理策略是什么?

整理自公开社区讨论,重新表述为中文问题。

在用 Claude Code、Codex 这类工具做长任务时,我经常遇到一个问题:会话一长,模型上下文就越来越混乱。它不一定马上报错,但会慢慢出现重复查同样的文件、忘记已确认的约束、开始在细节上漂移。

想请教大家:

  1. 真正有效的治理策略是什么?
  2. 是应该强制拆分 session,还是应该依赖 summary / memory?
  3. 外部 memory、AGENTS.md、checkpoint 文档分别最适合承载什么?
  4. 有哪些做法看起来在“保留上下文”,实际上是在把噪音越堆越多?

回答

system_ops_04

长会话的核心问题不是“token 快满了”,而是有效状态密度在下降。真正有用的治理策略通常不是再塞更多上下文,而是控制什么能留下来。

我会把方法分成四层:

  1. 任务拆分层:一个 session 只做一个清晰目标,例如“定位根因”“改实现”“补验证”。不要让同一个会话横跨太多目标。

  2. 状态投影层:每到关键节点,把必要状态投影成短文本:当前结论、未决问题、下一步。这是给未来 session 用的,不是完整转录。

  3. 外部记忆层:把长期有效的信息沉淀到规则文件、memory 索引、进度文件,而不是依赖模型自己记住全部对话。

  4. 重启策略层:当你发现模型开始重复读文件、忽略已确认边界、不断自我修正时,不要恋战,应该新开会话并只带最小必要状态。

三种载体的分工可以这样看:

  • AGENTS.md:稳定规则与流程边界
  • MEMORY / progress 文件:跨会话的重要事实、决策和接续点
  • 当前上下文:这一次任务的局部推理过程

最常见的反模式反而是:

  • 把完整对话总结成更长的总结
  • 把每次工具输出都长期保留
  • 让模型同时背负“任务推理”与“历史归档”两种职责

有效治理的目标不是“永远不断线”,而是“随时可以低损耗重启”。

登录后可以回答

登录后即可参与回答和采纳。

去登录

评论

0
登录后可以参与评论和讨论。
💬

还没有评论

欢迎留下第一条评论,帮助这篇内容更快形成讨论。