关于ZAKER 合作
硅星人 刚刚

GPT-5 费尽心机“作弊”,只为超过心魔 Claude

GPT5 终于发布了,但相比 GPT3.5、sora 等,并没有给人们带来震撼的感觉。往好了说,OpenAI 放弃了传奇期货王的身份,聚焦大模型的落地与应用。这其实也解释了为何在发布会上,OpenAI 特别强调 GPT-5 在编程方面的能力:毕竟今年没有比 AI Coding 更落地的 AI 方向了。一众 AI IDE 工具也第一时间接入了 GPT5,这放在以前没 2 个月谁能用到。

然而,有媒体披露 OpenAI 在编程能力测试中 " 作弊 "。具体来说,在 SWE Bench Verified 这项编程测试里,OpenAI 并不是真的跑了全部 500 道题,只测试了 477 个。而 claude、谷歌等模型在测试模型编程能力时,是跑满 500 到题目的。

此外,更吊诡的是,SWE Bench Verified 是 OpenAI 推出来的一个 " 精炼版 "。因为原本的 SWE Bench 有 2294 个软件工程问题,OpenAI 觉得这些题目中有些太难、太不稳定,无法公平评估模型的编程能力,于是 OpenAI 自己选了 500 道题,让评测更靠谱 。结果更离谱的是这个 " 自己选的子集 ",又被砍掉一部分,剩下 477 道题跑评测。

OpenAI 官网发表了一个博文解释并介绍为什么要推出 SWE Bench Verified:https://openai.com/index/introducing-swe-bench-verified/

有网友吐槽:OpenAI 这是在怕什么?

为了搞清楚 SWE Bench Verified 是什么,测试了哪些能力,我们特地从 OpenAI 官网下载了题目、注释和评分标准,实际演练一番。

我们在 OpenAI 官网提供的渠道下载了 SWE Bench Verified 的题目、注释和评分标准。

SWE Bench Verified 是一套面向真实世界软件工程问题的高质量评测数据,旨在衡量代码修复与理解能力。该数据集包含 500 个经过验证的测试样本,每个样本均附带代码仓库信息、问题描述、修复补丁、测试补丁以及难度标签等关键信息。

题目难度上主要依据 " 完成时间 " 进行区分,比如 15 分钟内完成的就比较简单,难点点任务可能会用时超过 4 小时。目前 SWE Bench Verified 中有 38.8% 的任务可在 15 分钟内完成,52.2% 需要 15 分钟至 1 小时,8.4% 的任务耗时在 1 至 4 小时之间,仅有 0.6% 的任务超过 4 小时。

测试中的样本来源覆盖多个知名开源项目,包含 django/django、sympy/sympy、sphinx-doc/sphinx、pandas/pandas、scikit-learn/scikit-learn、matplotlib/matplotlib、pytorch/pytorch、numpy/numpy、requests/requests 等。

每个项目会测试大模型各个方面的代码能力。比如django/django:作为占比最高的项目,主要测试开发者对大型 Web 框架的理解能力,特别是在数据库查询优化、URL 路由、中间件处理等方面。pandas/pandas:数据分析领域的代表,测试对数据结构和数据处理算法的掌握程度,特别是在处理大规模数据和复杂数据转换方面。

我们让 GPT5 挑选了 10 个有代表性的项目,内容涉及大模型的多种能力。

1. Django/Django - Web 框架之王

GitHub: https://github.com/django/django

问题 : 优化 .delete ( ) 方法,仅使用必需字段

测试重点 : 数据库查询优化与性能测试

意义 : Django 是最流行的 Python Web 框架,这个问题涉及 ORM 性能优化,测试数据库操作效率

2. SymPy/SymPy - 符号数学计算

GitHub: https://github.com/sympy/sympy

问题 : 距离计算错误(3D 坐标被忽略)

测试重点 : 数值计算精度与边界条件测试

意义 : SymPy 是 Python 符号数学库,测试数学计算的准确性和边界情况处理

3. Sphinx-doc/Sphinx - 文档生成工具

GitHub: https://github.com/sphinx-doc/sphinx

问题 : 继承图表 SVG 格式下的 404 链接问题

测试重点 : 文档生成与链接完整性测试

意义 : Sphinx 是 Python 文档生成标准工具,测试文档渲染和链接的正确性

4. Matplotlib/Matplotlib - 数据可视化

GitHub: https://github.com/matplotlib/matplotlib

问题 : 对数坐标轴反转功能失效

测试重点 : 图形渲染与坐标系统测试

意义 : Matplotlib 是 Python 绘图库标杆,测试复杂图形系统的坐标变换

5. Scikit-learn/Scikit-learn - 机器学习

GitHub: https://github.com/scikit-learn/scikit-learn

问题 : RidgeClassifierCV 的 store_cv_values 参数问题

测试重点 : 机器学习参数验证测试

意义 : Scikit-learn 是最重要的 ML 库,测试算法参数处理和交叉验证

6. Astropy/Astropy - 天体物理学

GitHub: https://github.com/astropy/astropy

问题 : 嵌套复合模型的可分离性矩阵计算错误

测试重点 : 复杂模型组合与数学计算测试

意义 : Astropy 专门用于天文学计算,测试复杂数学模型的组合逻辑

7. Pydata/Xarray - 多维数据分析

GitHub: https://github.com/pydata/xarray

问题 : Variable.__setitem__ 对带 values 属性对象的类型强制转换

测试重点 : 多维数据类型处理测试

意义 : Xarray 处理多维标记数组,测试数据类型转换和属性访问

8. Pytest-dev/Pytest - 测试框架

GitHub: https://github.com/pytest-dev/pytest

问题 : 收集补丁数组的测试时出现 ValueError

测试重点 : 测试框架自身功能测试

意义 : Pytest 是 Python 标准测试框架,测试测试工具本身的稳定性

9. Pylint-dev/Pylint - 代码质量检查

GitHub: https://github.com/pylint-dev/pylint

问题 : verbose 选项的短参数需要参数值

测试重点 : 命令行工具接口测试

意义 : Pylint 是代码质量检查工具,测试命令行参数解析和用户界面

10. PSF/Requests - HTTP 库

GitHub: https://github.com/psf/requests

问题 : 二进制负载请求因调用 to_native_string 失败

测试重点 : HTTP 协议与二进制数据测试

意义 : Requests 是最流行的 HTTP 库,测试网络通信和数据编码处理

至于 OpenAI 为什么要删除 23 道测试题而不是用完整版,答案也许就在下面的排名中。在 SWE Bench Verified 完整版,也就是 500 道题目的基准下,GPT5 并没有超越 claude 4 Opus。

然而,反转又来了,上述测试是基于 bash only,也就是完全依赖大模型本身的能力。现实情况下,用户通常会使用 AI IDE 来配合大模型使用,像 cursor、codebuddy、trae 等。问题也就随之而来,AI IDE 提供的模型中," 最好 " 的 claude 4 opus 很贵,tokens 很容易用完,换句话说,目前 GPT5 可能是最具性价比、可用性最强的编程模型?

实测环节

当然,评分只能代表模型性能,我们还得具体上手试试。

我们在 Codebuddy 的环境下,用 GPT5 做了一个 SWE Bench Verified 数据库查询器(已经提供 OpenAI 官网下载的注释、评分标准,以及基于 huggingface 的数据库)。

prompts:制作一款 SWE Bench Verified 数据库查询器,功能是可以轻松查询 SWE Bench Verified 有哪些问题,以及问题的链接,以及评分标准。

GPT5 生成过程比较顺利,没有出现不可逆的 bug。第一版本只显示了 11 个项目,一轮交流后也补全了 500 个。

GPT5 制作的版本预览:http://4d916460ea034a90bd4e0c1dd25efc6b.ap-singapore.myide.io

随后,用相同的 prompts 用 claude-4-sonnet 进行生成,非常明显的感受是,claude-4-sonnet 的一次成功率不如 GPT5,比如常见的网页不显示问题,与 claude 进行了多轮交互才得以解决。

claude-4-sonnet 制作的版本预览:http://7561fbea40ff4069a3c2c8ae367cd7ea.ap-singapore.myide.io

在 UI 层面,由于两者都采用了 MUI 框架,视觉风格上差异不大。但在细节打磨上,claude-4-sonnet 生成的网页明显更胜一筹——响应式布局更加出色,在不同屏幕尺寸下都能保持优雅呈现。外链信息的组织也更合理,例如项目的 issue 与详情分布清晰,而 GPT5 生成的页面不仅 " 暴露 " 了数据库来源(HuggingFace),内容排列逻辑也略显混乱。

功能方面,GPT5 在筛选功能上表现突出,仓库标签数量完整(10 个),优于 Claude-4-sonnet 的 8 个。但从交互体验来看,claude-4-sonnet 的筛选操作更加直观易用,并针对移动端提供了专用的筛选入口,减少了操作步骤。

为了更客观,我们还引入 Gemini 2.5 Pro 对两个项目进行评分。结果显示 claude-4-sonnet 生成的项目在几乎所有关键维度上都优于 GPT5。前者以模块化架构为核心,将组件按功能分区,并通过自定义 Hooks 实现数据与视图的分离,可维护性和可读性更佳;后者则采用扁平化组件结构,数据逻辑与 UI 高度耦合,更像一个原型验证型应用。

在整体功能体验上,claude-4-sonnet 不仅集成了搜索、视图切换、响应式布局等能力,还通过侧边栏详情、移动端专用筛选等现代交互模式缩短了操作路径,而 GPT5 则依赖传统的页面跳转方式,操作链路更长。总体来看,claude-4-sonnet 在代码质量、功能深度和用户体验上都体现出更成熟的软件工程思路和更广的应用场景覆盖,而 GPT5 的优势主要集中在特定功能的完整性和实现速度上。

看完 Gemini 的评价,好像能理解为什么 OpenAI 要少做 23 道题目了。

回到测试,事实上会影响大模型能力的变量太多——数据集构成、推理策略、上下文管理、工具调用能力,甚至 IDE 本身的特性,都会让结果发生明显波动。也许换个任务,GPT5 表现会更好,也许换个 IDE,同一模型就会跑出不一样的分数。但毕竟,这是 GPT5。曾经有人调侃,本轮大模型的估值与泡沫,全靠 OpenAI 一肩扛着,如今这个重担似乎可以稍稍卸下。

在 AI Coding 领域,排行榜从来只是一个切片,真正决定生产力的,是模型在真实开发环境中的稳定性、可维护性、与工具链的适配程度,以及产品能否在复杂的应用场景里,依然交出可用且可靠的代码。

相关标签

最新评论

没有更多评论了
硅星人

硅星人

硅是创造未来的基础,欢迎登陆硅星球。

订阅

觉得文章不错,微信扫描分享好友

扫码分享