Skip to content

基准测试 ​

Noeta 是运行时,所以我们评测的是基于它搭的 agent:noeta-agent 的 main 预设,只用公开 SDK 组装。跑的是业界公开基准,用同一套 harness、同一批判分脚本。

结果 ​

基准范围测于结果业界水平(公开排行榜,全集)
Terminal-Bench 2.140 题分层抽样noeta-sdk 0.6.28,2026-09-19,跑一次首轮 24/40(9 次试跑碰上基础设施错误);每题最多试三次取最好 33/4058.7%–83.8%
SWE-bench Verified15 实例子集noeta-sdk 0.6.10,2026-08-09,跑一次,之后没再测重跑 4 个环境准备超时后 13/15;首轮 9/1515 个实例的子集没法和全集比

两项都通过网关用 Claude Opus 4.8(model_hub/es1_orange_o48),Terminal-Bench 用 effort xhigh,SWE-bench 用 high。

抽样,而且只跑了一次

每个数字都是在抽样上跑一次的结果,没有置信区间。每行里较高的那个数算上了首轮没解出来的题的重跑,重跑细节写在方法里。这些数只能大致说明 agent 落在业界哪个区间,不是排行榜名次。见本页不代表什么。

方法 ​

通过 harbor 运行,这是 Terminal-Bench 官方 harness,公开排行榜用的也是它。agent 以 harbor BaseInstalledAgent 的形式接入(和 harbor 自带的 pi、codex、claude-code、terminus 同一个基类),装进每道题的容器,由 noeta-agent 的 noeta run CLI 无人值守地跑,最后由每道题自己的判分脚本打分,agent 不给自己打分。数据集用官方注册表里的版本,按摘要固定。适配代码、环境配置和命令都在 bench/。

Terminal-Bench 2.1(40 题分层抽样) ​

项目取值
Harnessharbor 0.20.0,terminal-bench/terminal-bench-2-1 @ sha256:7d7bdc1cbedad549fc1140404bd4dc45e5fd0ea7c4186773687d177ad3a0699a
Agentnoeta-agent(main 预设),noeta-sdk 0.6.28
模型model_hub/es1_orange_o48(经网关的 Claude Opus 4.8),reasoning effort xhigh
命令bench/run_benchmark.sh tb21-sample40(题号固定在 TB_SAMPLE40)
日期2026-09-19
首轮24/40;9 次试跑以基础设施错误结束(其中 2 次仍然通过了判分)
第二轮16 道没解出来的题全部重跑:又过了 7 道
第三轮重跑 2 道:都过了
每题最多三次取最好33/40

首轮的 9 个基础设施错误:

  • 3 次 llm_error 退出,都出在要给模型看图片的题上。模型服务返回 400,但当时没记下错误正文,所以从这次运行里看不出原因;SDK 现在会把正文写进失败详情。其中两道重跑时还是一样的失败。
  • 6 次 harness 超时,卡在 900 秒的 agent 时限。其中一次在被 harness 杀掉前已经输出了完整答案。

重跑并不只针对出错的题:重试救回来的 9 道里,3 道首轮是出错,6 道首轮是正常跑完但没过判分。如果只重跑出错的题,结果是 27/40。所以 24/40 是一次过的成绩,33/40 是三次取最好,不是一次干净的运行。

同一天用豆包(effort xhigh)跑同一份抽样,首轮 29/40,有 9 次 harness 超时。

判定通过看的是 harbor 判分脚本输出 X passed, 0 failed,不是 agent 进程是否正常退出。

更早的一次(2026-08-10,noeta-sdk 0.6.10)。 本页更新前引用的数字——33/40,easy 4/4、medium 20/24、hard 9/12——来自同一份抽样和同一个模型。它的任务记录里同样有对没解出来的题的重跑,当时页面没有写明;33 道里首轮和重跑各占多少,这里不再还原。它的 7 道没过的题都有真实的 N failed:build-cython-ext、chess-best-move、count-dataset-tokens、dna-assembly、protein-assembly、raman-fitting、video-processing。

覆盖范围。 89 道题里有 11 道因为环境原因没纳入,和能力无关:

  • 7 道的基础镜像 Python 低于 3.12(五个 python:3.10 / 3.11,两个 qemu-* 用 debian:bullseye,即 3.9),低于 noeta-agent 要求的 3.12。适配器可以用 uv 装一个 3.12(SWE-bench 就是这么跑的),不纳入只是为了让这份抽样保持固定。
  • 4 道在限定时间内没法打分:make-mips-interpreter、make-doom-for-mips、install-windows-3-11(动辄超时几个小时),以及 polyglot-rust-c(标记为 no-verified-solution,连参考答案都过不了自己的判分)。

40 题从剩下的 78 道里按难度分层抽取(4 easy / 24 medium / 12 hard)。

SWE-bench Verified(15 实例子集) ​

项目取值
Harnessharbor,swe-bench/swe-bench-verified(每个实例是一个 harbor 任务 swe-bench/<instance_id>)
Agentnoeta-agent 0.6.0(main 预设),noeta-sdk 0.6.10
模型opus4.8(model_hub/es1_orange_o48),reasoning effort high
子集固定 15 个实例,覆盖 Verified 全部 12 个仓库、每个一到两个(避免偏向 django 的 231 条);固定在 SWE_SUBSET15
命令bench/run_benchmark.sh swe-15
日期2026-08-09
结果13/15;没过的是 django-11820、requests-1724

首轮解出 9/15;另外 4 个实例在 agent 开跑前就卡在 harness 的环境准备超时,重跑后 4 个全过。0.6.10 之后没有再测。15 个实例太少,没法和全集成绩比,所以上面的结果表不把它放进排行榜区间。

Verified 的镜像自带 Python 3.9–3.11,所以适配器会用 uv 单独装一个 3.12。

django__django-10097   django__django-11820   django__django-13195
sympy__sympy-11618     sympy__sympy-13877     sphinx-doc__sphinx-10323
matplotlib__matplotlib-13989   scikit-learn__scikit-learn-10297
pydata__xarray-3095    astropy__astropy-12907   pytest-dev__pytest-10051
pylint-dev__pylint-4551   psf__requests-1724   pallets__flask-5014
mwaskom__seaborn-3069

业界成绩 ​

全集成绩取自 Terminal-Bench 2.1 官方排行榜(共 17 条,这里只列正式发布的 CLI 和参考 agent);SWE-bench Verified 的全集成绩见 swebench.com。仅作参照,不能和抽样成绩直接比。

排名Agent模型EffortTerminal-Bench 2.1
1Claude CodeFable 5xhigh83.8% ± 1.2%
2CodexGPT-5.5xhigh83.1% ± 1.1%
3Terminus 2Fable 5high80.4% ± 1.2%
5Claude CodeOpus 4.8high78.9% ± 1.3%
7Terminus 2GPT-5.5xhigh78.0% ± 1.2%
10Claude CodeSonnet 5high74.6% ± 1.6%
12Claude CodeOpus 4.7max68.9% ± 1.4%
13Terminus 2Opus 4.7max66.1% ± 1.4%
14Gemini CLIGemini 3 Prohigh65.8% ± 1.4%
17Claude CodeGLM-5.1max58.7% ± 1.2%

复现 ​

每个数字都带有模型 id、固定的数据集版本、可以直接复制的命令,SWE-bench 还给了完整实例列表。Docker、代理、wheel 和模型目录的准备步骤见 bench/README.md。没有报美元成本:网关的模型 id 不在 SDK 的价格目录里,只有 token 数。基准测试不在 make check 里,因为它需要 Docker、harbor CLI、真实凭据,还要真花 token。

本页不代表什么 ​

  • 不是 Terminal-Bench 2.1 全集(89 题)成绩:每一行都是 40 题分层抽样,已如实标注。
  • 不是 SWE-bench Verified 全集(500 题)成绩:是固定的 15 实例子集。
  • 不是统计结论:每个结果只跑了一次,没有置信区间,同一份抽样重跑一遍可能差出好几道题。
  • 除非写明「首轮」,否则不是一次过的成绩:较高的那个数算上了首轮没解出来的题的重跑。
  • 不是排行榜名次:抽样结果放进业界区间只作参照,不是在同一批题上的正面比较。
  • 不代表你的 agent 能拿到同样分数。这个成绩属于一个预设加一个模型;运行时贡献的是底层机制,不是提示词。

下一步 ​

基于 Apache License 2.0 发布。