Anthropic Claude Code 质量事后分析
Anthropic 已识别并解决了导致 Claude Code、Claude Agent SDK 和 Claude Cowork 感知质量下降的三个不同技术问题。所有问题均已在 4 月 20 日(v2.1.116)得到解决,公司已于 4 月 23 日为所有订阅用户重置了使用限制。
质量下降的根本原因
Anthropic 将报告的性能下降追溯到 2026 年 3 月至 4 月期间实施的三个独立变更。在此期间,API 和推理层始终未受影响。
1. 默认推理力度 (Reasoning Effort) 降低
3 月 4 日,Anthropic 将 Claude Code 的默认推理力度从 high 更改为 medium。此举旨在减少导致 UI 看起来像冻结的长尾延迟,并最大限度地提高用户的使用限制。
虽然内部评估表明,对于大多数任务,medium 力度提供了足够的智能并显著降低了延迟,但用户反馈表明智能度有明显下降。Anthropic 已于 4 月 7 日撤销了此项变更。目前的默认设置已针对 Opus 4.7 设置为 xhigh 力度,并针对所有其他模型设置为 high 力度。
2. 会话记忆与缓存 Bug
3 月 26 日,引入了一项缓存优化,旨在通过使用带有 keep:1 的 clear_thinking_20251015 API header 来清除旧的思考过程部分,从而降低恢复闲置超过一小时的会话的成本。
实现过程中的一个 Bug 导致系统在会话剩余期间的每一次轮次中都会清除思考历史,而不仅仅是在恢复时清除一次。这导致了:
- 遗忘与重复:Claude 失去了关于它为何进行先前编辑或工具调用(tool calls)的记忆。
- 成本增加:思考块(thinking blocks)的持续丢弃导致频繁的缓存未命中(cache misses),从而比预期更快地消耗用户的使用限制。
该问题已于 4 月 10 日(v2.1.101)得到修复。Anthropic 指出,Opus 4.7 在提供完整仓库上下文时,能够在回测中识别出此 Bug,而 Opus 4.6 则不能。
3. 系统提示词 (System Prompts) 中的冗余约束
4 月 16 日,系统提示词中添加了一项指令,旨在减少 Opus 4.7 的冗余程度,因为该模型倾向于产生过多的输出 Token。具体指令要求在工具调用之间保持文本量 $\le 25$ 个单词,并在除非需要更多细节的情况下将最终响应限制在 $\le 100$ 个单词以内。
随后的消融实验(ablations)显示,该约束导致 Opus 4.6 和 4.7 的性能下降了 3%。该提示词已于 4 月 20 日撤销。
未来预防措施
为了防止类似的回归,Anthropic 正在对其开发和部署流水线实施以下变更:
内部测试:更大比例的内部员工现在将使用与公开版本完全一致的 Claude Code 公开构建版本,以确保测试环境与用户体验一致。
代码审查工具:正在改进内部的代码审查工具,计划将改进后的版本交付给客户。
提示词治理 (Prompt Governance):Anthropic 正在对系统提示词的变更引入更严格的控制,包括针对每个模型的广泛评估、持续的消融实验以了解单行代码的影响,以及新的审计工具。 n- 部署策略:涉及智能度权衡的变更现在将需要经过浸泡期(soak periods)、更广泛的评估套件和逐步滚动部署。
模型特定型门控 (Model-Specific Gating):已在
CLAUDE.md中添加了指导说明,以确保模型特定的变更仅应用于目标模型。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch