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 年黑客马拉松上向学生提出。它要求求解器为法国的三个城市(格勒诺布尔、尼斯、巴黎)设计光纤网络,通过连接分配枢纽和终端并形成环路和短支路,同时遵守结构约束。目标是 最小化总电缆长度

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 次,但平均分数对两种模型都变差,因为少数几次的大幅回退抵消了中位数的适度提升。

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)读取对话记录并判断目标是否已达成。
  • 评估模型只能看到对话内容,无法检查文件或运行工具。
  • “否” 的响应会触发另一回合;“是” 则清除目标。
  • 文档:Anthropic 的 goal docs

OpenAI Codex (/goal as persisted state)

  • CLI 将目标存入 SQLite 数据库,并提供 工具调用create_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,尽管元数据声明只有一个,这可能有利于 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