CLAUDE LABEN
SANDBOX — Claude Codeにsandbox.credentials設定が加わり、サンドボックス実行のコマンドが認証情報ファイルや秘密の環境変数を読めなくなりますMODEL — 組織が設定したモデル制限がmodel picker・--model・/model・ANTHROPIC_MODELのすべてに反映されるようになりましたAGENTS — PRを編集・マージ・コメント・pushしたセッションが、claude agentsのビュー上で該当のPRにリンクされますFIX — --json-schemaが無効なスキーマのとき無言で非構造化出力を返す不具合と、--max-turns到達時のメッセージ消失が修正されましたRECAP — Claudeに月次リキャップとフォーカス設定がbetaで追加され、休憩リマインダーやクワイエットアワーを設定できますOPUS — Claude Opus 4.7が一般提供となり、長時間のコーディングタスクと高解像度のvisionが改善されていますSANDBOX — Claude Codeにsandbox.credentials設定が加わり、サンドボックス実行のコマンドが認証情報ファイルや秘密の環境変数を読めなくなりますMODEL — 組織が設定したモデル制限がmodel picker・--model・/model・ANTHROPIC_MODELのすべてに反映されるようになりましたAGENTS — PRを編集・マージ・コメント・pushしたセッションが、claude agentsのビュー上で該当のPRにリンクされますFIX — --json-schemaが無効なスキーマのとき無言で非構造化出力を返す不具合と、--max-turns到達時のメッセージ消失が修正されましたRECAP — Claudeに月次リキャップとフォーカス設定がbetaで追加され、休憩リマインダーやクワイエットアワーを設定できますOPUS — Claude Opus 4.7が一般提供となり、長時間のコーディングタスクと高解像度のvisionが改善されています
記事一覧/API & SDK
API & SDK/2026-07-10上級

夜間バッチが勝手に上位モデルで走っていた — タスクごとにモデル上限を宣言して機械で守る

モデル名をコードに散らすと、いつのまにか安いはずのバッチが上位モデルで走ります。タスクごとの上限を宣言するマニフェストと、既定拒否の解決レイヤ、そして逸脱を検出する差分監査の設計をコード付きでまとめました。

Claude API109コスト設計3モデル選択3運用設計11ガバナンス

プレミアム記事

請求画面を開いて、指が止まりました。

前月と同じ本数の夜間バッチしか回していないのに、金額が 1.7 倍になっている。個人開発で複数サイトの定期処理を無人で走らせている以上、金額の跳ねは「どこかで設計が壊れた」という信号です。

原因は数分で見つかりました。ある補助的なタスクのモデル名が、半年前のリファクタで共通定数を参照するようになっていた。その共通定数は「対話用の既定モデル」として、後日もっと上位のモデルに書き換えられていました。誰も嘘をついていません。ただ、そのタスクが「安いモデルで十分」であるという判断が、コードのどこにも記録されていなかっただけです。

2026 年 7 月に Enterprise 向けへ入ったモデル単位のエンタイトルメントと支出アラートは、まさにこの穴を組織の規模で塞ぐものです。個人〜小規模の運用でも、同じ発想は自前で持てます。私自身が Dolice Labs の 4 サイトで使っている実装を、そのまま置いていきます。

モデル名は設定ではなく、契約として書く

model="claude-opus-4-8" という文字列は、コードから見れば設定値です。運用から見れば、そのタスクが 1 回あたりいくらまで使ってよいかという契約です。

契約を設定ファイルの散らばった位置に置くと、リファクタのたびに静かに書き換わります。私はここで、二つを分離することにしました。

タスクが宣言するものは「必要な能力の下限」と「許容するコストの上限」。解決レイヤが決めるものは「その条件を満たす具体的なモデル名」。

この分離があると、共通定数を書き換えても、宣言した上限を超えるモデルは選ばれません。逆に、どうしても上位モデルが必要になったタスクは、マニフェストを編集する必要があり、その差分はレビューに乗ります。

マニフェスト — 何を宣言するか

宣言は最小限にします。増やすと誰も更新しなくなります。

フィールド意味
ceilingそのタスクが使ってよい最上位のモデルsonnet-5
floorこれ未満に落ちるなら実行しない下限haiku-4-5
max_output_tokens1 回の呼び出しの出力上限4096
daily_usdそのタスク単体の日次上限(概算)0.80
on_ceiling_miss上限内に収まらないときの挙動degrade / fail

floor を持たせるのは、静かな格下げが最も怖い故障だからです。エラーは気づけますが、能力の落ちたモデルが「それらしい出力」を返し続ける状態は、数週間気づかないことがあります。この点は 弱いモデルへ静かに落ちる方がエラーより怖い — Claude API のモデル降格に「下限」を設ける設計 で詳しく扱いました。

実際のマニフェストはこうなります。

# config/model_entitlements.yaml
_ladder:            # 安い順。解決レイヤはこの順序だけを信じる
  - haiku-4-5
  - sonnet-5
  - opus-4-8
 
_aliases:
  haiku-4-5: claude-haiku-4-5-20251001
  sonnet-5:  claude-sonnet-5
  opus-4-8:  claude-opus-4-8
 
tasks:
  news_ticker_summarize:
    ceiling: haiku-4-5
    floor: haiku-4-5
    max_output_tokens: 1024
    daily_usd: 0.15
    on_ceiling_miss: fail
 
  article_draft:
    ceiling: sonnet-5
    floor: sonnet-5
    max_output_tokens: 8192
    daily_usd: 2.50
    on_ceiling_miss: degrade
 
  weekly_seo_synthesis:
    ceiling: opus-4-8
    floor: sonnet-5
    max_output_tokens: 4096
    daily_usd: 1.20
    on_ceiling_miss: degrade

_ladder を明示的に持つ理由は、モデル名の文字列から価格順を推測させないためです。推測は必ずどこかで裏切られます。新モデルが出たら、この 3 行を人間が編集する。それが唯一の入り口になります。

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

この記事の続きを読む

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

この記事で得られること
タスク別のモデル上限をマニフェストに宣言し、既定拒否で解決する 120 行のポリシーレイヤ実装
「宣言された上限」と「実際に課金されたモデル」を突き合わせ、逸脱を翌朝に検出する差分監査スクリプト
上限超過時にジョブを落とさず一段下げて完走させる degrade-and-continue の判断基準と、落とすべき例外
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

API & SDK2026-07-05
Opus 4.7 の fast mode 廃止(7/24)で無人ジョブを落とさない — speed パラメータの事前検査と移行
claude-opus-4-7 の fast mode が 2026-07-24 に廃止され、speed: fast がエラーになります。無人パイプラインを静かに壊さないための、使用箇所の機械検出・fail-closed な実行時ガード・4.8 への移行シムを実装コード付きでまとめました。
API & SDK2026-07-04
Claude apps gateway の発表を読んで、個人開発の管制面を作り直した話
セルフホスト型 Claude apps gateway の設計を管制面と実行面の分離として読み解き、個人開発の規模に縮約します。アプリ別コスト帰属・モデル許可リスト・fail-closed の支出上限を Cloudflare Workers で実装した記録です。
API & SDK2026-07-03
単価が40%下がっても、タスク単価は下がるとは限らない — Opus 4.8 から Sonnet 5 への移行損益をトークン消費プロファイルで測る
Sonnet 5 の導入価格は Opus 4.8 より約40%安ですが、ツール往復が増えるとタスク単価は逆転し得ます。消費ベクトルの記録・並走ハーネス・損益分岐ターン数の逆算までを動くTypeScriptと実測で示します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →