◉CLAUDE LABEN
●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/API & SDK
⬡ API & SDK/2026-05-26上級

Claude API のグレースフル・デグラデーション設計 — AI 機能が静かに動き続ける 4 階層フォールバック

Claude API を本番運用すると、モデル単位のフォールバックだけでは守りきれない時間帯が必ず出てきます。SLI 連動の 4 階層デグラデーション設計を、Python と TypeScript のコード・SLO バーンレート・実運用の判断軸とあわせて整理しました。

claude-api83graceful-degradationresilience8production87slofallback8

✦ プレミアム記事

Claude API を本番に置いてしばらく経つと、モデル単位のフォールバックでは救いきれない種類の障害が見えてきます。たとえば「Sonnet も Haiku も応答するが、p99 レイテンシが 4 秒に張り付いて、ユーザー画面のロード時間が体感で 2 倍に伸びている」ような時間帯です。エラーは返っていないので、Circuit Breaker は閉じたまま、しかし体感品質は静かに崩れていく。こうした状況は、モデル間スイッチングよりもっと粒度の粗い「サービス全体の階層的な降格」を持っていないと対処できません。

私は 2014 年から個人開発でアプリを公開し続けて 12 年、累計 5,000 万ダウンロードを超えるアプリ事業を Dolice という屋号で運営してきました。AdMob 経由の月次収益が立つ規模になると、サービス停止の数十分は確実に売上に響きます。だからこそ、Claude API を組み込んだ機能では「障害時に何を諦め、何を絶対に止めないか」を事前に契約しておく必要がありました。本稿でまとめるのは、その契約を 4 つの Tier に分けて自動的に切り替える設計です。

なぜ「モデル切替」だけでは不十分なのか

多くの可用性記事は「Sonnet が落ちたら Opus、Opus も落ちたら Haiku」というモデルチェーンで止まります。これは有効な手段ですが、本番で起きる障害の半分くらいは別の顔をしています。

  • モデルは応答するが、SLO バーンレートが急上昇している時間帯: 5xx は出ていないが、ユーザー体感で 2 秒の機能が 6 秒かかっている。Circuit Breaker のしきい値以下なので、システム的には健全に見える状態です。
  • アップストリームに連動した予算枯渇: 自社の月額予算が想定の 1.6 倍ペースで消費されているとき、技術的にはまだ叩けますが、月末まで持たない確率が高い。サービスを完全に止めるよりも、コスト重い機能から優先的に降格させたい状況です。
  • 個別ユーザーの局所過負荷: 全体平均は健全だが、特定テナントが大量のトークンを消費して、その人だけ詰まっている。テナント単位で機能を間引きたい場面です。

これらは、モデル間のスイッチで処理する話ではなく、「機能そのものをどう簡素化するか」を扱う話です。グレースフル・デグラデーションは、ここの粒度を扱うための設計概念になります。

4 階層の Tier モデル

私が個人事業のアプリと 4 つの Lab サイト(Claude Lab・Gemini Lab・Antigravity Lab・Rork Lab)で標準にしている Tier モデルは以下の 4 つです。Claude API を呼ぶ機能ごとに、この Tier のいずれかにマッピングしておきます。

Tier名称動作コストレイテンシ目安
T0Full QualitySonnet 4 / Opus 4 で本来の応答を返す100%p99 1.5s
T1Reduced QualityHaiku 4.5 に降格し、Extended Thinking を切る30〜40%p99 600ms
T2Cached ResponseKV/Redis のセマンティックキャッシュ、または前計算済みテンプレートを返す5〜10%p99 80ms
T3Static Fallback「現在この機能はメンテナンス中です」のような静的な UX に切り替える0%p99 30ms

ポイントは、T2 と T3 が AI を一切叩かないことです。多くの設計は T0 と T1 で止まりますが、本番ピーク時の最後の砦は T2・T3 にあります。たとえば壁紙アプリの「今日のおすすめ説明文」のような機能は、T3 で「シンプルな静的説明」に置き換えても、ユーザー体験はほぼ崩れません。逆に、検索のような会話型機能は、T2 のキャッシュヒットがあれば 8 割の場面で違和感なく動きます。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦p99 レイテンシ 800ms / 5xx 率 2% / 429 率 5% の 3 指標で Tier を自動切替する判定エンジンを Python と TypeScript の両方で実装
✦AdMob 月収を踏まえた『失敗の質』を分けるための fail-closed と fail-open の判断基準、5,000万 DL 規模の個人アプリで採用している 4 階層の具体設計
✦GitHub Actions と Cloudflare Workers で動かす Tier 切替のカオス演習スクリプト一式と、SLO バーンレート 14.4 倍を閾値にした自動演習スケジューラ
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ API & SDK2026-04-23
Claude API の高可用性設計 — Sonnet / Haiku / Opus マルチモデルフォールバックを本番で成立させる
Claude API を単一モデル前提で組むと、障害やレート制限の瞬間にサービス全体が止まります。Sonnet・Haiku・Opus を段階的にフォールバックする本番実装を、コード・Circuit Breaker・ストリーミング対応まで含めて整理しました。
⬡ API & SDK2026-03-27
Claude API プロダクション耐障害設計パターン — モデルルーティング・サーキットブレーカー・フォールバック戦略の実装ガイド
Claude APIを本番運用で支える耐障害設計の実装パターン。サーキットブレーカー、モデルルーティング、フォールバックチェーン、リトライ戦略、ディザスタリカバリをTypeScriptの実装コードと、運用で気づいた注意点を添えて整理しました。
⬡ API & SDK2026-05-26
Claude API の構造化レスポンスを本番で安定させる — tool_use と JSON Schema、多層検証の実装メモ
Claude API の応答を JSON で受け取る実装は数行で書けますが、本番運用では「形は正しいが意味が壊れている」レスポンスにどう備えるかが分かれ目になります。tool_use・JSON Schema・ドメイン検証を組み合わせた多層パイプラインを、壁紙アプリの分類処理での実体験を交えて整理しました。