Anthropic Engineering Blog · 2025-04-23
Claude Code
品質問題
事後報告

三項獨立變更導致回應品質下降
全部於 2025 年 4 月 20 日修復
v2.1.116 · 事件已結束
事件解決版本:v2.1.116 │ API 本身未受影響
事件概述

三項獨立問題

問題一 · 3/4 – 4/7
預設推理強度被調低
high → medium,用戶反映「感覺變笨了」
問題二 · 3/26 – 4/10
快取 Bug 持續清除推理歷史
閒置後每輪只保留最近一個 thinking block
問題三 · 4/16 – 4/20
系統提示詞限制輸出長度
≤25/100 words 限制使評測分數下降約 3%
受影響:Claude Code、Agent SDK、Cowork │ API 未受影響
問題一 · 2025-03-04

預設推理強度調低

發生
3/04
改為 medium
修復
4/07
撤回變更
持續
34 天
Sonnet / Opus 4.6
起因:部分用戶反映 high 模式等待時間過長,UI 看起來像是凍結。內部評測顯示 medium 僅略降智能卻顯著降延遲,故於 3 月 4 日將預設值由 high → medium
後果:用戶立即反映「Claude Code 感覺變笨了」。Anthropic 多次調整 UI(啟動通知、inline effort 選擇器、重新引入 ultrathink),大多數用戶仍維持 medium 預設值。
問題一 · 修復後狀態

推理強度現行預設

xhigh
Opus 4.7(修復後新預設)
high
所有其他模型(修復後恢復)
medium
問題期間的錯誤預設(已撤回)
4 月 7 日撤回變更,預設值恢復至 high,Opus 4.7 更提升至 xhigh
用戶可透過 inline effort 選擇器手動調整推理強度
問題二 · 2025-03-26

快取優化 Bug

發生
3/26
Bug 上線
修復
4/10
v2.1.101
持續
15 天
Sonnet / Opus 4.6
設計意圖:閒置超過一小時後,清除舊 thinking blocks(clear_thinking_20251015 + keep:1),以減少恢復 session 的 token 成本。
Bug 內容:原本只應執行一次的清除動作,在之後每一輪對話中持續執行。一旦 session 曾閒置超過一小時,每輪新請求只保留最近一個 thinking block,其餘全部丟棄。
現象:Claude 越來越不記得自己為何做出特定選擇 → 健忘、重複執行、奇怪的工具選擇。
問題二 · 為何難以發現

掩蓋因素與發現契機

兩個不相關的實驗(訊息佇列 + thinking 顯示修改)掩蓋了 Bug,在大多數 CLI session 中無法重現
Bug 牽涉 context management × Anthropic API × extended thinking 三層交叉,通過了人工審查、unit tests、端對端測試仍未被發現
持續清除 thinking blocks 導致快取命中率下降,被認為是使用量消耗異常加快的原因
使用 Opus 4.7 對問題 PR 進行 Code Review 時成功找到 Bug(Opus 4.6 未找到)
Anthropic 決定為 Code Review 工具加入更多 repository 作為上下文
問題三 · 2025-04-16

系統提示詞限制輸出

發生
4/16
提示詞上線
修復
4/20
立即撤回
影響
−3%
評測分數
起因:Opus 4.7 輸出較冗長,雖使困難問題更聰明,但消耗更多 tokens。為此在系統提示詞中加入:
Length limits: keep text between tool calls to ≤25 words.
Keep final responses to ≤100 words unless the task requires more detail.
後果:多週內部測試未發現問題,但更廣泛的 ablation 分析顯示,此規則使 Opus 4.6 與 Opus 4.7 的評測分數下降約 3%,對程式碼品質有顯著負面影響。
受影響:Sonnet 4.6、Opus 4.6、Opus 4.7(三個模型均受到影響)
根因分析

為何難以定位

三項變更影響的流量區段各不相同、時間也不同步,整體看起來像是廣泛且不一致的品質下降
初期難以與正常的用戶反饋波動區分,內部使用量與評測最初均未能重現問題
系統提示詞變更僅針對 Opus 4.7 特性設計,卻意外影響所有模型,且多週測試未發現 regression
快取 Bug 的觸發條件(閒置超過 1 小時)使其在大多數開發測試情境中無法重現
三月初開始調查用戶回報,但三個根源歷時數週才全部識別
後續改善措施

防止再犯的行動

確保更大比例的內部員工使用與公開版本完全相同的 Claude Code 建置(而非測試版)
每次系統提示詞變更必須針對每個模型執行完整 eval suite;持續進行 ablation 分析
建立新工具使提示詞變更更易於審查與稽核;在 CLAUDE.md 加入模型專屬修改指引
對任何可能影響智能的變更加入浸泡期(soak period)、更廣泛的 eval 套件及漸進式推出
創立 @ClaudeDevs(X)帳號與 GitHub 集中討論串,深入說明產品決策與背後邏輯
時間軸 · 對用戶的行動

事件時間軸

日期事件
2025-02Opus 4.6 上線,預設 high 推理強度
03-04預設推理強度改為 medium(問題一)
03-26快取優化 Bug 上線(問題二)
04-07問題一修復,預設恢復 high(Opus 4.7 為 xhigh
04-10問題二修復(v2.1.101)
04-16系統提示詞冗長限制上線(問題三)
04-20問題三修復,三項問題全數解決(v2.1.116)
04-23發布事後報告;重置所有訂閱用戶使用量上限
感謝所有使用 /feedback 或提供具體重現範例的用戶