Claude Fable 5 vs. GPT‑5.6 Sol on KIRO NP‑Hard Fiber Network Benchmark

Claude Fable 5 vs. GPT‑5.6 Sol on KIRO NP‑Hard Fiber Network Benchmark

TL;DR

Claude Fable 5 在 KIRO 光纖網路基準測試中取得最佳整體解決方案,且其結果遠較 GPT‑5.6 Sol 穩定。原生的 /goal 旗標在大多數單次執行中都有幫助,但同時也提升了兩個模型的平均分數,顯示 /goal 並非可靠的通用「更努力」開關。


The KIRO Problem

此基準測試是一項稱為 KIRO 的運籌學任務,最初於 2018 年黑客松提供給學生。它要求求解者為法國三座城市(Grenoble、Nice、Paris)設計光纖網路,透過連接配電中心與端點,形成迴路與短支線,同時遵守結構限制。目標是 最小化總電纜長度

Search‑space magnitude

  • 若不考慮順序與支線,將 532 個端點分配至 11 個中心的組合數為 11^532
  • 若限制解答必須恰好有 19 條每條包含 28 個端點的迴路(無支線),則有效配置的下界約為 10^1223

這些數字說明了使問題成為 NP‑hard 的組合爆炸。


Experimental Setup

Parameter Value
Models Claude Fable 5, Opus 4.8, Sonnet 5; OpenAI GPT‑5.6 Sol, Terra, Luna
Modes Plain (no hint) and native /goal
Budget per run 30 minutes of wall‑clock time
Outer‑agent timeout 1 900 seconds
Reasoning Maximum available for each model
Execution environment Harbor 0.1.43, Docker, subscription authentication

主要比較聚焦於旗艦組合(Fable 5 vs. Sol),每種模式各執行三次匹配跑。所有六個模型亦各執行一次 30 分鐘無提示配置,以提供更廣的視角。


Results Overview

All‑model baseline (single 30‑minute run)

每個模型各執行一次匹配跑後顯示 分數越低越好。圖表(此處未重現)將 Fable 5 與 Sol 排在分布的上方,其他四個模型則落後。

Flagship comparison (three runs each)

Model Run Plain score /goal score Δ (/goal − plain)
Fable 5 1 32 197 31 934 ‑263
2 32 516 32 324 ‑192
3 32 446 35 178 +2 732
GPT‑5.6 Sol 1 33 581 39 371 +5 790
2 35 539 32 703 ‑2 836
3 33 663 33 313 ‑350

負的 Δ 表示 /goal 表現較好。

Aggregate statistics

Model Plain mean /goal mean Mean Δ Median Δ
Fable 5 32 386 33 145 +759 (worse) ‑192 (better)
GPT‑5.6 Sol 34 261 35 129 +868 (worse) ‑350 (better)

Interpretation/goal 在 6 次個別跑中贏了 4 次,但兩個模型的平均分數皆因少數大幅退步而變差,抵消了中位數的 modest 改善。

Consistency comparison

  • Fable 5 的普通分數變化範圍為 319 點,而 Sol 的普通分數跨越 1 958 點
  • 整體最佳的乾淨分數為 31 934(Fable 5 使用 /goal)。

How /goal Works Internally

存在兩種不同的實作方式:

Claude Code (/goal as a stop‑hook)

  • 每次模型回合結束後,一個 小型評估模型(預設:Haiku)會讀取對話紀錄,判斷目標是否已達成。
  • 評估模型只能看到對話內容,無法檢查檔案或執行工具。
  • 回覆 “no” 會觸發另一回合;回覆 “yes” 則清除目標。
  • 文件說明:Anthropic 的 goal docs

OpenAI Codex (/goal as persisted state)

  • CLI 將目標存於 SQLite 資料庫,並提供 tool callscreate_goalget_goalupdate_goal)。
  • 當執行緒閒置時,Codex 會注入一個帶有目標與完成審核的延續回合。
  • 工作模型可以檢查檔案與工具,實質上自行評分其工作。
  • 原始碼參考: thread goal actionsSQL schematool spec

Why /goal Can Win Most Runs Yet Harm Average Performance

在一般程式編寫任務中,進度是漸進且可見的;額外的回合常能修正失敗的測試。對於困難的最佳化問題,一旦選定求解器,額外的時間會放大既有的搜尋方向。若最初的決策導向良好的搜尋盆地,/goal 有助;若導向不佳的盆地,額外時間只會加深錯誤。這解釋了觀測到的模式:中位數有適度提升,但偶爾的大幅退步主導了平均值。


Limitations of the Study

  • 只使用了一個未公開的 NP‑hard 基準,結果未必能推廣至其他問題。
  • 只有 Fable 5 與 Sol 有三次乾淨的匹配跑,其他模型僅有一次跑。
  • 實驗在訂閱服務上依序執行,可能產生漂移。
  • 容器實際提供八顆 CPU,儘管 metadata 宣稱只有一顆,這可能有利於 Fable 的平行組合策略。
  • 所有得分輸出皆有效,因為包裝器強制早期檢查點與最終驗證,意味著基準測量的是 整個系統(模型、CLI、提示、訂閱服務與測試框架)。

Reproducing the Benchmark

完整的基準程式碼、包裝器、分析腳本、圖表產生器與證據備忘錄皆放在 CLIArena repository。因檔案過大,原始工作目錄未列出,但備忘錄記錄了每筆分數、城市細分、耗時、策略、排除項目與執行 ID。

主要使用的指令如下:

RUN_ID=article-kiro-YYYYMMDD-clean \
PHASE=nohint-all \
./scripts/run_subscription_article_matrix.sh

uv run python scripts/summarize_subscription_article_results.py $RUN_ID ...
uv run python scripts/analyze_subscription_article_results.py $RUN_ID ...

Community Insights

"The chart at the top is somewhat confusing. It says, “lower is better” but the y‑axis is inverted!" – tyleo

"Ultra mode could fan out parallel investigators and avoid local optima; /goal works better for single‑track investigations." – theptip

"Claude often forgets long‑term instructions; /goal may help retain the most important instruction in shorter sessions." – Tenoke

"Anthropic’s coding performance lags behind OpenAI; Codex feels faster and more flexible for large codebases." – sreekanth850

"/goal has replaced plan mode for many users; it forces the model to spend a fixed amount of time on a concrete objective, yielding more robust outputs." – o10449366

這些評論突顯了使用者對 /goal 的實務體驗、模型族群之間的感知差異,以及對未來評估模式的建議。


Takeaway

實驗顯示 Claude Fable 5 在複雜的 NP‑hard 光纖網路設計任務上明顯優於 GPT‑5.6 Sol,不僅取得較低的分數,且一致性更佳。原生的 /goal 旗標能提升個別跑的表現,但常因放大好壞搜尋方向而降低平均績效。因此,/goal 應謹慎使用,而非作為一個全域的「更努力」選項。

Sources