实验
我选择了 10 个真实的编码任务——即开发人员每天实际执行的那种任务——并将完全相同的提示词提交给 GPT-5.4 和 Claude Opus 4.6。相同的系统提示词,相同的上下文,相同的评估标准。
没有合成基准测试。没有刻意挑选的例子。只有根据三个维度评分的真实任务:
- 正确性(无需修改即可运行吗?)
- 代码质量(可读性、类型、错误处理、边缘情况)
- 效率(tokens 使用量、响应时间、后续提示词的数量)
每个维度的评分为 1-10 分。每个任务的最大可能得分为 30 分。
这些模型是通过各自的 API 以标准定价访问的:GPT-5.4 价格为 每 100 万 tokens $2.50/$15,Claude Opus 4.6 价格为 每 100 万 tokens $15/$75。
以下是这 10 个任务以及具体发生的情况。
任务 1:构建一个 REST API 端点
提示词: "Create a POST /api/users endpoint in Express.js with TypeScript. Validate email format and password strength (min 8 chars, 1 uppercase, 1 number). Hash the password with bcrypt. Store in PostgreSQL via Prisma. Return the user without the password field. Handle duplicate emails with a 409 status."
GPT-5.4 结果
干净、生产就绪的代码。Zod 验证架构非常精确。bcrypt 哈希使用了适当的 salt round 常量。Prisma 查询使用 select 在数据库级别排除了密码字段,而不是从响应对象中删除它——这是一个细微但重要的安全实践。TypeScript 类型非常严谨。
Claude Opus 4.6 结果
同样干净且正确。使用了类似的 Zod 验证方法,但为端点添加了限流中间件,并包含了说明原因的注释。密码排除使用了 Prisma 的 omit 功能。添加了针对 Prisma 唯一约束冲突的特定错误类型的 try/catch。
评分
| 维度 | GPT-5.4 | Opus 4.6 |
|---|---|---|
| 正确性 | 10 | 10 |
| 代码质量 | 9 | 9 |
| 效率 | 9 | 8 |
| 总计 | 28 | 27 |
获胜者:GPT-5.4(在速度和简洁性上略胜一筹)
两个输出都非常出色。GPT-5.4 速度更快且使用的 tokens 更少。Opus 未经提示就添加了限流中间件——很有用,但并非要求。对于定义明确的 API 任务,这些模型基本上是可以互换的。
任务 2:构建一个 React 组件
提示词: "Create a React component called DataTable that accepts generic typed data, supports sortable columns, pagination (client-side), a search filter, and row selection with checkboxes. Use TypeScript generics. No UI library — just HTML/CSS with CSS modules. Include proper ARIA attributes."
GPT-5.4 结果
交付了一个结构良好的泛型组件。TypeScript generics 在列定义和数据类型中被正确使用。排序逻辑很干净,提取了自定义的 useSortable hook。分页使用了 useMemo 以提高性能。ARIA attributes 是正确的——role="grid",排序列标题上的 aria-sort,复选框上的 aria-selected。
Claude Opus 4.6 结果
结构相似,但有一些不同。Opus 创建了一个 useDataTable hook,封装了排序、分页和过滤逻辑——更干净的分离,但抽象程度更高。TypeScript generics 同样正确。标题单元格上缺少 aria-sort。CSS module 包含了一个响应式布局,在移动端切换到卡片视图,这虽然未被要求,但却是一个周到的补充。
评分
| 维度 | GPT-5.4 | Opus 4.6 |
|---|---|---|
| 正确性 | 10 | 9 |
| 代码质量 | 9 | 9 |
| 效率 | 9 | 8 |
| 总计 | 28 | 26 |
获胜者:GPT-5.4
GPT-5.4 的 ARIA 实现更完整,这对于将在整个应用程序中使用的组件至关重要。正如 MindStudio 的比较所指出的,GPT-5.4 擅长生成包括 React 组件和 TypeScript interfaces 在内的样板代码。
任务 3:编写复杂的 SQL 查询
提示词: "Write a PostgreSQL query that returns the top 10 customers by lifetime value (total order amount) who have placed at least 3 orders in the last 12 months, including their most recent order date, average order value, and the percentage change in their spending compared to the previous 12-month period. Use CTEs for readability."
GPT-5.4 结果
三个 CTEs:一个用于当前时期的聚合,一个用于前一时期的聚合,一个用于百分比计算。干净、正确、格式良好。使用 COALESCE 处理没有前一时期数据的客户。添加了一个索引提示注释。
Claude Opus 4.6 结果
四个 CTEs,结构略有不同:将“最后订单日期”计算分离到其自己的 CTE 中,以避免相关子查询。添加了一个 NULLIF 以防止百分比计算中的除以零错误——这是 GPT-5.4 遗漏的一个真实边缘情况。在注释块中包含了一个窗口函数替代方案。
评分
| 维度 | GPT-5.4 | Opus 4.6 |
|---|---|---|
| 正确性 | 9 | 10 |
| 代码质量 | 8 | 9 |
| 效率 | 9 | 8 |
| 总计 | 26 | 27 |
获胜者:Claude Opus 4.6
除以零的边缘情况是区别所在。在生产环境的 SQL 中,这类 bug 会导致无声的数据损坏。Opus 始终能发现在现实世界数据管道中至关重要的边缘情况。
任务 4:调试竞态条件
提示词: 我提供了一个来自 Node.js 应用程序的 3 个文件(总共约 200 行),其中包含间歇性的测试失败。这个 bug 是缓存层中的竞态条件,并发缓存未命中可能会触发重复的数据库查询和不一致的状态。"Find the bug, explain why it only manifests intermittently, and provide a fix."
GPT-5.4 结果
识别出了正确的缓存未命中代码路径。建议使用 async-mutex 添加互斥锁。修复是正确的,但治标不治本——它序列化了所有的缓存访问,这会在高负载下损害性能。
Claude Opus 4.6 结果
识别出了相同的代码路径,但也追溯到了状态不一致的第二个问题:缓存更新不是原子的——在读取检查和写入之间存在一个窗口,另一个请求可以交错进行。Opus 建议采用“single-flight”模式(合并并发的相同请求),而不是全局互斥锁。这种修复更具针对性,并保留了非冲突缓存键的并发性。
评分
| 维度 | GPT-5.4 | Opus 4.6 |
|---|---|---|
| 正确性 | 7 | 10 |
| 代码质量 | 7 | 9 |
| 效率 | 8 | 8 |
| 总计 | 22 | 27 |
获胜者:Claude Opus 4.6
明显的差距。Opus 对并发模型的理解足够深刻,能够提出有针对性的修复方案。这与 Claude Opus 4.6 在 SWE-bench Verified 上的 80.8% 评分相符,该基准测试正是测试这类现实世界的 bug 解决能力。
任务 5:代码审查
提示词: 我提供了一个 350 行的 pull request,用于添加一个新的支付处理模块。"Review this PR for bugs, security issues, performance problems, and code quality. Prioritize findings by severity."
GPT-5.4 结果
发现了 5 个问题:支付响应缺少空值检查、未处理的 promise rejection、本应可配置的硬编码超时、缺少的幂等键,以及将幻数提取为常量的建议。按严重程度组织。清晰且具有可操作性。
Claude Opus 4.6 结果
发现了 8 个问题:GPT-5.4 发现的那 5 个,外加 3 个——金额验证中的 TOCTOU(检查时间到使用时间)漏洞、错误响应中可能泄露内部堆栈跟踪的信息泄漏,以及一个微妙的问题,即如果第一个请求成功但响应丢失,重试逻辑可能会导致重复收费。每项发现都包含了具体的行号和建议的修复方案。
评分
| 维度 | GPT-5.4 | Opus 4.6 |
|---|---|---|
| 正确性 | 8 | 10 |
| 代码质量 | 8 | 10 |
| 效率 | 9 | 8 |
| 总计 | 25 | 28 |
获胜者:Claude Opus 4.6
新增的三个发现都具有安全关键性。仅重复收费 bug 这一项就可能给公司带来巨大的金钱和声誉损失。Opus 在 MRCR v2(多文件推理)上的 76% 直接转化为了对复杂模块更好的代码审查能力。
任务 6:编写测试套件
提示词: "Write comprehensive tests for this authentication middleware using Vitest. Cover: valid tokens, expired tokens, malformed tokens, missing authorization header, revoked tokens, rate limiting, and concurrent authentication requests." 我提供了中间件源文件(约 120 行)。
GPT-5.4 结果
生成了 18 个测试用例,组织在干净的 describe 块中。提示词中的每个场景都得到了覆盖。增加了三个额外的边缘情况:空字符串 token、算法错误的 token 以及仅包含空格的 authorization header。Mocks 使用 vi.mock 结构良好。测试描述清晰,并遵循了 "should X when Y" 模式。
Claude Opus 4.6 结果
生成了 15 个测试用例。覆盖了所有提示的场景。测试结构使用了一个辅助工厂来创建具有不同属性的 tokens——很聪明但增加了复杂性。漏掉了明确要求的“并发身份验证请求”测试。Mocks 更干净,但测试数量较少。
评分
| 维度 | GPT-5.4 | Opus 4.6 |
|---|---|---|
| 正确性 | 10 | 8 |
| 代码质量 | 9 | 9 |
| 效率 | 9 | 8 |
| 总计 | 28 | 25 |
获胜者:GPT-5.4
GPT-5.4 更忠实地遵循了提示词,并添加了有意义的边缘情况。正如多项比较所指出的,GPT-5.4 的测试生成是最好的之一,能够编写具有强大边缘情况覆盖范围的全面测试套件。
任务 7:重构单体模块
提示词: 我提供了一个 500 行的 Python 模块,用于处理用户管理——注册、身份验证、配置文件更新、密码重置和电子邮件通知全部在一个文件中。"Refactor this into a clean module structure following SOLID principles. Maintain backward compatibility with the existing public API."
GPT-5.4 结果
拆分为 5 个模块:auth.py、registration.py、profile.py、password.py、notifications.py。添加了一个 __init__.py,重新导出原始公共函数以保持向后兼容性。干净的分离。每个模块都是自包含的。
然而,它漏掉了更新 registration.py 和 notifications.py 之间的循环依赖关系——注册发送欢迎电子邮件,而通知模块需要引用回用户数据。代码在导入时会崩溃。
Claude Opus 4.6 结果
拆分为 6 个模块,分解方式相同,外加一个用于共享数据类的 types.py。至关重要的是,它识别出了循环依赖问题,并通过引入基于事件的模式解决了该问题——注册发出 "user_created" 事件,而通知模块订阅该事件。向后兼容的 __init__.py 在方法上是相同的。
Opus 还在每个模块的顶部添加了简短的注释,解释了哪些内容属于该模块,哪些不属于——作为未来开发人员的指南。
评分
| 维度 | GPT-5.4 | Opus 4.6 |
|---|---|---|
| 正确性 | 6 | 10 |
| 代码质量 | 8 | 10 |
| 效率 | 8 | 7 |
| 总计 | 22 | 27 |
获胜者:Claude Opus 4.6
循环依赖 bug 会导致生产环境故障。这是 Opus 擅长的多文件推理类型——它在生成代码之前理解跨文件依赖关系和架构影响。
任务 8:编写技术文档
提示词: "Write API documentation for this payment processing SDK. Include: overview, authentication, rate limits, error codes, 5 endpoint descriptions with request/response examples, a webhook section, and a migration guide from v1 to v2." 我提供了 SDK 源代码。
GPT-5.4 结果
全面的文档,涵盖了所有要求的章节。端点描述详细,带有 curl 示例和响应架构。错误代码章节以表格形式组织得很好。迁移指南清晰,带有前/后代码示例。干净的 markdown 格式。
Claude Opus 4.6 结果
同样全面,结构略有不同——它在详细文档之前放置了一个“快速入门”章节,这是开发者文档的一个很好的模式。Webhook 章节更详细,包括重试行为、签名验证代码和测试指南。迁移指南包含了一个源代码中没有的弃用时间线——它是从版本控制模式中推断出来的。
评分
| 维度 | GPT-5.4 | Opus 4.6 |
|---|---|---|
| 正确性 | 9 | 9 |
| 代码质量 | 9 | 9 |
| 效率 | 9 | 8 |
| 总计 | 27 | 26 |
获胜者:平局(GPT-5.4 在效率上多得一分)
两者都产生了出色的文档。质量差异微乎其微。GPT-5.4 速度稍快。对于文档任务,两个模型都表现良好——这与开发者报告一致,即前沿模型的文档质量不相上下。
任务 9:设计系统架构
提示词: "Design the architecture for a real-time collaborative document editor supporting 10,000 concurrent users. Cover: data model, conflict resolution strategy (CRDTs vs OT), WebSocket infrastructure, storage layer, presence system, and deployment topology. Provide a diagram in Mermaid syntax."
GPT-5.4 结果
选择了带有中央服务器的 OT (Operational Transformation)。架构合理,使用 Redis 处理状态显示,PostgreSQL 用于文档存储,并在负载均衡器后设置了 WebSocket 网关。Mermaid 图表很干净。分析很到位,但遵循了标准方案——它没有深入分析 CRDTs 和 OT 在这种特定规模下的权衡。
Claude Opus 4.6 结果
首先询问了一个关于文档模型(富文本 vs 纯文本 vs 结构化数据)的澄清问题,我回答是“富文本”。然后建议使用 CRDTs(特别是 Yjs)而不是 OT,并详细解释了为什么 CRDTs 在这种规模下更优越——没有中央序列发生器的最终一致性消除了单点故障。
该架构包含了一个新颖的细节:一个处理 CRDT 合并操作的“文档网关”层,它既充当 WebSocket 终端又充当状态持久层。Mermaid 图表包含了带有协议注释的数据流箭头。部署部分建议采用特定的分区策略(按文档 ID 分片),并提供了关于热分区的论据。
评分
| 维度 | GPT-5.4 | Opus 4.6 |
|---|---|---|
| 正确性 | 8 | 10 |
| 代码质量 | 7 | 10 |
| 效率 | 8 | 7 |
| 总计 | 23 | 27 |
获胜者:Claude Opus 4.6
架构是这些模型之间推理深度差距最明显的地方。Opus 在生成输出之前更明确地推理问题,解决边缘情况,并在需求真正模棱两可时询问澄清问题。
任务 10:编写 DevOps 部署脚本
提示词: "Write a GitHub Actions workflow that: builds a Docker image, runs tests, pushes to ECR, deploys to ECS Fargate with blue-green deployment, runs a smoke test against the new deployment, and rolls back automatically if the smoke test fails. Use OIDC for AWS authentication — no hardcoded credentials."
GPT-5.4 结果
一个完整的工作流文件,包含所有请求的步骤。使用 aws-actions/configure-aws-credentials 和角色 ARN 的 OIDC 配置正确。蓝绿部署使用了带有 CODE_DEPLOY 部署控制器的 ECS 服务更新。冒烟测试是一个基于 curl 的健康检查。回滚由冒烟测试的退出代码触发。注释良好,生产就绪。
Claude Opus 4.6 结果
同样完整且正确。使用了相同的 OIDC 方法。关键区别在于冒烟测试——Opus 创建了一个更彻底的测试,不仅检查健康端点,还通过检查 /version 端点验证部署的版本是否正确。回滚包括一个 Slack 通知步骤。然而,该工作流明显更冗长——实现类似功能的行数多了 40%。
评分
| 维度 | GPT-5.4 | Opus 4.6 |
|---|---|---|
| 正确性 | 10 | 10 |
| 代码质量 | 9 | 9 |
| 效率 | 9 | 7 |
| 总计 | 28 | 26 |
获胜者:GPT-5.4
对于 DevOps 脚本编写,GPT-5.4 的简洁性是一个优势。工作流更易于维护和修改。Opus 的增加项(Slack 通知、版本验证)很好,但并非要求且增加了复杂性。GPT-5.4 在 Terminal-bench (75.1% vs 65.4%) 上领先,这种优势在面向终端的任务中得到了体现。
最终计分板
| 任务 | GPT-5.4 | Opus 4.6 | 获胜者 |
|---|---|---|---|
| 1. REST API 端点 | 28 | 27 | GPT-5.4 |
| 2. React 组件 | 28 | 26 | GPT-5.4 |
| 3. SQL 查询 | 26 | 27 | Opus 4.6 |
| 4. 调试竞态条件 | 22 | 27 | Opus 4.6 |
| 5. 代码审查 | 25 | 28 | Opus 4.6 |
| 6. 测试套件 | 28 | 25 | GPT-5.4 |
| 7. 重构模块 | 22 | 27 | Opus 4.6 |
| 8. 文档编写 | 27 | 26 | 平局 |
| 9. 架构设计 | 23 | 27 | Opus 4.6 |
| 10. DevOps 脚本 | 28 | 26 | GPT-5.4 |
| 总计 | 257 | 266 | Opus 4.6 |
最终得分:Claude Opus 4.6 以 266 比 257 获胜。
但总分掩盖了真实的情况。
比分数更重要的模式
看看每个模型在哪里获胜:
GPT-5.4 获胜于:
- API 端点(定义明确、范围明确的任务)
- React 组件(具有明确规格的样板代码)
- 测试编写(根据规格进行全面覆盖)
- DevOps 脚本(面向终端、简洁的输出)
Claude Opus 4.6 获胜于:
- SQL 边缘情况(捕获微妙的数据 bug)
- 调试(理解复杂系统中的根本原因)
- 代码审查(发现安全和正确性问题)
- 重构(处理跨文件依赖关系)
- 架构(对权衡进行深入推理)
模式很清晰:GPT-5.4 是处理定义明确的编码任务时更快、更便宜、更好的模型。Claude Opus 4.6 是处理需要跨越复杂性进行推理的任务时更深入、更细致的模型。
这与 DataCamp 的分析相吻合:GPT-5.4 是最好的全能模型,而 Opus 4.6 专门擅长代理和深度编码任务。
成本因素
得分差距(9 分)相对较小。成本差距则不然。
| 指标 | GPT-5.4 | Claude Opus 4.6 |
|---|---|---|
| 输入定价 | $2.50/MTok | $15/MTok |
| 输出定价 | $15/MTok | $75/MTok |
| 速度 | 73.4 tok/s | 40.5 tok/s |
| 上下文窗口 | 1M (surcharge >272K) | 1M (flat pricing) |
| 工具搜索节省 | ~47% token reduction | N/A |
对于这 10 个任务的测试,GPT-5.4 的总 API 成本约为 $4.20,而 Opus 4.6 为 $31.50。这意味着为了 3.5% 的质量提升,支付了 7.5 倍的成本差异。
对于每天运行数百个 AI 辅助编码任务的团队来说,数学计算强烈支持在大部分工作中使用 GPT-5.4,而将 Opus 保留在风险较高的 10-20% 任务中,因为在这些任务中,它的推理深度会产生实质性的影响。
聪明策略:两者兼顾
2026 年的大多数在职开发人员并不是只选择一个模型,而是选择何时使用每个模型。这次测试中出现的模式与我们在 ZBuild 使用的模式一致:
日常主力:GPT-5.4(通过 Codex CLI 或 API)
- 编写新的端点、组件和脚本
- 根据规格生成测试
- 针对隔离问题的快速调试
- DevOps 和 CI/CD 自动化
重型武器:Claude Opus 4.6(通过 Claude Code 或 API)
- 具有复杂依赖关系的跨文件重构
- 审查安全关键代码
- 架构设计会议
- 在大型代码库中调试不明显的问题
这种双模型方法捕捉了两个模型 95% 的优势,同时保持了成本的可控性。Portkey 关于在这些模型之间进行选择的指南也推荐了同样的混合方法。
基准测试结果(仅供参考)
上述逐个任务的结果与正式基准测试一致:
| 基准测试 | GPT-5.4 | Opus 4.6 | 衡量指标 |
|---|---|---|---|
| SWE-bench Verified | ~80% | 80.8% | 真实的 GitHub 问题解决能力 |
| SWE-bench Pro | 57.7% | ~46% | 更难、更严格的编码任务 |
| Terminal-bench 2.0 | 75.1% | 65.4% | 终端和系统任务 |
| HumanEval | 93.1% | 90.4% | 函数级代码生成 |
| GPQA Diamond | 92.0-92.8% | 87.4-91.3% | 专家级推理 |
| ARC-AGI-2 | 73.3% | 68.8-69.2% | 新颖推理 |
来源:MindStudio benchmarks, Evolink analysis, Anthropic
GPT-5.4 在大多数基准测试中领先。Opus 4.6 在 SWE-bench Verified 上领先——这是与现实世界 bug 修复联系最紧密的基准测试——这解释了它在我的测试中在调试和重构方面的优势。
裁决
如果你只能选择一个模型: GPT-5.4。它能以相同或更好的质量处理 80% 的编码任务,成本低 6-7 倍,速度快 80%。Opus 表现更好的那 20% 任务(调试、重构、架构)通常可以通过在 GPT-5.4 上使用更详细的提示词来处理。
如果你可以使用两者: 那就去做吧。GPT-5.4 用于日常编码,Opus 4.6 用于复杂工作。这不是妥协——这是最优策略。
如果成本不重要且你希望在每个任务上都获得最高质量: Claude Opus 4.6。它赢得了总分,且它的胜利在于那些质量至关重要的任务(bug 的代价比样板代码更高)。
结果并非如我所料,因为我原以为更昂贵的模型会占据主导地位。事实并非如此。这两个模型确实有不同的优势,最好的策略是了解你手头的任务需要哪种优势。
来源
- OpenAI — Introducing GPT-5.4
- OpenAI — API Pricing
- Anthropic — Introducing Claude Opus 4.6
- Anthropic — Claude Pricing
- MindStudio — GPT-5.4 vs Claude Opus 4.6 vs Gemini 3.1 Pro Benchmarks
- MindStudio — Which AI Model Is Right for Your Workflow
- Portkey — GPT-5.4 vs Claude Opus 4.6 Guide
- DataCamp — GPT-5.4 vs Claude Opus 4.6 for Agentic Tasks
- Artificial Analysis — GPT-5.4 vs Claude Opus 4.6
- Bind AI — GPT-5.4 vs Claude Opus 4.6 for Coding
- Evolink — SWE-bench Verified 2026: Claude vs GPT
- DEV Community — ChatGPT vs Claude for Coding 2026
- Claude 5 — Opus 4.6 Benchmark Analysis