CLAUDE LABEN
SUNSET — 旧 Workbench の廃止は本日8月17日です。保存済みのプロンプト・プロンプトバージョン・eval は当日以降アクセスできなくなるため、Export での退避は今日が最後の機会ですAPI — /v1/experimental/generate_prompt・improve_prompt・templatize_prompt も同日で停止します。停止後はエラーが返るため、これらを呼ぶスクリプトは今日中の切り替えが必要ですCONSOLE — 後継の Workbench は Console 上のステートレスな構成になります。サーバー側に作業を保存せず、下書きはブラウザに残り、任意のリクエストをコードとして書き出せますOSS — Claude for Open Source が Claude Max 20x を6か月無償提供しています。受け入れは最大1万人で、個人単位の付与、API クレジットもチーム共有も自動有料化もありませんQUOTA — Claude Code 契約者向けの週次利用枠 50% 上乗せは8月19日までです。残り2日となりましたSELF-HOSTED — Claude Code のセルフホスト環境がパブリックベータです。自社インフラでセッションを動かし、内部ネットワークと独自ツールを使えます。Team と Enterprise が対象ですSUNSET — 旧 Workbench の廃止は本日8月17日です。保存済みのプロンプト・プロンプトバージョン・eval は当日以降アクセスできなくなるため、Export での退避は今日が最後の機会ですAPI — /v1/experimental/generate_prompt・improve_prompt・templatize_prompt も同日で停止します。停止後はエラーが返るため、これらを呼ぶスクリプトは今日中の切り替えが必要ですCONSOLE — 後継の Workbench は Console 上のステートレスな構成になります。サーバー側に作業を保存せず、下書きはブラウザに残り、任意のリクエストをコードとして書き出せますOSS — Claude for Open Source が Claude Max 20x を6か月無償提供しています。受け入れは最大1万人で、個人単位の付与、API クレジットもチーム共有も自動有料化もありませんQUOTA — Claude Code 契約者向けの週次利用枠 50% 上乗せは8月19日までです。残り2日となりましたSELF-HOSTED — Claude Code のセルフホスト環境がパブリックベータです。自社インフラでセッションを動かし、内部ネットワークと独自ツールを使えます。Team と Enterprise が対象です
記事一覧/Claude Code
Claude Code/2026-07-03上級

5分の沈黙で誰かがやり直しを始める — streaming idle watchdog 既定化で数え直すリトライの責務

Claude Code の streaming idle watchdog 既定化で、実行スタックに再試行する層がもう一枚増えました。SDK・自前ラッパー・watchdog・スケジューラの4層を棚卸しし、最悪ケースの試行回数を掛け算で見積もり、リトライ責務を一層に畳む設計をまとめます。

claude-code129reliability14retry6automation54production87typescript11

プレミアム記事

7月1日付の Claude Code の更新情報に、短い一行がありました。streaming idle watchdog が既定で有効になり、ストリームが5分間無応答ならアボートしてリトライする、というものです。

ありがたい変更のはずでした。ただ、読んだ瞬間に頭へ浮かんだのは感謝ではなく、手元のパイプラインの断面図です。SDK が再試行する。自前のラッパーも再試行する。失敗すればスケジューラが再実行する。そこへ、頼んでいないもう一枚が加わった。再試行する層が、静かに4枚になったのです。

層が増えること自体は悪ではありません。問題は、それぞれの層が互いの存在を知らないまま「良かれと思って」やり直すことです。本稿は、実行スタックの中で再試行が起きうる場所を数え上げ、最悪ケースの試行回数を機械的に見積もり、責務を一枚に畳むまでの設計を、私自身の夜間ジョブでの整理を元に残すものです。

どの層が再試行しているのかを数える

まず棚卸しです。Claude を無人で回す典型的なスタックには、再試行の火元が少なくとも4つあります。

再試行の対象既定の挙動気づきにくさ
1. Anthropic SDK接続エラー・429・5xxmaxRetries: 2(初回含め最大3試行)が既定コードに書かれないため棚卸しから漏れやすい
2. 自前ラッパーアプリ都合の失敗全般自分で書いた指数バックオフ(例: 3試行)把握済みだが SDK 側との重複を忘れがち
3. streaming idle watchdog5分無応答のストリームアボート+リトライ(7/1 から既定有効)設定変更なしで挙動が変わった当事者
4. スケジューラジョブ全体の失敗失敗時の再実行・次周期での再キックジョブ内から見えない最外層

ポイントは、この4層のうち自分が書いたのは1枚だけ、ということです。1層目は SDK の既定値、3層目はプラットフォームの既定値の変更、4層目は運用設定です。リトライ設計の大半は、自分のコードの外にあります。

なお、ここでの watchdog の試行回数や間隔は、手元のバージョンのリリースノートと実際の挙動を突き合わせて確認しておくべき「前提」です。既定値は今回のように予告なく変わることがあるため、後述する前提ログに落とします。

最悪ケースは掛け算で膨らむ

各層のリトライは足し算ではなく掛け算で合成されます。外側の1試行の中で、内側は自分の全試行を使い切るからです。

  • SDK: 3試行
  • ラッパー: 3試行
  • watchdog: 2試行(1リトライと仮定)
  • スケジューラ: 2試行

この構成での最悪ケースは 3 × 3 × 2 × 2 = 36試行です。1回のつもりで書いたタスクが、障害の夜には36回 API を叩く可能性があります。

これをコストに直します。入力12,000・出力3,000トークン程度のタスクを Sonnet 5 の導入価格($2/$10 per MTok)で回すと、1試行あたり約 $0.054。36試行なら約 $1.94 です。夜間に90本のタスクを流していれば、理論上の最悪値は一晩で約 $175。単価の安さで組んだはずの予算が、増幅で簡単に食い潰されます。

構成最悪試行回数1タスク最悪コスト90タスク夜間バッチ
4層とも既定のまま36約 $1.94約 $175
single-owner(後述・4試行)4約 $0.22約 $19

もう一つ深刻なのは 429 との相互作用です。過負荷への応答である 429 を4層がそれぞれ律儀にリトライすると、混雑した夜に自分だけ36倍の圧力をかける「増幅器」になります。Retry-After ヘッダーに従うバックオフの整理で書いたサーバー指示の尊重も、再試行する層が一枚に決まっていて初めて機能します。

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

この記事の続きを読む

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

この記事で得られること
SDK・自前ラッパー・watchdog・スケジューラの4層を列挙し、最悪ケースの試行回数と壁時計時間を掛け算で見積もる TypeScript 実装
maxRetries 0 で SDK 側の再試行を止め、冪等キーを持つ最外層だけに再試行を許す single-owner パターンの実装手順
プラットフォーム既定の変更をジョブ先頭で「前提ログ」として残し、リトライ増幅の再発を事故の前に検知する運用チェックリスト
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Claude Code2026-07-14
push先がいつの間にか一つ増えていた — /commit-push-pr が origin 以外のリモートへも押し始めた変更に、許可リストで蓋をする
7月14日の更新で /commit-push-pr が origin に加えて設定済みの push リモートへも自動で押すようになりました。便利な一方、ミラーやバックアップ用の第二リモートを持つ環境では、意図しない push が静かに増えます。どのリモートへ押し得るかを棚卸しし、許可リスト外の push を pre-push フックで止め、無人実行でも安全に回す設計を実装込みで整理しました。
Claude Code2026-06-14
Claude Code の Hooks で品質ゲートを壊さず回す — exit code の意味・ブロック挙動・観測設計の実装メモ
Claude Code Hooks を自動化の安全弁として運用するための実装メモ。exit code 0/2/その他の使い分け、JSON 出力による決定制御、ブロックが暴発したときの切り分け、観測ログの設計までを実例で整理します。
Claude Code2026-06-12
Claude Code の fallbackModel を三段構成にする — 過負荷の朝でも止まらない無人実行の設計記録
Claude Code の fallbackModel を三段構成で運用し、過負荷時も夜間バッチを止めない設計を実測つきでまとめます。実行モデルの記録方法、下位モデルに落ちた日の品質差への備え、deny ルール併用まで。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →