あなたは Fable 5 に2倍払っている。その半分はシステムプロンプトの代金だ。
このキットがその半分を Opus に移植する — v2.0 は Opus 5 向けに再チューニング。/plugin install fable-mode@jidonglab → 次のセッションから完了。
Opus 4.8 に「なぜバグる?」と聞くと → 黙ってファイルを編集し、未実行の結果を断定する
Opus 5 はそれを直した — が、新しい癖を積んだ: 単純な質問にも報告書の骨組みで答える、
過剰な検証、サブエージェントの乱発、黙ってのスコープ拡大、長々とした自己修正の物語。
Opus 5 + fable-mode v2.0 → Fable 型の文章 · 検証は一度 · スコープは守る
Opus 5 形式忠実度 88% → 96% 規範リーク 0 素の Opus 比コスト +12%
/plugin marketplace add jee599/fable-mode-kit
/plugin install fable-mode@jidonglab
次のセッションから すべての Opus セッションが自動検出され、Fable 5 の行動規範で動く。
本物の Fable セッションも検出して手を触れない。唯一の要件: jq。
クラシックインストーラ (プラグインシステムがない、または claude-fablelike ラッパーが欲しい場合)
git clone https://github.com/jee599/fable-mode-kit && cd fable-mode-kit && ./install.sh要件: Claude Code CLI、jq、bash (macOS/Linux)。冪等インストールで ~/.claude/settings.json を
上書きせずマージし、先にバックアップし、終了前にフックのスモークテストを実行する。
[!WARNING] どちらか一方を選ぶ。両方入れるとフックが二重登録され、規範がターンごとに二重注入される (無害だが無駄)。
uninstall.shはクラシックのみ、/plugin uninstallはプラグインのみ削除する。
Opus 5 は賢くなっただけではない。v1.x の規範が前提にしていた2点をひっくり返した。 v2.0 は Anthropic 公式の Opus 5 移行ガイダンスに沿って書き直し、再検証済みだ (25 ケースの分岐テスト、敵対的レビュー艦隊、A/B 判定ベンチ):
| Opus 4.8 の現実 (v1.x の規範) | Opus 5 の現実 | v2.0 の変更 |
|---|---|---|
| 委譲しなさすぎる → 「並列サブエージェントにファンアウトせよ」 | 委譲しすぎる — サブエージェントがコストを増やす | 委譲の抑制: 独立した十分な規模のトラックだけ、検証には決して使わない。並列のツール呼び出しは引き続き推奨 |
| 検証の指示が必要 → major ターンごとに作業の自己再監査 | 自力で検証する — 検証を促すと過剰検証になる | 「検証は一度」の主張キャリブレーション。仕上げの点検はメッセージの形だけで、明示的に作業の再監査ではない |
| — | スコープを黙って広げる | スコープ規律の項目: 黙って狭めも広げもしない、完全に終わってからだけ完了と言う |
| — | 応答も、ディスクに書くファイルも長くなる | 成果物の分量キャリブレーション項目 |
| — | 自己修正を長々と語る | 静かな修正の項目: ユーザーの判断が変わる誤りだけ報告する |
アイデンティティ行に claude-opus-4-8 をハードコード |
新しい Opus ID が出続ける | バージョン非依存のアイデンティティ行 (将来の Opus リリースでも壊れない) |
ラッパーが claude-opus-4-8 に固定 |
claude-opus-5 が現行の Opus |
ラッパーの既定を claude-opus-5 に (FABLELIKE_MODEL / FABLELIKE_EFFORT で上書き可) |
Opus 5 での実測 (4 プローブ × ブラインド判定、各プローブ Fable 形式ルーブリック12点満点): 素の Opus 5 は 42/48 (88%) — 4.8 の代表的な失敗はすでに回避している — そして + fable-mode v2.0 は 46/48 (96%)、4 プローブ中 3 つで勝った (文章の形・TLDR 先出し・ 自己完結性)。コストは素の Opus 比 +12%、規範リークは ゼロ。両条件ともスコープを守り、 テストはちょうど一度だけ実行し、診断のみの依頼ではファイルを書き換えなかった — Opus 5 では キットの優位はターンごとの伝達形式、そして短いプローブでは測れない長時間セッションの規範 (委譲の上限・静かな修正) にある。
以下の2つの失敗は v1.x 時代の Opus 4.8 の実測ログで、記録として残してある。Opus 5 では 同じプローブがタスクレベルで失敗することはもうない — 違いは形式へ移った (上の v2.0 節を参照)。
|
❌ 素の Opus 4.8 |
✅ fable-mode 適用 |
|
❌ 素の Opus 4.8 |
✅ fable-mode 適用 |
Opus 5、v2.0 (2026-07-25) — 4 プローブ (診断のみ・スコープ限定の実装・テスト付きバグ修正・ 単純な質問) × 2 条件、各プローブを Fable 形式ルーブリック12点満点でブラインド判定:
| 条件 | 形式スコア | 忠実度 | コスト (4 プローブ) |
|---|---|---|---|
| 素の Opus 5 | 42/48 | 88% | $1.02 |
| Opus 5 + fable-mode v2.0 | 46/48 | 96% | $1.14 (+12%) |
両条件での客観チェック: 診断のみの依頼 → ファイル編集ゼロ · スコープ限定の変更 → 依頼外の リファクタゼロ · バグ修正 → テスト実行はちょうど1回 · キットの出力 → 規範用語のリークゼロ。 キットは4プローブ中1つを落とした(小さな変更に対する軽い水増し) — それも表に残す。
Opus 4.8、v1.x (2026-07-07、記録として) — 同一タスク・同一 effort、6次元ルーブリック36点で採点:
| 条件 | スコア | 忠実度 |
|---|---|---|
| 素の Opus 4.8 | 23/36 | 64% |
| Opus 4.8 + fable-mode | 35/36 | 97% |
| 本物の Fable 5 (基準線) | 36/36 | 100% |
コスト + 成果物の同等性 — 4タスク × 3条件、トランスクリプトの usage を実測 × 公式料金 (Opus $5/$25、Fable $10/$50 per Mtok):
| タスク | 素の Opus | + キット | Fable 5 | キット vs Fable | 同等性 |
|---|---|---|---|---|---|
| 診断 | $0.23 | $0.28 | $0.49 | 57% | ~95% |
| 実装 | $0.34 | $0.45 | $0.49 | 💀 91% | ~90% |
| 曖昧な整理 | $0.86 | $1.13 | $1.52 | 74% | ~80% |
| 単純な質問 | $0.12 | $0.13 | $0.27 | 🏆 49% | ~85% |
| 合計 | $1.54 | $1.99 | $2.77 | 72% | 80–95% |
セルは1実行あたりの丸め値。合計と × 比率は丸め前の生値から計算しているため、表示セルから 再計算すると末尾桁で ±1 ずれることがある。
Note
不利な数字も表に残す。実装タスクでのキットのコスト優位はわずか9%だった。曖昧なタスクでは キットが素の Opus より 31% 多く使った — 行動を買う自己修正ターンの代償だ。Fable は 出力トークンを半分しか使わない(9.8k vs 20.0k)のに単価2倍のためコストで負ける。実装成果物の 3つ(素/キット/Fable)は共有テストケースで すべて同一の出力を生成した。この数字は v1.4 での 実測で、v1.5 は major ターンでの Stop フックの追加生成パスを除去したため、コストは同等かそれ以下だ。
output style は3層のうちの1層にすぎない — 単独では不足だ:
| CLAUDE.md ルール | output style | fable-mode フック | |
|---|---|---|---|
| 長いコンテキストの希釈に耐える | ❌ | 🟡 | ✅ ターンごとの再注入 |
| サブエージェントをカバー (ビルトイン・カスタム・ワークフロー) | ❌ | ❌ | ✅ SubagentStart |
| major ターンごとの仕上げ前メッセージ形式チェック | ❌ | ❌ | ✅ コンテキスト内に注入 (追加パスなし。v2.0 で作業の再監査は廃止 — Opus 5 は自力で検証する) |
| 規範リークを出力に出さない | ❌ | ❌ | ✅ リーク経路を根元で除去 |
| Opus 自動検出、Fable では自動待機 | ❌ | ❌ | ✅ |
| 注入オーバーヘッドのテレメトリ | ❌ | ❌ | ✅ v1.4 |
3つの実働フックがセッションライフサイクルの3つの瞬間を捉える (4つ目の Stop は引退した no-op スタブ)。デーモンもプロキシもなく、状態は空のマーカーファイルだけ。
┌──────────────────────────────────────────────────────────────┐
│ SessionStart fable-detect.sh │
│ 「今 Opus か?」 │
│ 入力 .model → 祖先の --model フラグ → settings.json │
│ (settings は推測 → 中立に告知) │
│ ↓ │
│ UserPromptSubmit fable-context.sh (毎ターン) │
│ 行動規範を再注入 + トランスクリプトから毎ターンモデル再判定。 │
│ v1.4 から適応型 — major = フルブロック · minor = −87% │
│ リマインダ。フルブロックの末尾はメッセージ形式チェックで閉じる │
│ (v2.0: 作業の再監査は削除 — Opus 5 は自力で検証する) │
│ ↓ │
│ SubagentStart fable-subagent.sh (スポーン毎) │
│ サブエージェントは毎ターン注入を見ない → スポーン時に注入 │
│ ↓ │
│ Stop fable-stop-verify.sh (引退・スタブ) │
│ v1.5 で無効化 (no-op)。登録は維持 → │
│ 復活は1ファイルの git revert │
└──────────────────────────────────────────────────────────────┘
原理は一つ。Fable の強みは 指示文(テキスト → 移植可能)と 重み(推論の深さ → 移植不可)に分かれる。フックが指示文を移植してアンカーを保ち、重みのギャップはルーティングで 迂回する — 絡み合った推論と長時間の自律実行だけを本物の Fable へ回すか、ファンアウト + 敵対的検証で補正する。
すべての注入が記録される。/fable-mode status がキットの実コストを報告する:
$ /fable-mode status
GLOBAL マーカー: off · このセッション: 自動検出 (claude-opus-5)
注入: full 4回 × 2,128字 · lite 11回 × 280字
オーバーヘッド ≈ このセッション 7,200トークン (適応型 lite なしで全部 full なら ≈ 20,000)セッションごとの stats は state/fable-mode/stats/<sid>.tsv に貯まり、full/lite の回数と
文字数の合計を持つ。トークンは文字数 ÷ 1.6 で概算する(full ≈ 1,330 · lite ≈ 175 トークン)。
🔴 FABLE_MODE=0 |
キルスイッチ — すべての有効化経路に勝つ (cron・ワンショット用) |
🟢 FABLE_MODE=1 |
強制有効化 (claude-fablelike が export するもの) |
| 🔍 本物の Fable セッション | トランスクリプトから自動検出 → フックは待機、二重注入なし |
🔁 /fable-mode on|off|status |
手動トグル + テレメトリ |
| ✅ 形式チェック | 仕上げ前のメッセージ形式チェックがフルブロックに同乗する — コンテキスト内で完結し、ユーザーには見えず、追加の生成パスはなし。明示的に作業の再監査ではない (Opus 5 は自力で検証する) |
| 🏷️ 条件付きアイデンティティ | セッションモデルを固定する経路(FABLE_MODE=1・トランスクリプトの opus 一致)でだけ「あなたは Opus」と主張。マーカーだけの推測起動には中立のアイデンティティ行を出す — settings の誤爆で Fable セッションに Opus を名乗らせない。タスク出力での Fable なりすましもなし |
Important
v1.5 では仕上げ前の点検が Stop フックから毎ターンの注入(フルブロック末尾の点検項目)へ 移った — ユーザーには見えず、追加の生成パスもない。v2.0 ではその中身がメッセージ形式の チェックだけになった(作業の再監査は削除)。Stop スクリプトは no-op スタブとして登録だけ残り、 復活は1ファイルの git revert で済む。
📦 インストールされるもの (8個)
| 構成 | ファイル | 役割 |
|---|---|---|
| SessionStart フック | hooks/fable-detect.sh |
Opus セッションを自動検出 → fable-mode を装填 |
| UserPromptSubmit フック | hooks/fable-context.sh |
毎ターン規範を再注入 — v1.4 から適応型: major ターン・セッション初回・5ターンごとにフルブロック(~2.1k字、末尾にメッセージ形式チェック)、minor ターンはリマインダ(~0.3k字、−87%); 全注入を state/fable-mode/stats/ に記録 |
| SubagentStart フック | hooks/fable-subagent.sh |
全サブエージェントのスポーン時にアイデンティティ中立の規範ブロックを注入 |
| Stop フック | hooks/fable-stop-verify.sh |
引退した no-op スタブ (v1.5) — 登録だけ残し、1ファイルの git revert で自己検証パスを復活できる |
| output style | output-styles/fable-like.md |
規範のシステムプロンプトレベル移植 |
| スキル | skills/fable-mode/ |
/fable-mode on|off|status 手動トグル |
| ラッパー | bin/claude-fablelike |
ワンショット: Opus 5 + xhigh effort + output style + フック (FABLELIKE_MODEL / FABLELIKE_EFFORT で上書き可。Fable 系モデルでは装填を拒否する) |
| 任意 | docs/conduct-snippet.md |
SubagentStart 非対応 CLI (旧 CLI・最小 -p 構成) 用フォールバック |
- 差分解析。 両モデルをヘッドレスプローブ + CLI バイナリ解析で比較した結果、Fable 5 と Opus 4.8 は 同じハーネスで動く — ツールも effort ダイヤルもワークフローも同一。決定的な違いは、Fable の システムプロンプトだけが持つ行動規範セクションだ。指示文はテキストで、テキストは移植できる。だからこのキットがある。
- 自己監査。 v1.5 は、まさにこの規範で動く 11 エージェントの艦隊がキットを総点検してから出荷された: 発見 29 件、major 主張はすべて「反証せよ」と命じられた敵対検証者へ — 「major」2 件が検証で死に、 1 件が降格。生き残った分は同日中に修正・リリース。
- 最高のバグ。 本物の Fable 5 セッションに 「君は Opus だ」 が注入されたことがある。1 ターンで 自己修復したが、v1.5 はこれを構造的に不可能にした — アイデンティティの断定はセッションモデルが 確定した時だけ。推測では決して行わない。
- v2.0 の監査。 Opus 5 向け再チューニングも同じ手順で出荷した: 21 エージェントのレビュー艦隊
(3 つのレンズ × 敵対検証者) が 18 件を提出し、13 件を反証、5 件を確認 — その中には本物の穴が
1 件あった(
FABLE_MODE=1が Fable 待機ガードを上書きしてしまう)。リリース前に修正し、 30 ケースの分岐テストでリグレッション検証済み。
- 96% / 97% は行動・形式のスコアであり、知能ベンチマークではない。サンプルは小さい: 4タスク × 条件あたり1実行 (v1.x は Opus 4.8 で 2026-07-07、v2.0 は Opus 5 で 2026-07-25、 いずれもブラインド判定)。
- Opus 5 では見出しの差が小さい — 素の Opus 5 がすでに形式で 88% を取る (素の Opus 4.8 は 64%)。Anthropic が Opus 5 を Fable の行動に近づけてチューニングしたからだ。キットに残る優位は ターンごとの形式の一貫性と、短いプローブでは測れない長時間セッションの規範 (委譲の上限・検証は一度・静かな修正) にある。
- キットは修正ターンで規範に到達する(あるタスクで8ターン vs 4ターン)。Fable は初回で到達する。 品質ではなくターンで支払う。
- 絡み合った初回推論と長時間の自律実行のギャップは残る(3rd-party ベンチ ~5–11pt 推定)。 それらは Fable へ回すか、ファンアウト + 敵対的検証で補正する(Fable 単独比 1–2.5× 推定)。
実測デッキと原理解説デッキ (韓国語、13 + 14 スライド、ブラウザで直接開ける):
./uninstall.sh # クラシックインストール — ファイル削除・フック解除・状態削除
/plugin uninstall # プラグイン経路MIT
⚡ 半額の単価で行動の97% — 移植できないものが何かも分かっている。