Claude Fable 5 对比 GPT 5.6 Sol – 全方位评测
近期,人工智能领域两大巨头 Claude Fable 5 和 GPT 5.6 Sol 在各大榜单上展开激烈角逐,引发了广泛关注。究竟谁能脱颖而出,成为技术革新的引领者?本文将通过一系列实际案例的深度评测,为您揭晓答案。
01. 模型实测
案例一:单文件网页开发
测试要求:
创建一个名为“内容排期看板”的单文件 HTML 网页,包含 12 条示例内容,字段涵盖标题、负责人、平台、发布日期和状态。核心功能需实现:
- 按负责人、平台和状态进行筛选;
- 支持按标题搜索;
- 允许在“草稿、待审核、已发布”三个区域之间拖动卡片;
- 数据修改后应保存至 localStorage,并能在刷新后恢复;
- 具备撤销最近一次状态修改的功能;
- 兼容桌面端和手机端设备;
- 所有内容均需在单个 HTML 文件内完成,不依赖任何外部资源。
要求模型直接生成可运行代码,并附带启动命令及功能说明,避免仅提供方案概述。
GPT 5.6 Sol 的表现:
Claude Fable 5 的表现:
Claude Fable 5 以其精简的代码(仅 15 KB,441 行)完成了核心功能。然而,其界面设计较为朴素,视觉风格不够统一,略显单调。相比之下,GPT 5.6 Sol 的页面设计更为成熟,具备一套完整的视觉体系,整体观感更像经过精心设计的内部产品。尽管 GPT 5.6 Sol 的代码量翻倍(36 KB,1265 行),但其出色的最终产品质量更胜一筹,因此在此轮评测中,GPT 5.6 Sol 获胜。
案例二:多约束排程问题
测试要求:
为 8 位候选人安排面试,可用时间段为 09:00、10:00、11:00、14:00、15:00、16:00,每场面试时长 50 分钟,间隔 10 分钟。公司共有两个会议室(1 号和 2 号)。
约束条件:
- A 和 B 的面试官相同,面试时间不可重叠;
- B 的面试必须安排在下午;
- C 的面试必须安排在上午;
- D 的面试必须晚于 A;
- E 的面试只能在 2 号会议室进行;
- F 的面试不可安排在 10:00 或 15:00;
- G 和 H 的面试需在同一会议室连续进行,G 在前;
- H 的面试必须在 15:00 前结束;
- 12:00 至 14:00 期间不安排面试;
- 每位候选人仅出现一次。
要求模型输出最终日程表,并逐条核对所有约束条件,指出空闲时段。若出现冲突,模型需自行调整,不得放宽或删除任何约束。
GPT 5.6 Sol 的表现:
Claude Fable 5 的表现:
Claude Fable 5 提供了正确的答案,并认真核对了各项约束。然而,在 F 的面试安排上存在瑕疵:尽管 11:00 时 1 号会议室空闲,F 却被安排到了 16:00,这无形中延长了面试时长。GPT 5.6 Sol 则将 F 安排在 11:00,与 2 号会议室的 A 同时进行,由于题目未明确规定 A 和 F 的面试官必须相同,此安排符合要求。因此,在此案例中,GPT 5.6 Sol 胜出。
案例三:供应商决策分析
测试要求:
公司需决定是购买软件、内部开发还是暂缓项目,仅计算未来 12 个月的现金流影响。已知信息包括员工月均成本 3.8 万元,项目上线后可减少 4 名员工的工作量(从上线首月开始计算)。
方案 A(购买软件):年费 180 万元(一次性支付),实施费 30 万元,实施周期 2 个月,成功率 85%。失败不退费,无人员成本节省。
方案 B(内部开发):6 名工程师开发 5 个月,每人月薪 4.5 万元。按时完成概率 65%。延期平均增加 3 个月开发时间,延期期间仍需支付 6 人工资。上线后保留 2 名工程师维护,每人月薪 4.5 万元。无论按时或延期,项目最终都会上线。
方案 C(暂缓项目):12 个月内无新增费用,也无人员成本节省。
要求模型分别计算:
- 按时或成功情况下的净现金影响;
- 失败或延期情况下的净现金影响;
- 按概率计算的期望净现金影响;
- 影响结论的三个主要假设。
最终需提交一份不超过 600 字的决策备忘录,给出明确建议,所有计算过程需可复核,金额单位为万元。
GPT 5.6 Sol 的表现:
Claude Fable 5 的表现:
Claude Fable 5 的分析更为详尽,其提出的三个假设均触及了决策风险点。然而,其结论存在矛盾:一方面指出 B 方案在两三年后可能优于 A,另一方面又建议若项目周期超过 24 个月则倾向于 A,这使得建议不够清晰。GPT 5.6 Sol 的回答更为简洁,计算过程完整,且结论严格限定在题目要求的 12 个月范围内。它准确计算了所有方案在不同状态下的现金影响,并最终选择了 C 方案。在项目必须上线的情境下,它也正确选择了 A 方案,其计算结果与逻辑一致。因此,在此案例中,GPT 5.6 Sol 获胜。
案例四:联网核实信息
测试要求:
截至今日,对比 GPT-5.6 Sol、Claude Fable 5 以及 Google 最接近的旗舰 API 模型。仅查阅三家公司官网、开发者文档、帮助中心及系统卡片,严禁引用媒体、博客或聚合网站信息。需核对以下信息,并附上直接页面链接及访问日期:
- API 模型 ID;
- 输入与输出价格;
- 上下文窗口大小;
- 最大输出长度;
- 支持的输入类型;
- 推理强度设置;
- 工具调用与计算机操作支持;
- 数据保留政策;
- 当前开放范围;
- 官方公布的代码、专业工作及工具调用评测数据。
如遇官方页面信息冲突,需列出冲突并说明采用哪一方信息。若官网未明确说明,则标注“官方未说明”。最后,需分别就代码修改、长篇 PDF 审计及联网调查任务,给出模型选择建议,并将官方事实与个人判断区分开来。
GPT 5.6 Sol 的表现:
Claude Fable 5 的表现:
Claude Fable 5 在模型信息核对上存在一个细微错误,将 GPT-5.6 的推理档位误写为“minimal”,该档位并不存在。但 GPT 5.6 Sol 的错误更为显著,它将对比模型选为了 Gemini 3.5 Flash。鉴于此,在此案例中,Claude Fable 5 胜出。
案例五:约束写作任务
测试要求:
根据提供的产品资料,撰写一篇 800 至 1000 字的中文公众号文章。产品信息包括:产品名 StoneNote,版本 2.3,发布日期 2026 年 7 月 10 日,支持 Windows 和 macOS,笔记以本地 Markdown 保存,新增双向链接和截图 OCR 功能(免费用户每月 500 张 OCR 额度,Pro 版每月 29 元),OCR 需联网,普通编辑可离线,暂不支持 Linux,老用户升级无需迁移,手机端发布时间未定。
写作约束:
- 不得虚构使用体验、用户评价或性能数据;
- 必须完整保留上述 14 项事实信息;
- 禁用“赋能、生态、闭环、重磅、颠覆、重新定义”等词汇;
- 禁止使用“不是 X,而是 Y”的句式;
- 文章开头直接阐述版本更新;
- 正文不得使用项目符号;
- 需说明适合用户群体及当前限制;
- 提供 5 个不含感叹号的标题。
文章完成后,需附带事实核对表,逐项标记 14 项信息是否被包含,并引用原文句子。
GPT‑5.6 Sol 的表现:
Claude Fable 5 的表现:
GPT‑5.6 Sol 准确地包含了所有产品信息,并能区分已知信息和未知信息,但其正文内容更像产品说明书,缺乏公众号文章应有的吸引力。Claude Fable 5 的成稿更具吸引力,标题选择也更自然。然而,Claude Fable 5 在 Pro 版定价信息上有所越界,提到了“超出额度或需要更多用量可订阅 Pro 版”,但原文仅提供了 Pro 版每月 29 元的价格信息,并未详细说明其额度与价格的对应关系。若以纯粹的写作风格和自然度来衡量,Claude Fable 5 胜出;若以严格遵循多重约束和禁止虚构的角度评价,GPT‑5.6 Sol 胜出。
案例六:3D 太阳系模型
测试要求:
使用 Three.js 创建一个单文件 HTML 网页,展示一个放置在深色展厅中的机械太阳系模型。要求:
- 太阳、地球、月球需形成正确的父子层级关系,实现地球绕日、月绕地;
- 模型需包含齿轮、金属支架和轨道环等机械结构,而非仅为球体;
- 支持拖拽旋转视角、滚轮缩放、暂停/继续、速度调节和视角重置;
- 点击地球或月球时,镜头需平滑移动至目标天体,并显示其名称、周期和当前位置;
- 添加柔和阴影、金属材质、环境光和局部高光,确保结构清晰可见;
- 页面尺寸变化时画面不应拉伸,并兼容手机端操作;
- 在用户开启“减少动态效果”选项时,自动暂停旋转;
- 所有模型和结构均需通过代码生成,不使用外部图片、模型或音频资源;
- 最终交付一个可直接运行的 HTML 文件。
GPT‑5.6 Sol 的表现:
Claude Fable 5 的表现:
GPT‑5.6 Sol 生成的实际画面更接近一个完整的机械展品,各天体间的比例和材质区分度更高。相比之下,Claude Fable 5 的齿轮和底座更像是简化模型。Claude Fable 5 的代码更简洁,结构更易于理解,并且在月球与地球的演示周期换算上比 GPT 更严谨。尽管如此,综合整体视觉效果和细节处理,GPT‑5.6 Sol 在此案例中胜出。
案例七:程序化未来城市
测试要求:
使用 Three.js 制作一个单文件的程序化未来城市网页。城市需包含至少 300 栋高度各异的建筑、道路、路灯、飞行车辆和远景雾效。建筑生成必须采用 InstancedMesh 或其他批量渲染方式,避免为每栋楼创建过多对象。页面需提供:
- 白天、黄昏、夜晚三种环境模式切换,光照和建筑窗户同步变化;
- 观察和自动巡游两种相机模式;
- 点击建筑高亮显示,并展示随机生成的编号、高度和用途;
- 建筑密度、车辆数量和巡游速度可调节;
- 实时显示当前 FPS 和场景对象数量;
- 一键重新生成城市,同一随机种子须生成相同布局;
需处理窗口缩放、移动端触控、资源释放及重复生成后的内存管理问题。最终交付一个可直接运行的 HTML 文件。
GPT‑5.6 Sol 的表现:
Claude Fable 5 的表现:
GPT‑5.6 Sol 在建筑窗户生成上采用了自定义 Shader,能够智能排除屋顶的窗户,有效解决了普通贴图的局限性。Claude Fable 5 的完成度也非常高,代码量仅 478 行,实现了批量渲染的建筑、道路、路灯和车辆。其蓝黄相间的窗户和青色飞行车辆的色彩对比更为鲜明,视觉冲击力更强,更符合传统意义上的“未来城市”概念。尽管 GPT 5.6 Sol 的技术细节处理更胜一筹,但 Claude Fable 5 在整体视觉风格和创意表达上更具吸引力,因此在此案例中,Claude Fable 5 获胜。
案例八:产品拆解动画
测试要求:
制作一个单文件的产品介绍页,主题为一款虚构的便携式咖啡机。页面左侧为文字章节,右侧为 Three.js 产品模型。产品模型需用基础几何体组合而成,不得引用外部 3D 文件。向下滚动时,依次完成以下动画:
- 咖啡机从暗处旋转进入画面;
- 外壳、滤杯、水箱和电池模块平滑分离;
- 用水流粒子或曲线动画展示;
- 所有部件重新组装,镜头回到产品正面。
向上滚动时,动画需准确反向播放,不得直接重播。需加入章节定位、当前进度显示、键盘操作和移动端适配。若系统开启“减少动态效果”,则用静态分解图替代连续动画。禁止使用框架脚手架,最终交付一个 HTML 文件。
GPT‑5.6 Sol 的表现:
Claude Fable 5 的表现:
GPT‑5.6 Sol 创建的模型更贴近“便携式咖啡机”的概念。Claude Fable 5 的模型虽包含固定底座、立柱和咖啡杯,更像一台桌面咖啡机。Claude Fable 5 在动画状态设计上表现出色,代码量仅约 406 行,结构清晰。尽管如此,从最终呈现效果来看,GPT‑5.6 Sol 在模型还原度和整体设计上略胜一筹,因此在此案例中,GPT‑5.6 Sol 获胜。
案例九:推箱子游戏
测试要求:
制作一个单文件的推箱子游戏网页,画面可采用 Canvas 或 DOM 实现。要求:
- 内置 8 个难度递增且可解的关卡;
- 支持键盘、屏幕方向键和滑动操作;
- 提供无限撤销、重做、重新开始和关卡选择功能;
- 记录玩家的步数、推动次数、通关时间和每关最佳成绩;
- 刷新页面后保留已解锁关卡和最佳成绩;
- 确保箱子不会穿墙、重叠或被拉动,角色不能离开地图边界;
- 通关时播放简短动画,但不妨碍玩家继续操作;
- 页面需解释操作方式,并支持手机横竖屏显示;
- 不使用外部图片或游戏素材,最终交付一个 HTML 文件。
需自行验证每个关卡至少存在一条通关路径。
GPT‑5.6 Sol 的表现:
Claude Fable 5 的表现:
GPT‑5.6 Sol 的视觉完成度远高于 Claude Fable 5。其界面布局清晰,包含标题区、关卡侧栏、数据面板、游戏棋盘、操作区和状态反馈等元素,墙体、箱子、目标点以及已入库箱子的识别度极高,整体已具备发布级别的小游戏水准。Claude Fable 5 的主要优势在于代码紧凑(约 14KB),实现了核心规则、键盘/方向键/滑动操作、存档及粒子动画等功能,但关卡难度设置偏低。GPT‑5.6 Sol 在关卡深度、视觉表现、状态可靠性及细节反馈方面均占优,因此在此案例中,GPT‑5.6 Sol 胜出。
案例十:电子表格公式引擎
测试要求:
使用 TypeScript 从零开始实现一个迷你电子表格公式引擎,无需界面。需支持:
- 数字、括号以及 +、-、*、/ 运算符;
- A1、B2 等单元格引用形式;
- A1:B5 等区域引用形式;
- SUM、AVERAGE、MIN、MAX、IF 等函数;
- 字符串以及 >、=、<=、= 等比较运算;
- 单元格依赖更新,仅重新计算受影响的单元格;
- 循环引用检测,并返回可读的循环路径;
- 空单元格、除零、未知函数和非法公式错误处理;
- 公式前导等号及函数名大小写不敏感。
禁止使用 eval、Function 构造器或第三方公式解析库。要求提供清晰的目录结构、核心实现代码及自动化测试。测试用例需覆盖运算优先级、嵌套函数、区域计算、依赖传播和循环引用等场景。
GPT‑5.6 Sol 的表现:
代码示例(仅为示意,非完整代码):
import { expandRange, normalizeAddress } from “./address”;
import { asSpreadsheetError, FormulaError } from “./errors”;
import { evaluateExpression } from “./evaluator”;
import { parseFormula } from “./parser”;
import type { CellValue, Expression, FormulaResult, SpreadsheetError } from “./types”;
export type CellInput = number | string | boolean | null;
interface Cell {
input: CellInput;
expression


