← 返回信息流
AI 资讯Hacker News·2 小时前

Fable 5 vs. GPT-5.6 Sol on an NP-Hard Problem: Does /goal help?

AI 深度解读

背景

这是一项针对两个前沿 AI 模型——Claude Fable 5 和 GPT-5.6 Sol——在 NP-hard 优化问题上的对比测试。测试者来自 Hacker News 社区,本人曾用 C++ 花一周时间实现过该问题的求解器,因此拥有可靠的人类基线。问题 KIRIO 是一个光纤网络设计问题,最初在 2018 年作为工程学生项目提出,并在一次黑客松中用于考核学生。测试的核心目的是评估模型原生 /goal 模式(一个用于持续追踪目标的指令)是否能够显著提升求解质量。

核心内容

问题定义

KIRIO 问题要求求解器根据给定的格勒诺布尔、尼斯和巴黎三个城市的有向距离矩阵,使用环(loop)和短链(short chain)连接分配点(distribution points)和终端(terminals),同时满足多项结构约束。目标是最小化总电缆长度。一个有效网络由以分配枢纽为根的多余环组成,环上有塔(towers),每个塔必须恰好出现一次,且电缆段的方向反转会改变成本。

搜索空间规模

搜索空间极大,无法用单一封闭形式表达。仅以巴黎为例:忽略排序和分支,只将 532 个终端分配给 11 个分配枢纽,就有 11^532 种可能。一个更严格的下界来自一种刻意受限的有效解族:恰好 19 个环,每个环含 28 个终端(无分支),覆盖全部 532 个终端。此时搜索空间约为 (532! / 19!) × 11^19 ≈ 10^1223。

测试设置

主要实验设计为:

  • 每个模型在无提示(no-hint)条件下运行 30 分钟,分别测试是否使用 /goal 模式。
  • 先对所有模型进行一次配对(30分钟无提示,每对模型一次),其中 Fable 5 和 Sol 为旗舰对比,其余模型各一对。
  • 随后对 Fable 5 和 Sol 进行三次重复匹配运行(三对有/无 /goal 的配对)。

结果

| 模型 | 无 /goal 平均分 | 使用 /goal 平均分 | 无 /goal 范围 | 使用 /goal 范围 | |------|-------------------|---------------------|-----------------|-------------------| | Fable 5 | 33,809 | 33,918 | 319 | 1,734 | | GPT-5.6 Sol | 35,684 | 35,902 | 1,958 | 1,871 |

  • 负值表示 /goal 更好(即分数更低,因为目标是最小化长度)。在六次试验中,/goal 赢了四次(胜率 67%),但均值却更差:Fable 的 /goal 均值比无 /goal 高 109 分,Sol 的 /goal 均值比无 /goal 高 218 分。
  • Fable 5 整体更强:其无 /goal 均值比 Sol 低 1,875 分,/goal 均值低 1,984 分。更重要的是,Fable 无 /goal 的分数范围仅 319 分,而 Sol 达 1,958 分。Fable 使用 /goal 时得到了最佳干净分数 31,934,但无 /goal 是最安全配置。

/goal 命令的深度分析

相同命令,不同实现

Claude Code 和 Codex 都暴露了 /goal,但底层机制完全不同。

  • Claude Code:将 /goal 实现为会话级别的 Stop hook。每次主模型回合后,由一个小型评估模型(默认 Haiku)读取目标和对话,返回 yes/no 并附理由。评估器无法使用工具或检查文件,仅能根据对话记录判断。这可以捕捉到早期退出,但无法了解是否值得继续迭代。Anthropic 的文档也证实了这一点。
  • Codex(评测版本 0.144.4):将目标视为持久化的线程状态。TUI 保存目标,SQLite 存储状态和预算记录。工作模型获得 create_goalget_goalupdate_goal 工具。当线程空闲且目标仍激活时,Codex 注入一个延续回合,包含目标及完成审计。因此,Codex 让工作模型自己声明完成,并在持久化目标未清除时恢复执行;Claude 则委托另一个模型评判,但只看到对话记录,而 Codex 能看到文件和工具,但实际上是自我评分。

为什么 /goal 能赢多数试验却仍可能成为糟糕的默认选项

在普通编码任务中,进度通常是可见的:额外回合可以修复测试或完成迁移。但优化不同:一旦智能体选择了求解器,额外时间可能放大好的决策,也可能放大坏的决策。这正是本次测试中发生的情况:当 /goal 帮助维持了 Fable 快速的编译型解集或 Sol 成功的链重新分区时,它有益;当 Fable 构建了一个慢速求解器或 Sol 投入 exhaustive anchor sweep 时,它有害。中位数向正确方向轻微移动,但坏尾向错误方向移动得更远。

局限性

  • 只测试了一个未公开的 NP-hard 任务,并非通用编码排行榜。
  • 仅有 Fable 和 Sol 各有三组干净配对。
  • 其他模型的比较混杂了提示词、包装器版本和时间限制,且试验通过订阅服务顺序运行,可能存在漂移。
  • 容器暴露了 8 个 CPU 尽管任务元数据声明为 1,这有利于 Fable 的并行解集。
  • 每个有评分的 Fable 和 Sol 输出都是有效的,部分原因是包装器要求早期检查点和最终验证。
  • 基准测试测量的是完整系统:模型、CLI、提示词、订阅服务、测试框架。

复现方法

所有代码、提示词、结果表格、排除项和轨迹记录均在 CLIArena 仓库中。主要命令为:

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...

关键要点

  • Fable 5 在 NP-hard 优化问题上的表现远超 GPT-5.6 Sol:其无 /goal 分数范围仅 319 分,而 Sol
查看原文 →charlesazam.com