Anthropic Claude Code 品質事後檢討

Anthropic 已識別並解決了三個導致 Claude Code、Claude Agent SDK 和 Claude Cowork 感覺品質下降的技術問題。所有問題已於 4 月 20 日(v2.1.116)解決,公司已於 4 月 23 日為所有訂閱者重置了使用限制。

品質下降的根本原因

Anthropic 將報告的性能下降追溯到 2026 年 3 月至 4 月期間實施的三個獨立變更。在這些事件期間,API 和推理層保持不受影響。

1. 預設推理強度降低

On March 4, Anthropic changed the default reasoning effort for Claude Code from high to medium. This was intended to reduce long tail latencies that caused the UI to appear frozen and to maximize user usage limits.

雖然內部評估顯示,對於大多數任務,中等強度(medium effort)提供了足夠的智能,且延遲顯著降低,但用戶回饋顯示智能度有明顯下降。Anthropic 已於 4 月 7 日撤回了此項變更。目前的預設值現在為 Opus 4.7 的 xhigh 強度,以及所有其他模型的 high 強度。

2. 會話記憶與快取錯誤

On March 26, a caching optimization was introduced to reduce the cost of resuming sessions idle for over an hour by clearing old thinking sections using the clear_thinking_20251015 API header with keep:1.

A 實作中的錯誤導致系統在會話剩餘期間的每一次輪次中都會清除思考歷史,而不是僅在恢復時清除一次。這導致了:

  • 遺忘與重複:Claude 失去了關於它為何進行先前編輯或工具調用(tool calls)的記憶。
  • 成本增加:持續丟棄思考區塊會導致頻繁的快取未命中(cache misses),從而比預期更快地消耗用戶的使用限制。

此問題已於 4 月 10 日(v2.1.101)修復。Anthropic 指出,Opus 4.7 在提供完整代碼庫上下文時,能夠在回測中識別出此錯誤,而 Opus 4.6 則不能。

3. 系統提示詞的冗長度限制

On April 16, a system prompt instruction was added to reduce the verbosity of Opus 4.7, which tended to produce excessive output tokens. The specific instruction required keeping text between tool calls to $\le 25$ words and final responses to $\le 100$ words unless more detail was required.

隨後的消融實驗(ablations)顯示,此項限制導致 Opus 4.6 和 4.7 的性能下降了 3%。該提示詞已於 4 月 20 日撤回。

未來預防措施

為了防止類似的退化,Anthropic 正在對其開發和部署流程實施以下變更:

  • 內部測試:更大比例的內部員工現在將使用與公眾版本完全相同的 Claude Code 公開版本,以確保測試環境與用戶體驗一致。

  • 代碼審查工具:正在改進內部代碼審查工具,並計劃將改進後的版本提供給客戶。

  • 提示詞治理:Anthropic 正在對系統提示詞的變更引入更嚴格的控制,包括針對每個模型的廣泛評估、持續的消融實驗以了解單行代碼的影響,以及新的審計工具。

  • 部署策略:涉及與智能度權衡的變更現在將需要浸泡期(soak periods)、更廣泛的評估套件,以及逐步滾動部署。

  • 模型特定型號閘控:已在 CLAUDE.md 中添加了指南,以確保模型特定的變更僅應用於目標模型。

Sources

相關

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch