0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeが2ヶ月劣化していた正体:Anthropic公式postmortem(4/23)の3 bugsを日本語解説+自衛策3つ

0
Posted at

この記事で分かること

2026-04-23、Anthropicは公式ブログで「3月から4月にかけての Claude Code 品質低下は 3つの regression が原因だった」と発表しました(An update on recent Claude Code quality reports)。3つとも v2.1.116(4/20)で修正済で、全 subscriber への usage limits reset という補償付きの発表です。

この記事では:

  1. 4/23 postmortem が認めた 3 bugs を日本語で解説
  2. postmortem が触れていない別事象(独立分析勢の Cache TTL 1h→5m 指摘)との切り分け
  3. 次に同種 regression が起きた時の自衛策 3 つ/usage 日次 log + hook 2 個)

対象読者は Max($200/月)・Pro($20/月)の subscriber で、3-4月に「Claude Codeが鈍くなった気がする」と感じていた人です。

4/23 postmortem が認めた 3 bugs

Anthropic 公式発表によれば、今回の品質低下は独立した 3 つの変更が原因で、偶然同じ期間に重なっていました。

Bug 1 — Reasoning effort downgrade(2026-03-04)

3/4、Anthropic は Claude Code の reasoning effort デフォルトを high → medium に下げました。

  • 意図: latency が長すぎて「UI が freeze した」と感じる層への対応
  • 副作用: 考える量が減り、回答品質が体感で低下

Bug 2 — Caching bug(2026-03-26)

3/26、「idle が 1 時間以上の session で、古い thinking を clear する」機能を ship しました。

  • 意図: 再開時の latency を下げるため、thinking cache を 1 回だけ clear する
  • バグ: その session の全ターンで clear が発火し続ける
  • 症状: Claude が「忘れっぽい/同じ話を繰り返す」挙動に

Stella Laurenzo 氏が AMD で計測した 6,852 sessions では、files-read-before-edit の比率が 6.6 → 2.0、thinking の長さが 2,200 chars → 600 chars に減少しました(公式 HN スレッド #47878905 895pt)。

Bug 3 — Verbosity instruction(2026-04-16)

4/16、system prompt に「verbosity(冗長さ)を削減せよ」という指示を追加しました。

  • 意図: 回答を簡潔にしたい層への対応
  • 副作用: 他の prompt 変更と相互作用して coding quality が悪化
  • 撤回: 4/20 v2.1.116 で revert 済

補償:4/23 全 subscriber に usage limits を reset

Anthropic は postmortem 発表と同時に、全 subscriber の usage limits を reset しました。5-hour / weekly の両方が reset されたかは subscriber ごとに /usage で確認するのが確実です。

2ヶ月間 degraded mode の Claude Code を使っていた Max $200/月層にとって、一定の金銭的補償の意味を持ちます。

Boris Cherny は "most complex investigation" とコメント。3 つの独立した変更が同時期に重なったため、ユーザー側で再現条件を絞れず、原因特定まで時間が掛かったという説明です。

「postmortem が触れていない」もう 1 本の火種

ここから先は公式発表ではなく、独立調査勢の主張です。分けて読んでください。

#46829 + Mariański 氏の Cache TTL 1h→5m 指摘

4/12、GitHub Issue #46829@seanGSISG が「Cache TTL が 3 月上旬から silent に 1h → 5m に regressed している」と提起。2 台のマシンで 92 日間に渡り 119,866 API calls を実測し、3/5 までは ephemeral_5m token 0 件、3/6 以降は急増、3/8 以降は 5m が主流化と示しました。Opus 換算で約 $1,582 の overpay(※ 後に投稿者本人が一部数値撤回)。

Jacek Mariański 氏は Medium で binary 分析まで実施し、cache 関連の追加 regression を 4 件特定(Resume Attachment Relocation Bug 他)。

しかし 4/23 postmortem はこれに触れていない

4/23 の Anthropic 公式発表は Cache TTL regression には明示的に触れていません。4/13 の The Register 取材でも「quota drain is not caused by cache tweaks」と否定しています。

読者の立場としては次のように整理できます:

  • Anthropic 公式認定 = 3 bugs(effort / caching thinking / verbosity)
  • 独立分析勢の主張 = + Cache TTL 1h→5m regression(公式は否定)

どちらを信じるかは読者の判断です。自分の /usage --json で cache_creation が cache_read の 40% を超えていれば、公式認定外の事象の影響を受けている可能性はあります。

次に同種 regression が起きた時の自衛策 3 つ

同じような「2 ヶ月劣化したと後で気付く」を繰り返さないために、以下の 3 つを Claude Code の .claude/settings.json や cron に仕込んでおくと、ユーザー側で degraded mode を早期検知できます。

自衛策 1 — /usage --json を日次 log する

# crontab -e
0 0 * * * /usr/local/bin/claude --usage-json > "$HOME/claude-usage/$(date +\%Y-\%m-\%d).json"

毎日 0:00 に /usage --json を保存します。cache_creation_tokens / cache_read_tokens / thinking_tokens の日次推移を後で見返せば、「今月から何か変わった」を発見可能。今回の 3 bugs も、日次 log があれば 3 月時点で「thinking の長さが突然半分以下になった」と気付けた可能性が高いです。

自衛策 2 — model version pinning hook

Claude Code が session 開始時に model を silent に downgrade する挙動(例:Opus 4.7 → 4.6 切替)に対する警戒。

#!/bin/bash
# .claude/hooks/model-version-check.sh
EXPECTED="claude-opus-4-7"
ACTUAL=$(claude --status --json 2>/dev/null | jq -r '.model.id // "unknown"')
if [ "$ACTUAL" != "$EXPECTED" ]; then
  echo "⚠ Model downgraded: expected $EXPECTED, got $ACTUAL" >&2
  osascript -e 'display notification "Claude Code model downgraded" with title "⚠"' 2>/dev/null || true
fi

期待 model と異なる場合に notification を飛ばします。具体実装は cc-safe-setupexamples/model-version-alert.sh を参考にしてください。

自衛策 3 — cache/thinking ratio の週次 alert

Bug 2(caching bug)は「thinking の長さが半分以下になる」症状を出しました。日次 log があれば、週次でこの変化を検出できます。

#!/bin/bash
# 過去 7 日の thinking_tokens 中央値 vs 今日の thinking_tokens
MEDIAN=$(ls -t ~/claude-usage/*.json | head -n 8 | tail -n 7 | \
         xargs -I{} jq '.totals.thinking_tokens // 0' {} | \
         sort -n | awk 'NR==4')
TODAY=$(jq '.totals.thinking_tokens // 0' ~/claude-usage/$(date +%Y-%m-%d).json)
if [ $(echo "$TODAY < $MEDIAN / 2" | bc -l) -eq 1 ]; then
  echo "⚠ thinking_tokens dropped to <50% of 7-day median"
fi

「今日の thinking が過去 7 日の中央値の半分未満」で alert。Bug 2 のような silent な degradation を検知できます。

まとめ

  • 2 ヶ月の劣化は公式認定 3 bugs(effort / caching / verbosity)が主因、v2.1.116 で修正済、4/23 全 subscriber の usage limits reset で補償
  • Cache TTL 1h→5m regression は公式認定外、独立分析との乖離あり。自分の /usage --json で cache_creation/cache_read ratio を見て判断
  • 次回同種 regression に備える 3 自衛策:日次 /usage --json log/model version pinning hook/cache ratio 週次 alert
  • 自衛策の具体実装は cc-safe-setup(MIT / 707 hooks)に寄せています

参考リンク

関連コンテンツ(本記事で解説した自衛策を深掘りしたい方向け)


※ 本記事の公式情報は 2026-04-25 時点。Anthropic が後日追加の postmortem を出す・3 bugs の修正が rollback される等の変化があれば追記します。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?