
2026/04/24 2:48
最近の Claude Code に関する品質報告に関する更新情報です。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
4月20日付で、Anthropic はClaude Code、Agent SDK および Cowork(API に影響なし)に影響を及ぼした3つの個別の技術的問題を解決しました。これらの問題はレスポンス品質の低下を引き起こし、モデルが知能に欠け、記憶喪失に見えたり、品質の低いコードを生成したりする現象をもたらしました。これらの問題は3月から4月にかけて実施された異なる更新から発生しており、具体的には以下の3点です。(1) 高速化のための推理 effort の削減により、知覚された知能性が低下したこと;(2) idling 期間後、すべてのターンの思考ブロックを誤ってクリアしてしまうキャッシュのバグにより、記憶喪失が生じかつトークンが無駄になったこと;(3) 厳格な冗長性制限によりコーディング性能が3%減少したこと。これらの変化は、通常の変動や無関係の実験と区別が困難である一貫性のないユーザー体験を生み出し、複合的な調査によって根本原因を特定するまで解決されていませんでした。
本文
過去 1 ヶ月間にわたり、あるユーザー群で Claude の回答が悪化したとの報告を調査してまいりました。これらの報告の背景には、Claude Code、Claude Agent SDK および Claude Cowork に影響を与えた 3 つの変更点がございました。なお、API は今回の影響を受けませんでした。現在、すべての問題は 4 月 20 日(バージョン v2.1.11)時点で解決されたとのことです。本記事では、私たちが発見したこと、修正した内容、そして今後類似の問題が再び発生する確率を大幅に低下させるための取り組みについてご説明いたします。
私たちはモデルの劣化に関する報告に対し、極めて真剣に取り組んでおります。決して意図的にモデルを劣化させることはありえず、API と推論層には影響がなかったことを直ちに確認いたしました。調査の結果、以下の 3 つの異なる問題点が特定されました:
- 3 月 4 日: Claude Code のデフォルトのリレーゼンスベルタ(reasoning effort)を「high」から「medium」へ変更し、ユーザーによっては high モードで観測された非常に長いレイテンシ(UI がフリーズしているように見える程度)を削減しようとしたところですが、これは不適切なトレードオフでありました。ユーザーより「高度な知能をデフォルトとし、単純なタスクに対しては低負荷を選択するよう」お願したとのフィードバックを受け、4 月 7 日にこの変更を取り消すことにいたしました。Sonnet 4.6 と Opus 4.6 に影響が生じました。
- 3 月 26 日: クロードの以前の思考プロセスを、1 時間以上アイドル状態にあるセッションから削除する機能を実装し、ユーザーがそれらのセッションを再開した際のレイテンシ削減を目指しました。しかし、バグによりこの処理はセッション全体を通じて各ターンの度に実行されてしまい、一度きりではなく続発してClaude が忘れっぽい様子を繰り返すという現象を引き起こしてしまいました。4 月 10 日に修正いたしました。Sonnet 4.6 と Opus 4.6 に影響が生じました。
- 4 月 16 日: ヴェルビョーシティ(冗長性)を削減するためのシステムプロンプト指引人が追加されました。これに加え他のプロンプト変更の影響もあり、コーディング品質に悪影響を及ぼし、4 月 20 日に復元いたしました。Sonnet 4.6、Opus 4.6 および Opus 4.7 に影響が生じました。
各変更は異なるスケジューリングで交通量の異なる部分に影響を与えたため、総合的な効果としては広範かつ一貫性のない劣化のように見えました。私たちが 3 月上旬から報告の調査を開始した当初は、通常のユーザーフィードバックの変動と区別が難しく、また内部の利用状況や評価テストでも最初に同定された問題を再現することができなかったのです。これはクラウドコードをご利用いただいた皆様にとって予想される体験ではありません。4 月 23 日以降、すべてのサブスクライバーに対して利用制限をリセットいたします。
Claude Code のデフォルトのリレーゼンスベルタ変更について
2 月に Opus 4.6 を Claude Code としてリリースした際、私たちがデフォルトのリレーゼンスベルタを「high」に設定しました。その後すぐに、Opus 4.6 の high エフォートモードでは時々思考時間が過長となり、UI がフリーズし続けること、およびこれに伴う過度なレイテンシとトークン使用量の増大についてユーザーからフィードバックをいただきました。
一般的には、モデルがより長く思考すればするほど出力品質は向上します。「effort levels」は、Claude Code によってユーザーがこのトレードオフ(より多くの思考 versus より低いレイテンシおよび少ない利用制限への到達)を設定することを可能にする仕組みです。モデルの calibrating の過程で、テスト時間あたりの計算量曲線上において人々に最良の選択肢範囲を与えるポイントを選定いたします。その後、プロダクト層ではこの曲線上でどのポイントを開発デフォルトとするかを決定し、これが Messages API へ送られる effort パラメータとなります。残りのオプションは
/effort を通じて利用可能です。
内部での評価およびテストにおいて、「medium」エフォートレベルは、大部分のタスクにおいて若干低い知能レベルを示しつつも、大幅に少ないレイテンシを実現することがわかりました。また、思考プロセスにおいて稀な非常に長い尾部レイテンシの問題を抱えておらず、ユーザーの利用制限の最大化に寄与しました。その結果、「medium」をデフォルトエフォートとする変更をロールアウトし、製品内ダイアログを通じてその理由をご説明いたしました。
そのすぐ後にロールアウトされた後、ユーザーの皆様からは「Claude Code が知能が低下しているように感じる」といった報告が始まりました。現在のエフォート設定をより明確にすることを目的とした数回のデザインイテレーションをリリースし(起動時の通知、インラインエフォートセレクターの復活、ultrathink の復帰を含む)、デフォルトを変更できることを皆様にお知らせしましたが、多くのユーザーが「medium」エフォートのデフォルトを引き続き使用していました。さらに多くの顧客からのフィードバックを受け、4 月 7 日にこの決定を撤回することにいたしました。現在、Opus 4.7 では全ユーザーが「xhigh」エフォートへのデフォルト設定となり、その他のモデルでは「high」エフォートがデフォルトとなります。
クローディング最適化による過去の思考プロセスの削除について
Claude がタスクを思考を通じて処理する際、その思考プロセスは通常会話履歴に保持され、以降の各ターンの際に Claude が行った編集やツール呼び出しの理由を確認できるようになっています。3 月 26 日、私たちはこの機能に対して効率化の意図した変更をリリースしました。プロンプトキャッシングを活用し、連続した API 呼出しのユーザーコスト削減と高速化を実現しております。Claude は API リクエストを行う際に入力トークンをキャッシュに書き込み、不活性期間が経過するとプロンプトがキャッシュから除去され、他のプロンプトのための空間を作ります。キャッシュ利用状況については慎重に管理しており(詳細は後述します)。
設計としては単純でした:セッションが 1 時間以上アイドル状態にあった場合、古い思考セクションをクリアすることでユーザーのセッション再開コストを削減できます。リクエスト自体はキャッシュミスとなるため、不要なメッセージをリクエストから切り捨てることで、API に送られる非キャッシュ化されたトークン数を削減することが可能です。その後、完全な思考履歴の送信を再開します。このために
clear_thinking_20251015 API ヘッダーとkeep:1を共に使用しました。
実装においてバグが存在しておりました。思考履歴を一度クリアするのではなく、セッションの残りのターンのたびにクリアしてしまいました。セッションがアイドル閾値を跨いだ後、そのプロセスの残りでは各リクエストに対して「最新の思考ブロックのみを保ち、それ以前の内容はすべて破棄せよ」と API に指示してしまい、この影響が累積してしまいました。もし Claude がツール使用の最中にフォローアップメッセージを送信した場合、それは障害のあるフラグの下で新しいターンを開始するため、現在のターンの思考さえも破棄されました。Claude は引き続き実行を続けますが、やがて自身が何故そうした行動を選んだのかという記憶を失ってしまいます。これが、皆様から報告いただいた忘れっぽさ、繰り返し行為、そして奇妙なツール選択として顕在化しました。
このように連続して思考ブロックが後のリクエストから削除されていくため、これらのリクエストもまたキャッシュミスを引き起こします。私たちはこれが高頻度で利用制限の drain が予想以上に早くなるという別件の報告を導いたと考えております。
この問題を最初に再現しにくい理由として、2 つの無関係の実験が影響しておりました:1 つはメッセージキューイングに関連する内部のみサーバーサイド実験であり、もう 1 つは思考表示方法における直交的な変更によって、CLI セッションの大部分でこのバグを抑制していたため、外部ビルドのテストでも捕捉できなかったというものです。このバグは、Claude Code のコンテキスト管理、Anthropic API、そして拡張的思考の三者が交わる領域に存在しておりました。その導入された変更は、複数回の人間および自動化されたコードレビュー、ユニットテスト、エンドツーエンドテスト、自動化検証、dogfooding を通過しておりましたが、この問題が発生するのは Corner Case(陳腐化セッション)に限定され、また問題の再現性が困難だったため、根本原因を特定・確認するまで 1 週間を超えておりました。
調査の一環として、Code Review ツールに対して Opus 4.7 を用いたバックテストを行い、対象のプルリクエストに対処しました。完全なコンテキストを取得するために必要なコードリポジトリが提供された場合、Opus 4.7 はこのバグを発見しましたが、Opus 4.6 では発見できませんでした。今後これを防ぐため、私たちは現在 Code Review の文脈として追加のリポジトリへのサポートを実装する過程にあります。このバグは 4 月 10 日にバージョン v2.1.101 で修正いたしました。
ヴェルビョーシティ削減のためのシステムプロンプト変更について
最新のモデルである Claude Opus 4.7 は、その先行版に対して顕著な行動特性を示しています:ローンチ時に当社が述べている通り、比較的冗長になりやすい傾向があります。これは困難な問題においてより賢く働く一方で、より多くの出力トークンを生成する結果となります。
Opus 4.7 のリリースの数週間前より、Claude Code の調整準備を開始しておりました。各モデルはわずかに異なる挙動を示し、各リリース前にそのためのハルネスとプロダクトの最適化に時間を費やしてまいりました。ヴェルビョーシティ削減のためのツールとして、モデルトレーニング、プロンプティング、そして製品内の思考 UX 改善がいくつかありますが、最終的にはこれら全てを用いました。しかし、システムプロンプトへの追加1 つが Claude Code における知能レベルに大きすぎる影響を及ぼしておりました:
「長さ制限:ツール呼び出し間のテキストは 25 語以内。最終応答はタスクがより詳細な説明を要求する場合を除き 100 語以内。」
内部テストで数週間実施され、我々が実行した評価セットで退行が見られなかったことから、この変更について自信を感じ、4 月 16 日に Opus 4.7 と共にリリースいたしました。本調査の一環として、より広範な評価セットを用いてシステムプロンプトからの行の削除によるアブレーション(各行の影響を理解するため)を実行しました。その評価のうちの一つは、Opus 4.6 および 4.7 の両方で 3% の低下を示しました。私たちは即座にこのプロンプトを 4 月 20 日のリリースの一部として復元いたしました。
今後について
これらの問題が再発しないよう、今後以下のような取り組みを行う予定です:
- 内部スタッフも公開バージョンの Claude Code をより多く使用することを確保いたします(新規機能テスト用のバージョンとは別に)。
- 私たちが内部で使用している Code Review ツールの改善を行い、その改善版をお客様へ提供する予定です。
- システムプロンプト変更についてもより厳格な制御を導入いたします。Claude Code に対する各システムプロンプト変更に対して、モデル別評価スイートを実行し、アブレーションを通じて各行の影響を理解するとともに、プロンプト変更のレビューと監査を容易にする新しいツールの構築も完了いたしました。
- さらに CLAUDE.md にガイダンスを追加し、モデル固有の変更が対象とする特定のモデルのみでゲートされるようにいたします。
- 知能に対するトレードオフが生じる可能性のある変更については、ソーキング期間(安定化期間)、広範な評価スイート、そして段階的なロールアウトを導入し、問題の早期検出を実現いたします。
近日中に X 上で@ClaudeDevs を創設いたしました。これにより製品に関する意思決定とその背後にある論理を深く説明するための余地を提供できます。同様のアップデートは GitHub の中央化されたスレッドでも共有いたします。
最後に、ユーザーの皆様にお礼申し上げます:
/feedback コマンドを使用して問題点を共有いただいた皆様(あるいはオンライン上で具体的な再現可能事例を投稿していただけた方々)こそ、私たちがこれらの問題を特定・修正することを可能にした方々です。本日、すべてのサブスクライバーの利用制限をリセットいたします。ごフィードバックとご忍耐に対して、心から感謝申し上げます。