CLAUDE LABEN
MODEL — Claude Sonnet 5が全プランの既定モデルになりました。計画・ツール利用・自律実行を強化した最もエージェント的なSonnetですPRICE — Sonnet 5は導入価格が100万トークンあたり入力$2・出力$10で、8月31日まで適用されますCODE — Claude CodeがSonnet 5を既定化し、ネイティブ1Mトークンのコンテキストに対応しましたGATEWAY — Amazon BedrockとGoogle Cloud向けにセルフホスト型のClaude apps gatewayが登場しました(SSO・ポリシー・コスト管理)CHROME — Claude in Chromeが正式提供となり、背景通知やドラフトPRの引き継ぎが加わりましたENTERPRISE — Enterprise向けに管理分析・モデル単位の権限・支出アラートが強化されましたMODEL — Claude Sonnet 5が全プランの既定モデルになりました。計画・ツール利用・自律実行を強化した最もエージェント的なSonnetですPRICE — Sonnet 5は導入価格が100万トークンあたり入力$2・出力$10で、8月31日まで適用されますCODE — Claude CodeがSonnet 5を既定化し、ネイティブ1Mトークンのコンテキストに対応しましたGATEWAY — Amazon BedrockとGoogle Cloud向けにセルフホスト型のClaude apps gatewayが登場しました(SSO・ポリシー・コスト管理)CHROME — Claude in Chromeが正式提供となり、背景通知やドラフトPRの引き継ぎが加わりましたENTERPRISE — Enterprise向けに管理分析・モデル単位の権限・支出アラートが強化されました
記事一覧/API & SDK
API & SDK/2026-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 への移行シムを実装コード付きでまとめました。

Claude API103Opus 4.82モデル移行2無人運用3コスト設計2

プレミアム記事

土曜の朝、複数サイトの自動投稿ログを見返していて、ふと speed: "fast" をベタ書きしたまま何ヶ月も回し続けているスケジュールジョブがあることに気づきました。普段は誰も触らないコードです。だからこそ、パラメータの仕様が変わった瞬間に、誰にも気づかれずに落ちます。

2026-07-24 に claude-opus-4-7 の fast mode が廃止されます。それ以降、claude-opus-4-7 に対して speed: "fast" を指定したリクエストはエラーになります。モデル ID はそのまま生きているので、モデル引退のチェックリストには引っかかりません。にもかかわらず、特定のパラメータ組み合わせだけが期限切れになる。無人で回している処理ほど、この「モデルは残るのに設定だけ死ぬ」種類の変更に弱いのです。

ここでは、その 7/24 を静かに越えるための手順を、実際に動くコードとともに組み立てます。使用箇所の洗い出し、移行先の判断、実行時の防御、そして移行後の実測までを一続きで扱います。

7/24 に何が起きるか — speed: "fast" が例外になる

まず、変更の輪郭を正確に押さえます。廃止されるのは「モデル」ではなく「claude-opus-4-7 の fast mode という速度モード」です。Anthropic の告知では、7/24 以降 claude-opus-4-7speed: "fast" を渡すとエラーになり、fast mode を使いたい場合は Opus 4.8 の fast mode へ移す必要がある、とされています。

影響範囲を整理すると次のようになります。

呼び出しパターン7/24 以降の挙動
model=claude-opus-4-7 + speed=fastエラー(要移行)
model=claude-opus-4-7(speed 指定なし)通常どおり動作
model=claude-opus-4-8 + speed=fastfast mode で動作

厄介なのは、多くのコードで speed は「一度書いて忘れる」パラメータだという点です。レイテンシを詰めたい工程でだけ付け、その後は放置される。対話的に使っているアプリなら例外が出た瞬間に気づけますが、深夜のバッチや週次のスケジュールジョブでは、失敗ログが誰にも読まれないまま積み上がります。私自身、無人ジョブが静かに止まる事故を何度か経験していて、そのたびに「気づくのが3日遅れた」ことのコストの大きさを痛感しています。

だからこの移行の目的は、単に claude-opus-4-7claude-opus-4-8 に置換することではありません。「どこで fast mode を使っているか」を人手の記憶に頼らず把握し、移行漏れがあっても実行時に安全側へ倒れる状態を作ることです。

具体的には、次の3段階で順に進めます。

  1. コードベースから fast mode の使用箇所を機械的に検出する
  2. 箇所ごとに移行先(Opus 4.8 の fast mode か、speed の除去か)を決める
  3. 移行漏れに備え、実行時に fail-closed で守るガードを一枚挟む

まず現状を洗い出す — fast mode 使用箇所を機械的に検出

記憶や grep の一発勝負に頼ると、必ず取りこぼします。speed が変数経由で渡っていたり、共通ラッパー関数の既定値に隠れていたりするからです。そこで、単純な文字列検索ではなく「Opus 4.7 と fast が同じ呼び出しに同居している箇所」を炙り出す検査を用意します。

まずは軽量な一次スクリーニングとして、リポジトリ全体を走査します。

# 一次スクリーニング: opus-4-7 と speed/fast が近接する行を拾う
# 変数越しの指定は拾えないので、あくまで「当たりを付ける」用途
grep -rniE "opus-4-7|speed.{0,20}fast|fast.{0,20}speed" \
  --include="*.py" --include="*.ts" --include="*.js" \
  --include="*.json" --include="*.yaml" --include="*.yml" . \
  | grep -viE "node_modules|/dist/|/build/"

一次スクリーニングで当たりを付けたら、次に呼び出し単位で正確に判定します。ここでは Python の呼び出しを対象に、AST を使って「同じ関数呼び出しの中に model=...opus-4-7speed="fast" が両方ある」ケースだけを抽出します。文字列の近接ではなく構文木で見るので、誤検出が減ります。

# fast_mode_scan.py — Opus 4.7 + speed=fast の共起を AST で検出
import ast
import pathlib
import sys
 
def literal(node):
    """定数文字列ならその値、そうでなければ None を返す。"""
    if isinstance(node, ast.Constant) and isinstance(node.value, str):
        return node.value
    return None
 
def scan_file(path: pathlib.Path):
    """1ファイルを走査し、危険な呼び出しの行番号を返す。"""
    hits = []
    try:
        tree = ast.parse(path.read_text(encoding="utf-8"))
    except (SyntaxError, UnicodeDecodeError):
        return hits  # 解析不能なファイルは一次スクリーニングに委ねる
 
    for node in ast.walk(tree):
        if not isinstance(node, ast.Call):
            continue
        model_val, speed_val = None, None
        for kw in node.keywords:
            if kw.arg == "model":
                model_val = literal(kw.value)
            elif kw.arg == "speed":
                speed_val = literal(kw.value)
        # model が変数越しでも、speed=fast があれば要確認として拾う
        risky_model = model_val is not None and "opus-4-7" in model_val
        risky_speed = speed_val == "fast"
        if risky_speed and (risky_model or model_val is None):
            hits.append((node.lineno, model_val or "<変数>", speed_val))
    return hits
 
def main(root="."):
    total = 0
    for path in pathlib.Path(root).rglob("*.py"):
        if any(p in path.parts for p in ("node_modules", "dist", "build", ".venv")):
            continue
        for lineno, model, speed in scan_file(path):
            print(f"{path}:{lineno}  model={model} speed={speed}")
            total += 1
    print(f"\n合計 {total} 箇所")
    # CI に組み込む場合は、検出があれば非ゼロ終了で気づけるようにする
    return 1 if total else 0
 
if __name__ == "__main__":
    sys.exit(main(sys.argv[1] if len(sys.argv) > 1 else "."))

実行結果はたとえば次のようになります。

services/summarizer.py:88  model=claude-opus-4-7 speed=fast
jobs/nightly_digest.py:41  model=<変数> speed=fast
合計 2 箇所

2件目のように model=<変数> で出た箇所は、変数の中身を人の目で確認します。共通ラッパーの既定値に claude-opus-4-7 が入っていれば、この1行が実は複数ジョブに波及しているかもしれません。私はこの手のスキャンを CI に組み込み、検出があればビルドを失敗させる運用にしています。棚卸しを「思い出したときにやる作業」から「毎回自動で走る検査」に変えるだけで、移行漏れの不安がかなり減ります。

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

この記事の続きを読む

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

この記事で得られること
speed: fast をハードコードした無人ジョブが 7/24 に突然失敗する問題を、事前検査で先回りできるようになる
コードベースから fast mode 使用箇所を機械検出し、実行時に fail-closed で守るガードを実装できる
Opus 4.8 fast mode への移行後、レイテンシとコストが本当に見合うかを実測して判断できる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

API & SDK2026-07-03
単価が40%下がっても、タスク単価は下がるとは限らない — Opus 4.8 から Sonnet 5 への移行損益をトークン消費プロファイルで測る
Sonnet 5 の導入価格は Opus 4.8 より約40%安ですが、ツール往復が増えるとタスク単価は逆転し得ます。消費ベクトルの記録・並走ハーネス・損益分岐ターン数の逆算までを動くTypeScriptと実測で示します。
API & SDK2026-06-20
effort パラメータを工程ごとに振り分けて Claude の出力コストと待ち時間を整える
Claude API の effort パラメータは思考・本文・ツール呼び出しを含む出力トークン全体を制御します。一律 high をやめ、工程ごとに段階配分する実装と動的ルーターを、個人開発の自動運用での実測とともに解説します。
API & SDK2026-07-04
Claude apps gateway の発表を読んで、個人開発の管制面を作り直した話
セルフホスト型 Claude apps gateway の設計を管制面と実行面の分離として読み解き、個人開発の規模に縮約します。アプリ別コスト帰属・モデル許可リスト・fail-closed の支出上限を Cloudflare Workers で実装した記録です。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →