Anthropic Claudeにおける応答品質低下に関する技術報告:3つのインフラストラクチャバグの事後検証
最近おバカだったSonnetがようやく解決したようです。週末は比較的アホな回答が減ったのは実感しています。
過去の経緯含めてAnthropic社のレポートを要約したものを共有します。
概要と背景
本記事は、2025年9月17日に公開された技術レポートに基づき、Claudeの応答品質を断続的に低下させた3つのインフラストラクチャバグについて、その原因、解決に時間がかかった理由、および今後の変更点について詳述します。
2025年8月から9月上旬にかけて、これらのインフラストラクチャバグによりClaudeの応答品質が一時的に低下しました。
ユーザーからの初期の報告は通常のフィードバックの変動と区別が難しかったものの、8月下旬に報告の頻度と持続性が増したため、調査が開始され、3つの個別のインフラストラクチャバグが発見されました。
重要: Anthropicは、需要、時間帯、またはサーバー負荷を理由にモデル品質を低下させることは決してありません。ユーザーから報告された問題は、インフラストラクチャバグのみが原因でした。
Claudeの大規模な提供体制
Anthropicは、自社のAPI、Amazon Bedrock、およびGoogle CloudのVertex AIを介してClaudeを数百万のユーザーに提供しています。
- デプロイは、AWS Trainium、NVIDIA GPU、Google TPUといった複数のハードウェアプラットフォームで行われています。
- 各プラットフォームは異なる特性を持ち、特定の最適化が必要ですが、ユーザーがどのプラットフォームでリクエストを処理しても同じ品質の応答が得られるよう、厳格な同等性基準が維持されています。この複雑さゆえに、インフラストラクチャの変更にはすべてのプラットフォームと構成にわたる慎重な検証が必要です。
イベントのタイムライン
これらのバグが重複して発生していたため、診断は特に困難を極めました。
日付 | イベント | 概要 |
---|---|---|
8月5日 | バグ1導入 | Context window routing errorが導入され、Sonnet 4リクエストの約0.8%に影響。 |
8月25日/26日 | バグ2, 3導入 | Output corruptionとApproximate top-k XLA:TPU miscompilationが発生。 |
8月29日 | 影響拡大 | 通常のロードバランシングの変更により、バグの影響を受けるトラフィックが意図せず増加。 |
8月31日 | 影響ピーク | 最も影響を受けた時間帯で、Sonnet 4リクエストの16%がバグ1の影響を受ける。 |
9月2日 | バグ2解決 | Output corruptionの変更をロールバック。 |
9月4日 | バグ1, 3解決着手 | Context window routing errorの修正をデプロイ。Haiku 3.5に影響していたバグ3をロールバック。 |
9月12日 | バグ3追加解決 | Opus 3に関する問題の報告を受け、バグ3をロールバック。 |
9月16日 | 完了(一部) | バグ1の修正がファーストパーティおよびGoogle Cloud Vertex AIで完了。 |
9月18日 | 完了(Bedrock) | バグ1の修正がAWS Bedrockで完了。 |
3つの重複したインフラストラクチャバグの詳細
1. コンテキストウィンドウのルーティングエラー
内容:
一部のSonnet 4リクエストが、本来のコンフィグではなく、今後予定されている1Mトークンコンテキストウィンドウ用に構成されたサーバーに誤ってルーティングされました。
この誤ルーティングは「スティッキー」であったため、一度間違ったサーバーで処理されたリクエストは、その後のフォローアップも同じサーバーで処理される可能性が高く、一部のユーザーはより深刻な影響を受けました。
影響範囲の例:
- 最悪時(8月31日):Sonnet 4リクエストの16%。
- Claude Codeユーザー:期間中にリクエストを行ったユーザーの約30%が誤ったサーバータイプにルーティング。
- Amazon Bedrock:ピーク時で全Sonnet 4リクエストの0.18%。
解決:
短コンテキストと長コンテキストのリクエストが正しいサーバープールに送られるようにルーティングロジックを修正しました。
2. 出力破損 (Output Corruption)
内容:
8月25日にClaude APIのTPUサーバーにデプロイされた誤設定が原因で、トークン生成中にエラーが発生しました。ランタイムパフォーマンス最適化の問題により、コンテキストから稀にしか生成されないはずのトークン(例:英語のプロンプト中にタイ語や中国語の文字「สวัสดี」の出現や、コード内の明らかな構文エラー)に高い確率が誤って割り当てられました。
影響範囲:
- Opus 4.1、Opus 4(8月25日〜28日)。
- Sonnet 4(8月25日〜9月2日)。
- この問題はサードパーティプラットフォームには影響しませんでした。
解決:
9月2日に変更をロールバックし、デプロイプロセスに予期せぬ文字出力の検出テストを追加しました。
3. 近似Top-K XLA:TPU誤コンパイル
内容:
8月25日、トークン選択方法を改善するためのコードがデプロイされましたが、これがXLA:TPUコンパイラの潜在的なバグをトリガーしました。XLA:TPUは、XLA High Level Optimizing languageをTPU機械語に変換する最適化コンパイラです。
このバグは、パフォーマンス最適化のための「近似Top-K」操作に起因しています。この近似は、特定のバッチサイズやモデル構成でのみ、完全に間違った結果を返すことがありました。
影響範囲:
- Claude Haiku 3.5へのリクエストに影響。
- Claude API上のSonnet 4およびOpus 3の一部にも影響した可能性があると信じられています。
- この問題はサードパーティプラットフォームには影響しませんでした。
解決:
影響を確認したHaiku 3.5とOpus 3についてロールバックを実施しました。現在、パフォーマンスのわずかな影響を受け入れつつ、近似Top-Kから正確なTop-Kに切り替え、一部の演算をfp32精度で標準化しました。
検出が困難であった理由
これらの問題は、複数の要因が絡み合い、早期の検出を妨げました。
1. 評価プロセスのギャップ
通常のベンチマークや評価では、ユーザーが報告している品質低下を捉えることができませんでした。Claudeが単発のミスからうまく回復することが多いため、評価が機能しなかった側面もあります。
2. プライバシーの課題
Anthropicの内部プライバシーおよびセキュリティ制御により、エンジニアがユーザーのやり取りにアクセスできる方法とタイミングが制限されていました。これにより、バグの特定や再現に必要な問題のあるやり取りの検証が妨げられました。
3. 報告の分散と一貫性のなさ
各バグが異なるプラットフォームで異なる症状を、異なる発生率で引き起こしました。これにより、報告はランダムで一貫性のない品質低下に見え、単一の原因に結びつけることが困難でした。
今後の改善点
私たちは、インフラストラクチャの改善と同時に、バグを評価し防止する方法も改善しています。
- より高感度な評価: 動作している実装と破損した実装をより確実に区別できる、新しい評価システムを開発しました。
- 本番環境での品質評価の継続的実行: コンテキストウィンドウのロードバランシングエラーのような問題を見つけるために、実際のプロダクションシステムで継続的に評価を実行します。
- 迅速なデバッグツールの開発: ユーザープライバシーを犠牲にすることなく、コミュニティから提供されるフィードバックをより適切にデバッグするためのインフラストラクチャとツールを開発します。これにより、将来的に同様のインシデントが発生した場合の修復時間を短縮します。
ユーザーフィードバックの重要性
評価とモニタリングに加え、Claudeの応答が通常の基準に満たない場合には、ユーザーからの継続的な信号が不可欠です。
問題のある具体的な変更点、予期せぬ動作の例、異なるユースケース間でのパターン報告は、今回の問題特定に役立ちました。
開発者や研究者からのモデル品質評価の方法は、内部テストを補完するものです。フィードバックは、Claude Codeで /bug
コマンドを使用するか、Claudeアプリの「👎」ボタンを使用して直接送信をお願いします。