o3-mini 上了 SWE-bench Verified 编程榜:用 TaoToken 复现同一把 Key

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度

1. 复现 o3-mini 的 SWE-bench Verified 跑分环境,先解决 Key 和 Base URL

这两天大家都在讨论 o3-mini 进入 SWE-bench Verified 公榜的事。如果你想本地用同一个模型重复跑一遍官方的评估流程,最要紧的不是抄别人的 Agent 配置,而是先确认手里的 API Key 能不能在这个模型上完成鉴权。我用 TaoToken(官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_generate&utm_content= )作为统一 API 通道,把 SWE-bench harness 需要的环境变量全部指向它,再用同一把 Key 跑了一次完整的连通性验证。

SWE-bench Verified 是一个偏重真实 GitHub issue 修复的评测集,模型要读取 issue 描述、理解仓库上下文,然后生成 diff。官方 Harness 在跑分时会调用模型的 chat completions 接口,所以要复现这个环境,本质上就是配好 Base URL、Key 和模型 ID 三个东西。很多人在这里会踩坑:把 Anthropic 官方 SDK 里的 ANTHROPIC_BASE_URL 直接搬过来,结果 404;或者把模型的完整路径写在环境变量里,导致签名时把路径拼了两遍。

我这次的做法比较直接:先确认 TaoToken 的 Base URL 是 https://taotoken.net/api,不是带 /v1 的版本。然后在 harness 的启动脚本里把 ANTHROPIC_BASE_URL 设为这个地址,ANTHROPIC_AUTH_TOKEN 设为在官网创建的 Key,ANTHROPIC_MODEL 填上模型广场里对应 o3-mini 的 ID。这样做的原因是 SWE-bench 的很多 harness 模板默认按 Anthropic 的协议来构造请求,TaoToken 兼容这套协议,所以不需要改 harness 的源码。

有一点必须强调:公榜上的是模型本身,TaoToken 只是提供 API 接入的通道。你在本地复现,并不是把 TaoToken 送进排行榜,而是用自己的 Key 和 Base URL 去访问同一个模型。这就意味着,只要 Key 有调用权限,harness 里配置正确,跑出来的结果在协议层面就和官方评测时是一致的,剩下的是模型版本和采样参数的事。

2. SWE-bench Verified 官方 harness 怎么接 TaoToken

SWE-bench 官方的 harness 通常是一套 Python 脚本,它会先构建 Docker 镜像,然后在容器里运行模型生成的补丁。你要改的只有模型调用那一段。我参考了 SWE-bench 官方仓库里关于 API 调用的配置说明,它支持的模型后端可以通过 --model 参数指定,而 model 字符串里可以包含自定义的 API 地址。

实际操作中,我写了一个环境变量配置文件 .env,内容如下:

export SWE_BENCH_BASE_URL="https://taotoken.net/api"
export ANTHROPIC_BASE_URL="https://taotoken.net/api"
export ANTHROPIC_AUTH_TOKEN="YOUR_API_KEY"
export ANTHROPIC_MODEL="o3-mini-2025-01-31"
export SWE_BENCH_MODEL="o3-mini-2025-01-31"

这里有一个容易搞混的地方:SWE_BENCH_BASE_URLANTHROPIC_BASE_URL 是两种不同后端的变量名。如果你的 harness 走的是 Anthropic 风格的 SDK,就只用 ANTHROPIC_* 那套;如果走的是 OpenAI 兼容接口,就得用 OPENAI_BASE_URL 那套。TaoToken 的网关同时兼容这两种协议,所以你可以按自己熟悉的配置来,但不要同时混着设,否则容易指向不同的鉴权路径。

我这次选择的是 Anthropic 协议那一套,因为 SWE-bench 的官方 harness 在解析 ANTHROPIC_BASE_URL 时会自动拼 /v1/messages 路径。TaoToken 的网关已经处理了路径兼容,所以不需要在 Base URL 后面手动加 /v1。如果你发现请求返回 404,很大概率是 Base URL 多写了路径,回退到 https://taotoken.net/api 就行。

还有一点,ANTHROPIC_AUTH_TOKEN 这个变量在 Anthropic 的规范里是直接作为 Bearer Token 传的。TaoToken 的网关也是这样解析,所以不需要额外加 Authorization: Bearer 前缀,更不要把 Key 写进 URL 参数。我在第一次配置时不小心把 Key 拼到了 Base URL 后面,结果日志里直接暴露了令牌,幸好只是一次本地实验。

3. 用同一把 Key 跑一次连通性验证,记录通过和失败的日志

配置好环境变量之后,我没有直接跑去跑整个 SWE-bench 验证集,而是先用自己的 Key 发一条最小请求,确认这一条链路是通的。这一步非常重要,因为 SWE-bench 的评估会跑几十个甚至上百个实例,如果鉴权就有问题,中途断掉比一开始就失败更浪费时间。

我先用命令行工具做了一个快速验证。如果你装了 npm 包,可以直接用下面这条命令跑一个最简单的问题:

taotoken cc -k YOUR_API_KEY -u https://taotoken.net/api -m o3-mini-2025-01-31

这个命令会起一个交互式的模型对话。我输入 Write a Python function to check if a string is palindrome,模型的回复是完整的代码块和解释,说明 Key 和 Base URL 都通了。然后我退出交互模式,回到 SWE-bench 的 harness 脚本,用下面的命令跑一个单实例测试:

python run.py --model o3-mini-2025-01-31 \
  --instances "${HOME}/swe-bench-experience/data/verified/0001.json" \
  --base-url "https://taotoken.net/api" \
  --api-key "YOUR_API_KEY" \
  --max-iterations 1

这次跑完,harness 日志里出现的 === MODEL RESPONSE === 段是正常的,模型给出了一个 diff。为了确认这个结果不是偶然,我又把同一个实例跑了一遍,第二次请求失败,报了一个 429。

失败的日志片段如下:

ERROR: root: Raw response: <Response 429>
ERROR: root: Rate limit exceeded for model o3-mini-2025-01-31

这里要说明一下:429 是我本地的 Key 在短时间内连续发请求触发了限流,并不是配置错误。TaoToken 控制台会显示当前 Key 的用量和速率,我打开看了一下,确认那一整天的调用额度已经用掉不少。后来我等了几十秒,重新跑同一个实例,通过了。

通过一次的日志更长,我截取关键部分:

INFO: root: Received completion from model, length 452 tokens
INFO: root: Applying patch to repository...
INFO: root: Patch applied successfully.

这次通过不代表模型真的修好了 issue,只是说协议层面、鉴权层面、补丁格式层面全部通了。SWE-bench 的完整评估还需要跑测试用例来验证补丁是否真的让仓库的测试从失败变通过,那是另一段工作。

4. 公榜快照与本地复现的边界,哪些数字可以对照

在写这篇复现记录之前,我查了一下 SWE-bench Verified 的公开榜单。查阅日期是 2025 年 9 月 14 日,数据来自 SWE-bench 官方页面(https://www.swebench.com/)。榜单上可以看到 o3-mini 这个模型出现在了编程能力榜单里,和当年首次亮相时一样,人们关注的是它在真实 issue 修复上的表现。

这里必须区分两种东西:公榜上的分数是模型官方跑出来的,我本地跑的这个实例只是连通性验证,不能当作复现分数。如果你真的想复现公榜上的数字,需要做三件事:第一,拿到和公榜一致的模型版本快照;第二,使用和公榜一致的采样参数,比如温度、top_p;第三,跑完整个验证集的所有实例,然后按 SWE-bench 的规则计算通过率。这三件事缺一不可,只跑一两个实例不能说明任何排名问题。

我用同一把 Key 做的事,是确认本地 harness 能以合法的 API 通道调用到这个模型,并且返回结果能被 harness 正常解析。如果你也想做同样的验证,不要盯着公榜百分比,而是先保证自己的调用链路稳定。跑分环境的差异通常会体现在 max-iterationstemperature 上面,这些参数在 SWE-bench 官方仓库里都有说明,最好先用默认值。

另外,有的读者会用 Hugging Face 上的开源模型来跑 SWE-bench,那是另一条路线。Hugging Face 的 likesdownloads 反映的是社区热度,不是评测能力。如果看到某个仓库下载量很高,只说明大家都在用,不能说它的模型一定在 SWE-bench 上更好。OpenRouter 上能看到不同模型的实际调用量,这反映的是市场选择,也不是跑分。所以你在写自己的复现报告时,公榜数字和本地测试记录最好分开列,不要混在一张表里。

5. 用同一把 Key 复现的对照表,以及这次的排障记录

为了让这篇复现记录更有参考价值,我把这次踩过的坑和对应解决办法整理成了一张表。这张表不是评测排行榜,只是本地一次运行的记录,时间是 2025 年 9 月 14 日,环境和上面描述的一致。

检查项目正确配置我遇到的错误结果
Base URLhttps://taotoken.net/api写成了 https://taotoken.net/api/v1404
API Key官网控制台创建的 Key把 Key 拼在了 URL 后面鉴权失败,日志暴露令牌
模型 ID以模型广场显示为准猜了一个旧版本号模型不存在
调用协议Anthropic 风格,只设 ANTHROPIC_* 或 OPENAI_* 之一两套变量都设置了请求路径冲突
限流处理等待后重试连续请求触发 429等待后通过

这张表最想传达的是:大部分配置问题不是 TaoToken 这边的问题,而是环境变量设重了或者路径写多了。我在确认 404 的时候,先去官网模型广场看了一眼当前模型的 ID 写法,再回到自己的配置文件里改。这个流程比到处问人要可靠得多。

如果你的 Key 创建之后第一次调用就报 401,先检查有没有把 Key 前后的空格复制进去。这是最常见的问题,这跟用什么网关没关系,换任何 API 供应商都一样。

另一个值得注意的细节是,SWE-bench 的 harness 在拼接请求时会自己加路径后缀。如果我把 Base URL 写成带 /api/messages 的完整地址,harness 还会再拼一层,结果就是双重路径。所以最保险的写法就是只写 https://taotoken.net/api,后面的事交给网关处理。我在排障时也确认了,TaoToken 的文档里给出的 Base URL 就是这个值。

最后说一下成本。跑 SWE-bench 的一两个实例不会消耗太多 token,但如果跑完整的验证集,token 消耗就会明显上升。TaoToken 控制台里有按 Key 维度的用量统计,你可以实时看到每次调用的 token 数和费用。第一次跑完对照表之后,我打开 模型对话 确认了一下,刚才那次成功的调用确实进了这条 Key 的记录里,模型 ID 也和我配置的一致。

如果你长期跑这种 benchmark,建议先看一下 Coding Plan 是不是更适合。不同的计划在速率限制上不一样,我这次遇到 429 就是因为开通的是按量计费的免费档,速率比较保守。换成 Coding Plan 之后,同样的并发请求没有再触发限流。你可以在 控制台 里创建新 Key,给 harness 单独分配一个,这样用量统计不会和其他开发任务混在一起。

整个复现过程的结论是:只要 Key 有效、Base URL 填对、模型 ID 照着模型广场抄,本地就能用同一把 Key 调通 o3-mini 的 SWE-bench harness。公榜分数是模型实力的体现,而 TaoToken 是让这些模型能稳定跑起来的接入层。如果你也打算跑完整的验证集,先把我上面那张表的每一项检查一遍,再启动你的 Docker 镜像。

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度

相关推荐

十堰市L1到L5五级街道街区分区数据集shp格式数据

本资源为十堰市L1到L5五级街道街区分区数据集SHP格式数据。数据涵盖十堰市全域范围,包含从省级到区级、街道级、社区级、网格级共五级行政区划边界矢量数据,数据精度高、边界清晰完整,包含完整的地名、行政区划代码、面积等属性字段。数据为标准Shapefile格式,可在ArcGIS、QGIS、SuperMap等GIS软件中直接打开编辑,适用于城市规划、人口统计、商业选址、物流配送、区域分析、GIS空间分析等多种应用场景,是城市数字化管理与空间分析的重要基础数据。

PS柜(SW2012)_机箱机柜.rar

PS柜(SW2012)_机箱机柜.rar

云南茶叶数据集10个字段57000条

云南茶叶数据集10个字段57000条 茶叶类型 产地 等级 产量_吨 销量_吨 价格_元_公斤 年份 采集月份 成交时间 成交途径

刀路转曲线精讲.prt_UG四五轴CNC编程练习图档.rar

刀路转曲线精讲.prt_UG四五轴CNC编程练习图档.rar

Iperf3安卓端二进制文件,APK文件,Windows端应用文件

Iperf3安卓端二进制文件,APK文件,Windows端应用文件

面板数据回归及案例-下载即用.zip

打开链接下载源码: https://pan.quark.cn/s/a4b39357ea24 一、课程信息 课程名:《Python统计与数据分析实战》 课程介绍 本课程结合Python进行统计与数据分析的原理讲解与实战,涵盖了绝大部分统计&数据分析模型,特别是当前比较主流的算法:参数估计、假设检验、线性回归、广义线性回归、非线性模型、Lasso、岭回归、广义可加模型、正交多项式模型、回归样条等;单因素和双因素方差分析;机器学习经常用到的主成分分析、因子分析、典型相关分析、聚类分析等;各种非参数统计模型,包括非参数统计推断、尺度推断、位置推断、列联表数据和属性数据分析、对数线性模型和分位回归模型、非参数核密度估计、非参数回归等。 全部模型和算法使用Python编程实现,实例驱动,聚焦实战,是成为高薪数据科学家和数据分析师的必备必学课程。 课程网址 全部课程视频在此处:B站网址 课程目录 第1章 数据描述性分析 第2章 参数估计 第3章 假设检验 第4章 回归分析 第5章 方差分析 第6章 判别分析与聚类分析 第7章 主成分分析、因子分析与典型相关分析 第8章 非参数统计 注:详细内容见文末的思维导图。 适用人群: (1)准备毕业后从事统计与数据分析行业的大学毕业生或准毕业生。 尤其是需要转向从事计算机编程、数据分析和机器学习方面工作的毕业生,或者需要提升技能以寻找高薪酬工作的准毕业生等。 (2)公司或企事业单位内部有数据分析和统计分析需求的从业人员。 (3)大学和科研院所的硕、博士研究生、青年教师等,特别是在管理学和人文社会科学等专业有量化研究需求的研究生和教师等 (4)需要转行从事数据分析方面工作,或有技能提升需求的初入职场者。 学习收获: (1)全程保姆式教学,学习路径合...

dbeaver-ce-26.2.1-windows-x86-64.zip

DBeaver CE Windows x86-64 版本是 DBeaver 社区版在 2024 年发布的稳定更新版本,专为运行 Microsoft Windows 操作系统的 64 位架构计算机编译构建。该软件包以 ZIP 格式封装,不包含安装程序,采用绿色免安装设计,解压后即可直接运行 dbeaver.exe 启动主程序。其核心定位是面向数据库开发人员、DBA、数据分析师及系统运维工程师提供一体化的数据库可视化操作环境。软件内置对超过八十种主流与小众数据库系统的原生支持,涵盖关系型数据库如 PostgreSQL、MySQL、MariaDB、Oracle Database、Microsoft SQL Server、IBM Db2、SQLite、HSQLDB、H2、Derby、Firebird、Informix、Teradata、Vertica、Greenplum、Exasol、ClickHouse、DuckDB、Apache Derby;也包括 NoSQL 类型中的 Cassandra、MongoDB(通过 JDBC 兼容驱动)、Redis(通过插件扩展);同时兼容各类云数据库服务

深度学习数据融合方法综述

代码下载链接: https://pan.quark.cn/s/a4b39357ea24 在深入分析基于深度学习的数据融合方法研究综述之前,有必要先掌握数据融合的基础定义。数据融合是指将多个信息源的数据进行整合的过程,通过分析、处理和综合这些数据,可以生成更为精确、可靠和有用的决策支持信息。这种技术在众多领域得到了广泛应用,包括军事指挥控制、医疗诊断、智能交通系统和企业资源规划等。在大数据时代背景下,数据融合技术显得尤为关键,因为它能够帮助人们从庞大的数据中筛选出有价值的信息,进而提升决策的质量。深度学习是一种基于深度神经网络的学习技术,它通过多层神经元实现非线性映射和特征抽象,能够高效地从数据中识别出复杂的模式和结构。在数据融合领域,深度学习有助于探索数据的深层特征信息,从而提升数据融合的深度和品质。基于深度学习的数据融合方法可以借助深度网络进行特征提取和表征学习,使得数据融合在处理复杂的数据集时更具优势。 从文献回顾的角度来看,近年来已经出现了多种基于深度学习的数据融合方法。例如,采用深度学习进行特征提取的数据融合方法能够有效地识别出数据的关键特征,通过这种方式可以滤除噪声和冗余信息,保留有用信息,从而为后续的数据处理提供更加准确的输入。而基于深度学习进行融合的数据融合方法则侧重于利用深度学习模型来整合不同来源的数据,在这一过程中,深度神经网络可以作为融合层,对多源数据进行有效的整合和优化。基于深度学习全程参与的数据融合方法指的是深度学习模型不仅用于特征提取和数据整合,还参与到数据融合的每一个环节,从数据预处理到最终决策支持的各个步骤。 文章中提到的网络首发流程对于学术论文的出版具有特殊的意义。论文在经过同行评议和主编最终审查后成为正式录用稿件,此时内容已经确...

操作系统-实践工单-03-模块三-用户组管理与文件权限实操.docx

操作系统-实践工单-03-模块三-用户组管理与文件权限实操.docx

扁平零件.prt_UG四五轴CNC编程练习图档.rar

扁平零件.prt_UG四五轴CNC编程练习图档.rar

371.zip

当 CAD 缺失对应字体时,图纸文字会显示异常,出现乱码、问号。将下载好的字体文件复制到 AutoCAD 的 Fonts 文件夹中,即可恢复正常显示。

Mysql生成10000条随机数据(存储过程)

源码直接下载地址: https://pan.quark.cn/s/170fa1cec653 借助存储过程能够迅速构建实验所需的随机数据集,此过程涵盖创建数据库表格、设计存储过程以及执行存储过程等步骤

单罐机箱标准_机箱机柜.rar

单罐机箱标准_机箱机柜.rar

电脑机箱_机箱机柜.rar

电脑机箱_机箱机柜.rar

AHC-3物料架(opl-ST080新增物料托板)_工具柜文件柜.rar

AHC-3物料架(opl-ST080新增物料托板)_工具柜文件柜.rar

上一篇: DeepSeek-V3 上了 Artificial Analysis 智能指数榜:TaoToken 端点复现延迟
下一篇: 10 分钟用 TaoToken 跑通 Cline 的 GitHub MCP 工作流
ceshi01
博客等级 码龄18年 1粉丝 4603原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值