CLAUDE LABEN
2.1.269 — Claude Code の最新版は98件の CLI 変更を含む大きめの版です。目玉は claude plugin eval で、プラグインの効きを採点できるようになりましたEVAL — 各ケースはプラグインあり3回・なし3回で走ります。出てくるのは成否ではなく、そのプラグインが何を足したのかという差ですGRADER — 採点器は3種類。返答への正規表現、特定のツールが呼ばれたか、そして別のモデルに判定させるルーブリックから選べますDIFF — Bash ツールの結果に、そのコマンドが変更したファイルの差分が付くようになりました。設定は bashEditDiffEnabled ですSTYLE — /output-style [name] で出力スタイルを切り替えられます。Remote Control 経由でも、クラウドや headless セッションでも使えますOTEL — OTEL_METRICS_INCLUDE_REPOSITORY でメトリクスに vcs. のリポジトリ属性が付きます。commit イベントには vcs.ref.head が入ります2.1.269 — Claude Code の最新版は98件の CLI 変更を含む大きめの版です。目玉は claude plugin eval で、プラグインの効きを採点できるようになりましたEVAL — 各ケースはプラグインあり3回・なし3回で走ります。出てくるのは成否ではなく、そのプラグインが何を足したのかという差ですGRADER — 採点器は3種類。返答への正規表現、特定のツールが呼ばれたか、そして別のモデルに判定させるルーブリックから選べますDIFF — Bash ツールの結果に、そのコマンドが変更したファイルの差分が付くようになりました。設定は bashEditDiffEnabled ですSTYLE — /output-style [name] で出力スタイルを切り替えられます。Remote Control 経由でも、クラウドや headless セッションでも使えますOTEL — OTEL_METRICS_INCLUDE_REPOSITORY でメトリクスに vcs. のリポジトリ属性が付きます。commit イベントには vcs.ref.head が入ります
記事一覧/API & SDK
API & SDK/2026-07-10上級

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

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

Claude API121コスト設計7モデル選択4運用設計25ガバナンス

プレミアム記事

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

前月と同じ本数の夜間バッチしか回していないのに、金額が 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/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

API & SDK2026-08-30
モデルIDを一括置換する前に、手元の CLI が抱えるカタログを引きます
新しい世代が出ると、前の世代のモデルIDが急に古く見えます。インストール済みの実行ファイルに埋め込まれたカタログを引き、一致・日付不一致・書式破損の三段に仕分けてから直す手順を、実測値とスクリプトつきでまとめました。
API & SDK2026-07-13
画像を原寸で送るか縮小するか — Opus 4.7 の高解像度ビジョンで1枚ごとに解像度を決めるコスト設計
Opus 4.7 の高解像度ビジョンで壁紙の細部分類は上がったのに、全部を原寸で送ったら週のトークンが跳ねました。1枚ごとに解像度と使うモデルを決める preflight を設計し、精度を保ったままコストを下げた実測を残します。
API & SDK2026-07-11
本番で観測した引数分布からツールスキーマを締め直す
Claudeのツール呼び出しが渡してくる引数を本番で丸ごと記録し、その分布からJSON Schemaにenumやpatternを足して締め直す運用手法を整理しました。緩いスキーマが生む意味のドリフトの実例、段階的に締める手順、締め直し前後の実測値、状況別の推奨まで計測コード付きで紹介します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます