概要
- Claude Fable 5 はNP困難な最適化問題で圧倒的な性能を示した。
- /goalモード は大きなブレイクスルーではなく、平均性能を下げる場合もある。
- Fable 5 は一貫性と最高スコアで他モデルを大きく上回った。
- /goal は試行回数の勝率は高いが、平均値では悪化する傾向。
- 最適化問題 ではループの質よりも、ループで繰り返す内容の質が重要。
Claude Fable 5とGPT-5.6 SolのNP困難最適化問題ベンチマーク
-
問題設定 :未公開のNP困難なファイバーネットワーク設計問題(KIRO)を各モデルに出題
- Grenoble、Nice、Parisの距離行列を基に、配電拠点と端末をループや短いチェーンで接続
- 構造制約を満たしつつ、総ケーブル長を最小化することが目的
- 有効なネットワーク:冗長なループ+短い枝、各タワーは一度のみ登場、ケーブル向きでコスト変動
-
探索空間の大きさ :
- Parisのみでも11^532通り以上の割当
- さらに厳密な下限として、19個のループ(各28端末、枝なし)で約10^1223通り
-
実験設定 :
- モデル:Claude Fable 5, Opus 4.8, Sonnet 5, GPT-5.6 Sol, Terra, Luna
- モード:通常/goalモード
- 制約:最適化30分、エージェントタイムアウト1900秒
- 実行環境:Harbor 0.1.43、Docker、サブスクリプション認証
-
結果 :
- Fable 5 は全体で最良スコアを達成し、スコアのばらつきも極小
- /goalモード は4/6回で勝利したが、平均では両モデルとも悪化
- Fable 5のplain平均はSolより1,875ポイント優秀
- Fable 5のplainは319ポイント内で安定、Solは1,958ポイントとばらつき大
- /goal は一部ケースで有利だが、悪い選択を長く続けるリスクも
/goalコマンドの深掘り
-
Claude Code の/goal:
- セッションごとにStopフックとして実装
- メインモデルの各ターン後、小型評価モデル(Haiku等)がゴール条件を判定
- 評価モデルは会話履歴しか参照できず、ファイルやツールは不可
- 早期終了は検知できるが、追加イテレーションの有効性までは判断不可
-
Codex CLI の/goal:
- ゴールをスレッド状態として永続化
- TUIやSQLiteで目標・ステータス・予算を管理
- モデルはcreate_goal等のツールを利用
- ゴール中はスレッドがアイドルになると自動的に続行ターンを挿入
- モデル自身が完了を宣言可能
-
挙動の違い :
- Claudeは独立した評価者が会話履歴のみで判断
- Codexはファイルやツールも見られ、自己採点的な側面も
/goalが勝率で優れてもデフォルトに不向きな理由
- 通常のコーディングタスク では進捗が明確で、/goalの追加ターンが有効
- 最適化タスク では、追加時間が良い選択も悪い選択も増幅
- Fableの高速ポートフォリオやSolのチェーン再分割では有利
- Fableの遅いソルバーやSolの全探索では逆効果
- 中央値は若干改善でも、悪化したケースの幅が大きい
実験の制約と再現性
- 未公開の1問のみ で一般化は困難
- FableとSol以外は設定やプロンプトが混在
- サブスクリプション経由で逐次実行、環境変動の可能性
- コンテナは8CPUを公開しており、Fableの並列処理に有利
- すべてのFable/Sol出力は有効解(早期チェックポイントと最終検証必須のため)
- ベンチマークはモデル・CLI・プロンプト・サービス・ハーネス全体を評価
再現方法
- CLIArena にベンチマーク課題、ラッパー、分析スクリプト、図表生成器、証拠メモを公開
- 実行コマンド例:
RUN_ID=article-kiro-YYYYMMDD-clean \ PHASE=nohint-all \ ./scripts/run_subscription_article_matrix.shuv run python scripts/summarize_subscription_article_results.py RUN_ID...uv run python scripts/analyze_subscription_article_results.py RUN_ID...
結論
- /goalは試行回数の勝率を高めるが、平均性能を下げる場合がある
- 最適化問題ではループの質より、ループで何を繰り返すかが本質的に重要
- Claude Fable 5は一貫して高い性能と安定性を示し、現状で最も信頼できる選択肢