📖 はじめに — 「どの家族か」の次は「家族の中のどのモデルか」
シリーズここまでで、Codex(finder)× Claude(verifier)という家族の分担を固めた。最終回は Claude 家族の内側の話 — Fable 5 / Sonnet 5 / Opus 4.8 / Haiku 4.5 をパイプラインのどこに置くか、コストとどう折り合うか、そして効果をどう実測して標準運用に昇格させたか。最後に、総論で提起した「オーケストレーションを買うか、組むか」に答えを出す。
🗺️ 2026 年央の Claude ラインナップを整理する
まず前提知識として、本パイプラインに関係するモデルを整理する(価格は 2026 年 6 月時点の公表値・100 万トークンあたり入力/出力)。
| モデル | 位置づけ | 価格 | 特記 |
|---|---|---|---|
| Claude Fable 5 | Claude 5 世代の最上位。Opus の上に新設された Mythos 級ティア | $10 / $50 | thinking 常時オン。1M コンテキスト・128K 出力。最難関の推論・長時間エージェント向け |
| Claude Opus 4.8 | Opus 系最上位。長時間エージェント実行・知識労働に強い | $5 / $25 | effort xhigh がコーディング/エージェント用途の推奨(Claude Code の既定) |
| Claude Sonnet 5 | Sonnet 初の xhigh 対応。コーディングで Opus 級に肉薄 | $3 / $15(2026-08-31 まで導入価格 $2 / $10) | 新トークナイザで同一テキストのトークン数 約 3 割増に注意 |
| Claude Haiku 4.5 | 最速・最安 | $1 / $5 | 200K コンテキスト。機械的な fan-out 向け |
重要なのは、Fable 5 は「Opus の置き換え」ではなく「Opus の上の別ティア」 だということ。単価は Opus 4.8 の 2 倍。全部を最上位に寄せる戦略は、パイプラインのように反復適用される仕組みでは即座に破綻する。
🎚️ ティア割当 — パイプラインのどこに、どのモデルか
CTS-EC の割当はこうなった。
| パイプラインの段 | モデル / effort | 理由 |
|---|---|---|
| verifier(レビュー・採否確定) | Opus 4.8・effort xhigh を下限 | 検証はパイプラインの品質を決める段。日常はここで固定 |
| verifier の難所(根本原因・アーキ判断・長文整合性) | max へ引き上げ、または Fable 5 を選択的に | 「レビュー・仕様精査・ADR レビュー」は最上位 effort の用途例。常設はしない |
| fan-out サブエージェント(探索・実装補助) | Sonnet 5 / Haiku 4.5 に固定 | 頭数が出る段は単価で決める |
| finder(実装) | Codex(別ファミリー・第3回) | — |
原則 1: Fable 5 をサブエージェントに常用しない
Fable 5 は魅力的だが、2 倍の単価 × サブエージェントの頭数で消費が爆発する。fan-out する段に最上位モデルを置くのは、全席ファーストクラスで通勤するようなものだ。Fable 5 の出番は「Lead が難所と判断したときに、単発で選択的に」に限定する。
原則 2: effort 下限は「設定」でなく「構造」で保証する
運用ルールに「verifier は xhigh」と書くだけでは、モデル切替やセッション再作成のタイミングで既定値(high)に静かにリセットされる穴がある。CTS-EC では verifier を担う 2 つの agent 定義の frontmatter に effort: xhigh を明示し、この穴を構造的に閉じた(agent frontmatter の effort 指定は公式サポートされており、未指定だと親セッションを継承する — 継承任せが穴になる)。
第4回のレビュー漏れゲートと同じ思想だ: 人が覚えておくべきことを、設定ファイルが覚えている状態にする。
原則 3: 昇格はモデルごとに個別判断する
標準運用昇格の際、verifier 段の 2 agent のうち implementation-validator は Sonnet から Opus 4.8 へ昇格させたが、Red テストの相互レビューを担う agent は Sonnet 据え置きにした。Red フェーズは最大 2 周と回数が読め、コスト対効果が合わないからだ。「verifier 系はぜんぶ最上位」ではなく、段ごとの反復回数と品質感度で個別に決める。
📊 golden set 実測 — 外部の数値で運用を変えない
このシリーズで最も伝えたい規律がこれだ。+18.1pt は外部の統制実験値であり、CTS-EC の実測ではない。この区別を、採用判断の全工程で保った。
承認と実証の分離
- 原則の承認: finder/verifier 分業・逆順禁止という設計原則は、外部実験の構造仮説(第2回)を根拠にオーナーが承認する
- 効果の実証: 「自環境で効く」は golden set の実測で確認するまで主張しない。ADR にも「外部統制実験値であり自環境実測ではない」と明記した
golden set v1 の設計と結果
実際の仕様書ペアに既知の矛盾を埋め込み、Claude / Codex 両 verifier に検出させる(各 2 試行・正解メタは隔離・ファイル名も種別が漏れない中立名)。v0 は「矛盾が明示的すぎて全問正解」「対照ケースが本当に clean でない」という測定設計の不備があり、v1 で難化させた。
| ケース | 埋め込んだ矛盾 | Claude | Codex |
|---|---|---|---|
| v1-01 | 数値/容量破綻(8 万件 × 9ms = 12 分 > タイムアウト 10 分。算術しないと見えない) | ✅✅ | ✅✅ |
| v1-02 | 遠距離参照(文書冒頭「単一価格」vs 末尾「モール別価格」) | ✅✅ | ✅✅ |
| v1-03 | 推移的 3 文連鎖(3 つの記述を繋いで初めて成立する矛盾) | ✅✅ | ✅✅ |
| v1-clean | 対照: 矛盾ゼロ(全要求に受入基準が対応する clean 文書を作り込み) | 誤検出 0 件 | 誤検出 4 件 |
- recall は両者 100%。算術・遠距離・推移という難化ケースでも、この難易度では「一方だけが拾う」ダイバーシティ利得は観測されなかった
- 差は precision に出た。Codex は clean 対照に「実在しない矛盾」を両試行で報告(over-flag)。Claude は 0 件
- 含意: この precision 差は、論文由来の役割分担 — Codex = high-recall な finder、Claude = 精密な verifier — と方向が一致する自環境の実測だ。「finder が拾いすぎ、verifier が採否を確定する」二段構成が意味を持つことを、自分のデータで支持できた
ここまで揃え、さらに実パイプラインの試走(設計 → Codex 実装 → ゲート → Claude verifier → 差し戻し → 再ゲート → マージ)を 1 件完走させてから、標準運用に昇格させた。残課題も正直に書いておく — recall が 100% で飽和したため、クロスファミリーの recall 利得そのものはまだ実証できていない。recall < 100% になる難化版 v2(暗黙前提・複数ファイル分散・ドメイン知識依存)が次の宿題だ。
「向き」は恒久の真理ではなく、世代ごとに測り直す運用パラメータ
もう 1 つ、golden set を常設資産にする理由がある。+18.1pt / −8.6pt の非対称は Opus 4.7 × GPT-5.5 という特定モデルペアの実測であり、どちらかの世代が上がれば「レビューの利得 = 書き手が残す欠陥 × レビュアーの精密さ」の積は組み替わる — 向きが逆転する可能性すらある。だから「Codex 実装 → Claude レビュー」は一度決めたら終わりの原則ではなく、モデル世代更新のたびに golden set で再測して更新する運用パラメータとして扱う。
この再測トリガーは本稿公開の 8 日後、GPT-5.6 sol への世代交代で実際に発動した。当日中の較正チェックと難化版 v2 本測の実録は番外編第 2 弾を参照。
逆順禁止を運用ルールの文章でなくスクリプトのガードとして実装した(実装編)ことが、ここで効いてくる。将来の再測で向きが変われば、変えるのはガードの向きと ADR の 1 節だけでいい。原則を疑えない形で埋め込むのではなく、測り直せて、反転できる形で固定する — それが「承認と実証の分離」の完成形だ。
運用の細部: 偽仕様の汚染防止
golden set は「偽の仕様書」を含むため、通常のドキュメントツリーに置くと、後続セッションの AI が本物の仕様として拾う。隔離ディレクトリ + fixture マーキング(警告ヘッダ・専用命名・正解メタの別配置) で汚染を防ぐ。測定資産が本番の文脈を汚す事故は、やってみないと気づきにくい。
⚖️ 買うか、組むか — Sakana Fugu 時代の判断軸
総論で見たとおり、Sakana Fugu の登場で「マルチ LLM オーケストレーションを買う」選択肢が現実になった。Fugu Ultra は一部ベンチマークで Fable 5 に匹敵すると主張し、OpenAI 互換 API 1 本で裏の協調をすべて隠蔽してくれる。では自前のクロスファミリーは不要になるのか。
判断軸は「マルチ LLM に何を求めるか」だ。
| 求めるもの | 向く選択 | 理由 |
|---|---|---|
| 1 リクエストの回答品質・能力の合成 | 買う(Fugu 型オーケストラ) | ルーティングと統合の学習は自前では作れない。単一 API の手軽さ |
| ベンダー障害・アクセス制限へのヘッジ | 買う | Fugu の売り文句どおり、動的ルーティングが吸収する |
| 検証の独立性(実装と相関しない網) | 組む(チェック・アンド・バランス型) | オーケストラは協調のための仕組みで、内部でどのモデルが何をしたかを握れない。「実装役と検証役が独立である」ことを構造で保証できるのは自前だけ |
| 監査性・証跡(誰が・いつ・何を) | 組む | 第4回の証跡・三層ゲートは全段自前だから成立する |
| テスト資産の家族帰属・handoff の情報遮蔽 | 組む | ワークフローの中身に手が入らないと実装できない |
つまり Fugu 型とクロスファミリー検証は競合ではなく、解いている問題が違う。「賢い答えが欲しい」なら買えばいい。「リグレッションを止める独立した網が欲しい」なら、束ねられた知能では代替できない — 網の価値は賢さではなく相関しないことにあり、相関しないことはワークフローの構造でしか保証できないからだ。
興味深いことに、Fugu のベータ検証ユースケースには code review が含まれる。オーケストラ型がレビュー市場に入ってくるのは時間の問題で、そのとき評価すべき問いは「レビューの質は高いか」ではなく「そのレビューは、実装と独立か」になるだろう。本シリーズで組んだ判断軸は、製品を買う場合の評価軸としてもそのまま使える。
🧾 シリーズ全体のまとめ
| 論点 | 結論 |
|---|---|
| マルチ LLM の系統 | オーケストラ型(能力の合成)とチェック・アンド・バランス型(検証の独立性)は別物 |
| 論文の裏取り | +18.1pt / −8.6pt は実在し数値一致。ただし輸入するのは数値でなく構造仮説 |
| 設計 | finder = Codex / verifier = Claude に固定し、逆順はスクリプトが構造拒否。防御は決定論ゲートとの二層 |
| TDD×ハーネス | Red テストは verifier 家族の資産として checksum で機械保護。レビュー漏れは三層ゲート、handoff は自己評価遮蔽 |
| 実装 | MCP でなく codex exec + シェル。bwrap 3 条件と exit 0 地雷を実測で潰し、運用判断を exit code に埋め込む |
| モデル戦略 | verifier = Opus 4.8 xhigh 下限(構造保証)、難所のみ max / Fable 5、fan-out は Sonnet 5 / Haiku 4.5。効果は golden set で自環境実測してから昇格 |
一連の設計を貫くのは、結局 1 つの姿勢だ — AI の申告でも外部の数値でもなく、自分で検証できる構造と実測で判断する。クロスファミリーは、その姿勢をモデル選定にまで適用した結果にすぎない。
ただし、このエンジンには、分かっていながらまだ埋めていない欠落が残っている。検証を強制する構造は完成したが、その検証が効いているか — 見逃し率・fallback 率・指摘の分布 — を測る層がまだない。この最後のピースが、独立に同じ思想へ到達していたもう 1 つのハーネスとの出会いによってどう埋まったかは、シリーズ終章「クロスファミリー検証の最終型」で描く。
📚 シリーズ記事(ステアリング駆動開発・実践編)
序章
第I部: 技術的負債ドメイン別の実録(総点検ガイド + 8 ドメイン・全 9 回)
- リファクタリング総点検ガイド — 7 つの観点と進め方
- DDD/SOLID/BC 編 — god class 一掃と境界の機械ガード
- SAGA 編 — 新アーキテクチャ挑戦と再発ゲート
- Atomic Design リファクタ編 — 47 page 新規移植
- Storybook × a11y 実機編
- テスト品質・網羅性編
- Python ジョブ群編
- パフォーマンス編
- セキュリティ編
第II部: 検証エンジン(クロスファミリー検証・全 6 回)
- 総論 — マルチ LLM の 2 系統と見取り図
- 裏取り編 — +18.1pt 論文の検証
- 設計編 — finder/verifier 分業と逆順禁止
- TDD×ハーネス編 — テスト保護と三層ゲート
- 実装編 — Claude Code の中から Codex を動かす
- モデル戦略編(本記事)
終章
- クロスファミリー検証の最終型 —「正しく作る」から「自分で正しさを測り直す」へ — 検証エンジンに「計測」の層をはめ、自己修正ループを閉じる
番外編
- CI テスト 29 分 → 5.6 分 — 検証エンジンの平時運用実録 — 実測が有力仮説を殺し、退行前より速くなった 1 日
- GPT-5.6 sol 切替の当日実録 — もう一つのデフォルト追従 — CLI 更新が黙って替える finder と、当日中の再計測
- 遊休 90% の枠に仕事を振る — Codex 上流調査と verifier バッチ化 — 逆順禁止の境界を ADR で確定し、読む仕事を遊休枠へ移した 1 日
- ハーネスが単一プロジェクトを卒業する — プラグイン化と二層配布 — 4 プロジェクト展開への切り出しと、version + SHA ピンによる非強制追従
- 69分で5リリース — Opus 5 当日対応が暴いた共通ハーネスの死角 — 新モデル対応を起点に、配布・文書・CI の回帰を二消費者で検出した 69 分
関連記事
- Claude Code を Opus 4.7 → 4.8 に移行する — Opus 4.8 のハーネス調整
- ベクター検索の落とし穴 — 「実測で確かめる」姿勢の別事例