Claude Code 长会话别再被假 1M 打断:2.1.311+ 自动 compact 与排除笔记清单

54 次阅读 0 点赞 0 评论 16 分钟原创技术教程

标准上下文会话过约 200K 时,旧版常停在「Usage credits required for 1M context」。Claude Code 2.1.311+ 改为 compact 后续跑,并修 compact 后 MEMORY.md/CLAUDE.md 旧内容等。本文给升级验收、与 SmartCompact 分工,以及防失忆的排除笔记清单。

#Claude Code #省Token #上下文压缩 #compact #SmartCompact #排除笔记 #AI Agent
Claude Code 长会话别再被假 1M 打断:2.1.311+ 自动 compact 与排除笔记清单

Claude Code 长会话别再被假 1M 打断:2.1.311+ 自动 compact 与排除笔记清单

长重构、通读日志、跨十几个文件排障——Claude Code 会话一长,以前常卡在一句看起来很唬人的报错:

Usage credits required for 1M context

人读成「你没买 1M 上下文额度」。很多标准上下文(约 200K)用户其实根本没开 1M,只是单次请求把上下文顶过了约 200K 的档。会话直接停,进度断在半截。

2.1.311 起官方改了行为:标准上下文会话在请求超过约 200K token 时,不再停死,而是 compact(压缩)对话后继续跑。同版还修了 compact 后 MEMORY.md / CLAUDE.md 读到旧内容、超长 CLAUDE.md 卡顿、大文件 Write/Edit 假报 0 行等问题。npm 上素材整理时 latest 已到 2.1.312(2026-10-27),正文按「升到 2.1.311+ / 当前 latest」写即可。

这篇接本站省 Token 系列:755 SmartCompact(人为挑时机压缩)、760 冷静篇(别信 README 大数字)。重点不是再安利一把插件,而是:升级后官方会更勤 compact——你得有一套「排除笔记」防失忆、防重试死路。

下文 changelog 要点均来自官方 CHANGELOG 与文档页 code.claude.com/docs/en/changelog。我未复跑 1M 额度账单实验;升级与清单按公开说明整理。

一、先看结论

项 建议
要不要升 长会话、标准上下文用户:升到 2.1.311+(建议跟 latest)
假 1M 打断 ≥2.1.311:超约 200K 时 compact 后续跑,不再停在那句 Usage credits…
新风险 compact 更勤 → 中间试错、排除过的路径更容易「忘」
对治 会话外维护 排除笔记(ruled-out notes):路径 / 结论 / TTL
和 755 官方自动 compact = 保活;SmartCompact = 挑「提交/测试绿」再压。可并存,别指望只靠某一个

二、痛点:假「要 1M 额度」打断长会话

典型场景:

  1. 你开的是标准上下文会话(没特意开 1M)。
  2. 读了一堆日志、多文件 diff、几轮工具结果堆上去,单次请求上下文过了约 200K。
  3. 旧版本:直接停,报 "Usage credits required for 1M context"。
  4. 你去查账单、怀疑订阅——其实问题是过线策略,不是「没买 1M」。

这和「真的在用 1M 上下文、额度不够」是两回事。旧行为把「过 200K」和「要 1M 额度」绑在同一句文案上,排查成本很高:长会话用户以为自己缺钱,其实只是该压缩了。

三、2.1.311 改了什么(对照官方原文)

官方 2.1.311 条目里,和长会话最相关的几条(英文原文要点 + 中文说明):

  1. 假 1M 停死 → compact 后续跑

    Fixed standard-context sessions stopping with "Usage credits required for 1M context" when a request ran over 200K tokens; Claude Code now compacts the conversation and continues
    标准上下文、请求过约 200K:以前停;现在 压缩对话并继续。

  2. compact 后 MEMORY.md / CLAUDE.md 旧内容

    Fixed Claude seeing stale MEMORY.md and CLAUDE.md content right after automatic compaction when those files were edited earlier in the session
    会话里刚改过这些文件,自动 compact 后模型仍可能看到压缩前的旧快照——同版已修。升级后仍建议:关键约定写进仓库文件,别只活在聊天里。

  3. 超长 CLAUDE.md 卡顿

    Fixed long freezes at startup and after reading or editing files when a CLAUDE.md file holds a very long list item
    CLAUDE.md 里塞了超长列表项时,启动/读写会卡;同版修。

  4. 大文件 Write/Edit 假报 0 行

    Fixed Write and Edit stalling … and reporting 0 lines changed, when changing thousands of lines in a file
    改几千行时可能卡住几秒并报 0 行变更;同版修。长重构用户常撞。

版本线:

  • 2.1.311:上述行为变更所在版本(changelog 标注)。
  • 2.1.312:后续 latest(素材包整理时为 2026-10-27 附近),修点与体验项更多;日常直接跟 latest 即可。

文档入口:

四、升级步骤(只写公开、可自检的)

安装方式因环境而异(npm 全局、官方 install 脚本、桌面端等),不要死记某条过期的一行命令。稳妥流程:

1. 看当前版本

在终端执行:

bash 复制代码
claude --version

若输出低于 2.1.311,需要升级。

2. 按你当初的安装渠道升级

  • npm 全局安装的用户:用你平时升级 Claude Code 的同一套 npm 命令升到 latest,再跑一次 claude --version 确认 ≥2.1.311(理想情况已是 2.1.312+)。
  • 官方安装脚本 / 桌面端用户:按官方文档的更新说明操作;升完同样用 claude --version 验收。
  • 不确定渠道:先查官方文档当前推荐安装方式,再对照 changelog 确认版本号;以 claude --version 与 changelog 条目为准,勿轻信第三方镜像说明。

3. 新开或恢复长会话再验证

升级后建议:

  • 长任务尽量在新版本会话里继续(或 /resume 到已升级的 CLI)。
  • 若仍出现那句 Usage credits…,先确认版本号是否真的 ≥2.1.311,再查是否其实开了 1M / 额度类限制(那是另一条线)。

五、compact 更勤之后的风险:失忆与重试死路

自动 compact 解决的是「别停死」;它不保证压缩摘要里留住你所有试错结论。

常见翻车:

现象 为什么会发生 后果
又去改已经排除的路径 摘要偏「当前目标」,弱化「试过失败」 烧 token、引入回归
重复跑失败命令 报错栈被压短或丢掉 死循环式重试
忘掉「别动某文件」 口头约定只在聊天里 误改配置 / 密钥旁文件
以为 MEMORY.md 已更新 旧版 compact 后可能见旧快照(2.1.311 已修,仍勿只靠聊天) 约定漂移

所以:官方越自动 compact,你越需要会话外的「排除笔记」。
这和 755 里 SmartCompact 强调「进度笔记接上」是同一类工程习惯,只是侧重点从「进度」扩到「已排除」。

六、排除笔记 / ruled-out notes 清单

建议在仓库里固定一个小文件(示例名,可自定):

text 复制代码
docs/agent-ruled-out.md
## 或 .claude/ruled-out.md(按团队习惯)

模板(可直接复制)

markdown 复制代码
## Ruled-out notes(排除笔记)

> 会话 compact / 换会话后仍有效。过期条目删掉或标 obsolete。

## 进行中任务
- 目标:…
- 截止日期 / 分支:…

## 已排除(不要再试)

| 路径或假设 | 结论(为何排除) | 证据(命令/报错摘要) | 记入时间 | TTL / 何时可重开 |
| --- | --- | --- | --- | --- |
| `src/foo/legacy.ts` 整文件重写 | 会破坏 X 调用方;改局部补丁即可 | 2026-10-28 测:… | 2026-10-28 | 本需求结束前勿重开 |
| 「升级依赖到 major」 | 锁文件冲突,非根因 | `npm ls` 输出摘要 | 2026-10-28 | 根因修完后再评估 |
| 清全量缓存再跑 | 已试,问题仍在;浪费 20min | … | 2026-10-28 | 换环境前勿重复 |

## 关键结论(另存,勿只留在聊天)
- …

字段怎么填

  1. 路径或假设:文件、模块、方案名、一句可检索的假设。
  2. 结论:一句话「为什么不要再走这条路」。
  3. 证据:命令、关键报错一行、PR/issue 链接——短,别贴整段日志进笔记(日志可以链到 gist / 本地文件)。
  4. TTL / 何时清:
    • 需求结束 → 整表归档或删除;
    • 「换环境后再说」→ 写明触发条件;
    • 无期限的硬约束(合规、密钥旁路径)→ TTL = 永久,并写进 CLAUDE.md / 正式规范。

和 Agent 怎么配合

  • 开长会话时在第一轮提示:先读 docs/agent-ruled-out.md,遵守已排除项。
  • 每排除一条,先改笔记再继续聊——compact 之后聊天可能丢,文件还在。
  • 关键架构结论同步进 CLAUDE.md 或 ADR;排除笔记只扛「试错负向知识」。

七、和 755 SmartCompact:官方自动 compact vs 挑时机压

官方自动 compact(≥2.1.311 行为强化) 755 SmartCompact
触发 接近/越过上下文策略线(含标准上下文过约 200K 的保活路径) 过线后,优先在「提交 / 测试绿 / 任务收口」再压
目标 别停死、能续跑 少在改到一半时压,降丢细节与重摸现场成本
谁控制时机 运行时策略 插件规则 + 你的阶段节点
失忆风险 有,靠排除笔记 / 仓库文件 有,插件有进度笔记;仍建议排除笔记

可并存的用法建议:

  1. 先升级到 2.1.311+:拿到「过 200K compact 续跑」,消除假 1M 打断。
  2. 长重构日:若已装 SmartCompact,继续用它把「主动压缩」尽量钉在绿测/提交后;官方自动 compact 当保底。
  3. 无论有没有插件:维护排除笔记;compact 前后扫一眼表。
  4. 别叠太多「省 token」刀还不计量——760 已说明 README 大数字常兑不现;本篇升级是可靠性修复,不是宣称再省百分之几十。

八、检查清单(可打印)

升级与版本

  • claude --version ≥ 2.1.311(建议 latest)
  • 对照官方 changelog 确认本机版本含 2.1.311 那条「compact and continues」

会话策略

  • 长任务用升级后的 CLI / 桌面端
  • 标准上下文用户:再遇 Usage credits… 先查版本,再查是否真开了 1M

排除笔记

  • 仓库内有 ruled-out 文件(或等价)
  • 每条含:路径/假设、结论、证据、TTL
  • 开会话首轮要求 Agent 先读该文件

关键结论另存

  • 长期约定进 CLAUDE.md / ADR,不单靠聊天
  • MEMORY.md 有改动时,compact 后抽查是否仍符合预期(2.1.311 已修旧快照,抽查仍值得)

同版顺带(可选)

  • CLAUDE.md 避免单个超长列表项拖慢启动
  • 大文件改动后若仍见「0 lines」,确认已升到含该修复的版本

九、什么时候还可能看到 1M 相关提示

升级后仍可能合理出现额度/1M 相关文案,例如:

  • 你确实在用 1M 上下文相关能力,且账户侧有额度限制;
  • 其它计费/订阅提示(与「标准上下文过 200K」不是同一条修复)。

排查顺序建议:版本号 → 是否标准上下文 → 是否真开 1M → 再查账单。不要一看到旧文案就默认「没升级成功」或「必须买 1M」。

附:一次「假 1M 打断」后的自救顺序(升级前后都适用)

若你此刻卡在半截会话里,可以按这个顺序减损,而不必先争论「要不要买 1M」:

  1. 记下断点:当前目标一句、最后成功的提交/测试、正在改的文件列表——写进排除笔记或临时 WIP.md。
  2. 查版本:claude --version。若 < 2.1.311,先升级再谈续跑策略。
  3. 决定续还是开新:
    • 旧版本且已停死:升级后 /resume 或新开,并把 WIP / ruled-out 贴进第一轮。
    • 已是 2.1.311+ 仍报额度类文案:按第九节区分「真 1M/订阅」与旧文案残留。
  4. 压缩前人工摘要:即使客户端会自动 compact,你自己的三五行「已排除 / 下一步只做 X」往往比模型摘要更准。
  5. 续跑后立刻校验:让 Agent 复述排除表与下一步;不对就先改笔记再动手改代码。

这套顺序的目标很朴素:少丢负向知识,少付第二次探索税。和是否安装 SmartCompact 无关——插件优化的是「何时压」,笔记优化的是「压完还记得什么不该做」。

和「进度笔记」怎么分工

文件 写什么 谁在 compact 后最需要
进度 / checkpoint 做到哪、下一步、绿测命令 接着干
排除笔记 别再试什么、为何、TTL 别重蹈覆辙
CLAUDE.md / ADR 长期约定、目录约定、禁止事项 跨会话、跨人

三份都写「正在做的事」会打架;约定:正向进度一份、负向排除一份、长期规范一份。755 讲进度侧,本文补排除侧。

十、小结

  1. 2.1.311+ 把「标准上下文过约 200K → 假 1M 停死」改成了 compact 后续跑——长会话用户应升级。
  2. Compact 更勤 ≠ 更聪明;排除笔记把「不要再试」写进仓库。
  3. 与 755 SmartCompact 分工:官方保活,插件挑时机;两者可一起用。
  4. 省 Token 仍要冷静:760 的方法论在——先表后刀;本篇优先修的是会话连续性。

参考来源

最后更新:2026-10-28T15:48:26

评论 (0)

发表评论

blog.comments.form.loading
0/500

暂无评论,快来发表第一条评论吧!