你已经在 Codex CLI 或 Claude Code 上耗了四十分钟,智能体攒了一大堆上下文,这时候推倒重来,感觉像把四十多分钟直接扔进垃圾桶。于是你继续加码,一句"不对,再试一次"接一句,结果每一轮都更慢、更贵、更不准。
很多时候,正确的动作是杀掉这个会话,用一份简短摘要重新开一个。问题在于,怎么判断什么时候该动手。
长会话为什么会退化
智能体会话会把整段历史一路带下去:读过的每个文件、每次工具输出、每一次失败的尝试。这个包袱越滚越大,代价随之而来。
- 每一轮都更贵,因为每次都要把更多上下文送进去。
- 质量下滑。模型处理超长上下文时可靠性下降,早期的错误留在历史里,继续影响后面的轮次。
- 压缩会丢细节。工具为了省空间自动摘要时,文件路径、具体报错这类精确信息可能消失,导致重复读文件、重复犯同样的错。
- 套餐额度消耗更快,更早撞上用量上限。
同一个任务,一份精确简报开出的新会话,表现往往好过一个臃肿的旧会话。
七个该重启的信号
- 智能体重复一个它已经试过的修法——它已经跟丢了自己的历史。
- 它跟早先的决定自相矛盾,比如把你已经否掉的方案又搬回来。
- 同一件事你已经纠正过它两次。
- 任务变了。你本来在修一个 bug,现在在重新设计一个模块。新任务,新会话。
- 花费或用量一路爬升,却没有任何提交。二三十分钟没有检查点,就是危险信号。
- 压缩已经发生过不止一次,智能体开始问它本来就知道的事。
- 回答越来越慢、越来越含糊。
命中两条及以上,就该重启了。
怎么重启而不丢进度
杀掉会话不等于丢掉工作。先做这几步:
- 把有用的东西提交或暂存。如果 diff 里有一部分是好的,提交到一个分支上;如果一点都不好,就 git stash 或 reset。
- 退出前先要一份交接摘要,提示词可以是这样:用150字以内总结目标、你改了什么、试过哪些失败方案及原因、当前卡在哪里,并列出相关文件路径。
- 改这份摘要。删掉错误结论,补上你知道而智能体不知道的信息。
- 用这份摘要作为第一条提示开新会话,再加一句更紧的任务说明,比如"只修 auth.test.ts 里失败的那个测试,不要改会话模型"。
这套动作通常花两分钟,省下的时间远不止两分钟。
让重启变得更便宜
- 小任务。把提示词限定在一个短会话内能做完的范围。
- 常驻上下文文件。把项目规则和架构说明放进 CLAUDE.md 或 AGENTS.md,新会话免费拿到,不用重新摸索。
- 检查点提交。每通过一步就让智能体提交一次。
- 用 worktree 并行试。不确定哪个方案可行时,在两个独立的 git worktree 里各开一个新会话,而不是在一个长会话里同时试两条路。
拿用量表当裁判
拿不定主意是继续推还是重启时,看这个会话到目前为止花了多少、产出了多少。如果用量稳定爬升了半小时而没有任何提交,答案已经写在那里了。麻烦在于很多人从来不看,因为用量数据在网页仪表盘里,而会话在终端里。
作者使用 TokenBar 这个 Mac 菜单栏应用来追踪 Claude Code、Codex、Cursor 及相关 AI 用量,当天的消耗一眼可见。它售价15美元买断,构建在 MIT 许可的 CodexBar 项目之上。作者声明自己开发了 TokenBar(Aura Technologies)。它不会替你做决定,只是把数字摆在你还能采取行动的时候。
值得写进智能体配置的一条规则
智能体对明确的停止条件执行得很好。可以加一条类似这样的规则:如果同一个方案失败两次,停下来,总结试过什么、卡在哪里,而不是继续换着花样试。
这一条能把许多本来会拖长的会话,变成以一个有价值的问题收尾的短会话。
长会话之所以感觉高效,是因为你在里面投入了。但上下文不是免费的,塞满失败尝试的历史会主动伤害结果。当智能体开始自我重复、跑偏,或者只烧用量不出提交时,保存有用的部分,拿一份摘要,重新开始。这样更便宜、更快,通常结果也更好。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.