![]()
新智元报道
![]()
训练一个能干活的模型,最贵的不是显卡,是训练题。
尤其是到了编码和智能体这一档,光有题目和答案根本不够用:还要给它准备一套跑得起来的环境,一份判得了对错的测试,还要防着模型翻旧提交抄答案。
难度也不能瞎给。
太简单,模型闭着眼做完,什么也没学到;太难,一道都不会,攒不下正确的经验,等于白烧一轮算力。
这些全凑齐了,还得凑够量。
过去这活一直是人在干。慢、贵不说,主要是供不上:你刚整理完一批,模型转头就做完了。
那让模型自己给自己出题呢?
真有人这么干了。
今年8月,Ornith一口气放出397B MoE、35B MoE和9B Dense三档权重。
![]()
训练流程里多了一个前所未有的环节:模型自己生成训练任务,自己搭解题脚手架,自己跑解题轨迹,三段一起丢进强化学习。
出题这件事,AI从人手里接过去了。
数字立刻给出了回报。
Terminal-Bench 2.1上,两个月前的1.0是77.5,这次的397B跑到86.1。两个月,涨了8.6个百分点。
同一张表里,Ornith给出的Claude Opus 4.8成绩是85.0。
一个能随便下载的MIT权重,在这张表上排到了闭源旗舰前面。
1.0学怎么解
1.5学练什么
今年6月的Ornith-1.0,已经干过一件挺激进的事:把agent脚手架,也就是AI解题时用的工作台,变成了可学习的对象。
通常的做法是,人类工程师给某一类任务设计好一套脚手架:工具怎么给、任务怎么拆、出错怎么重试,全写死,然后让模型在这个固定框架里反复刷。
1.0把这套框架拆了,交给模型自己搭。
每个强化学习步骤分两段:先根据任务和上一轮用过的脚手架,改出一版新的;再在这版脚手架上跑解题轨迹。奖励从轨迹回传,两段都拿得到。
![]()
Ornith-1.0的两段式自我提升框架。先改脚手架,再跑解题轨迹,奖励回传两段。
模型学会了搭工作台。但活儿还是人派的:题目从哪来,1.0没碰。
1.5把这一环也接了过去。
给定一个代码库,一段关于任务类型的高层说明,再加上模型自己过去的解题记录,系统先生成一批新题,专挑比它已经做出来的更难一档的,戳自己的能力缺口。
题定下来,模型再为这道题生成或改进专属脚手架:指令、工具、拆解策略、编排逻辑。
最后在任务和脚手架的双重条件下,跑出解题轨迹。
奖励从轨迹反向传回全部三段,一起用GRPO优化。
关键在于出卷这一半也要打分。题出得不好,出题的那一半照样扣分。
出题、搭台、解题,在这一刻闭环了。
策略越强,出的题越难越有信息量;脚手架进化,越能把模型的本事榨出来;轨迹质量上去,又反过来喂出更狠的学习信号。
过去两年,开放模型追赶闭源旗舰基本就两条路,堆参数,抄配方。
两条都是照着别人的卷子抄答案。Ornith不想抄了。它要的是AI自己出卷。
自己出的题
怎么保证不是废题
听上去很美,但很快就能想到破绽:模型要是给自己出送分题呢?
奖励往哪儿高,模型就往哪儿漂。一个只会出「1+1等于几」的出题人,能把分数刷爆,训练信号却一点都没有。
Ornith的办法是把任务奖励拆成三个信号:有效性、前沿难度、新颖性,三者相乘。
相乘是关键。任何一项接近零,整道题的奖励归零。想拿分,三项必须同时成立。
![]()
有效性管的是这道题成不成立:
脚手架跑不跑得起来,高置信度的正确解能不能通过,明显错误的解会不会被判失败,判分逻辑跟任务描述对不对得上。
团队干脆把它当硬门槛,不合格直接判零,专拦那些看着很难、其实根本判不出对错的废题。
前沿难度,是整套设计里一个亮点。
系统对每道题采样若干条轨迹,算出经验成功率,越接近0.2这个目标值,奖励越高。
也就是说,一道好题,模型十次里应该做成两次。
做成八次,说明它已经会了,没有训练价值;一次都做不成,连一条能学的成功轨迹都攒不出来,强化学习同样空转。
卷子必须踩在模型刚好差一口气的位置上。
更妙的是,这个靶子会随着模型能力动:某类题做熟了,成功率上去,奖励自动往下掉,出题端只能继续加码。整条难度曲线自动爬升,不用人再去调。
新颖性排第三,权重也最低,只负责一件事:别老出同一道题的变体。
官方特意注明它的优先级低于前两项,职责是去冗余,并非奖励怪题。
所以这套「自我提升」,真正提升的是课程的自动演进。
整套流程发生在训练阶段。
你从Hugging Face下下来的那份权重是死的,它不会在你的笔记本或者手机上一边干活一边改自己。
两把不同的尺子
先说清86.1是怎么来的。
这个Terminal-Bench 2.1成绩,是Ornith团队在自己的环境里、用自己的配置跑出来的,官网写明取五次独立运行的平均值。
而Terminal-Bench 2.1自己有一张官方验证榜单,每一条结果都由榜单团队成员亲自复跑、核验之后才挂上去。
截至2026年8月19日,那张榜单一共17项,里面没有Ornith-1.5。
![]()
Terminal-Bench 2.1官方榜单前八。Opus 4.8以78.9%排第5,17项里没有Ornith-1.5。
更要紧的是对比对象。
Ornith表里的Opus 4.8成绩85.0,是他们自己用Terminus-2框架给Opus 4.8跑出来的数。而官方榜单上,Anthropic提交的Claude Code加Opus 4.8,经核验是78.9%,排第5;榜首是Claude Code加Fable 5的83.8%。
同一个Opus 4.8,两张表相差6.1分。
区别是谁在测、用什么测。
Terminal-Bench这类智能体基准,测的是模型、脚手架、超时、上下文和资源配置的组合成绩。
换一套配置,分数就换一层含义。
所以,榜单页面上挂着一条提交规则:不得修改超时或资源配置。就是为了不让参赛方靠调配置把分数刷上去。
Ornith博客披露的自测配置是4小时超时、32核CPU、48GB内存。
另外还动了配置,包括官方点名锁死的超时和资源。
这些改动未必是冲着刷分去的,但可比的前提已经没了:项目自测和官方验证榜,不能放进同一个排名里读。
许可证这一层同样要说清楚。
MIT标的是权重。公开的GitHub仓库目前主要是README、LICENSE和展示素材,没看到1.5完整的训练实现、训练任务集,也没有可复现的评测脚本。
开放权重,不等于全套开源。
最有意思的其实是35B和9B
旗舰负责上热搜,中小尺寸才决定有多少人真的用得上。
这次发布里,最容易被忽略的,是中间那两档。
35B-A3B是个MoE,每个token只激活约3B参数。
就这个激活量,Terminal-Bench 2.1跑到67.8,对比Gemma 4-31B的42.1和Muse Glimmer-30B的51.7高出一个身位。SWE-bench Verified上79.0对52.0。
3B激活打赢31B稠密模型,是这次发布里最划算的一款。
比它更小的那一档,9B Dense则是摆明了要冲端侧的那一档。
自测Terminal-Bench 46.2,SWE-bench Verified 70.6,GPQA Diamond 86.4。
Hugging Face上,5.63GB的压缩版已经放出来了,苹果电脑用的MLX格式也有。
但9B也不是全面压过Gemma 4-31B。
编码和推理项上它确实领先,MCP-Atlas却是54.2对55.0,Toolathlon-Verified是41.2对52.8。
这两项考的是多轮调工具、接住返回结果、按状态改计划,链条一长,9B的容量就撑不住了。
编码和推理能靠训练方法把体量差补回来,工具调用补不回来。
下一场竞赛
可能在题库
6月的1.0,Terminal-Bench自测77.5。8月的1.5,86.1。
两个月,提升了约11.1%。
比这个数字更重要的,是它背后的能力是怎么长出来的。
1.0学的是「怎么解」,1.5开始学「该练什么」。数据生产这道工序,被整个搬进了强化学习的闭环。
高质量的智能体训练任务,一直是稀缺品。
人工整理的速度,早就跟不上模型吃题的速度。这套机制冲着解决的,刚好是这个很具体的工程问题。
开放模型追赶闭源旗舰的方式正在切换。
堆参数和抄配方之外,多了一条路:自己造题。谁能持续造出好题,谁就握着持续变强的燃料。
![]()
Ornith-1.5的三段闭环。生成任务、生成脚手架、跑出轨迹,奖励回传三段,统一用GRPO更新。
模型的上限,除了拼算力,还要拼题库。
只是当出题、搭台、解题都交给模型,人类留在这个闭环里的位置是什么?
参考资料:
https://ornith.ai/ornith_1_5.html
https://ornith.ai/ornith_1_0.html
https://www.tbench.ai/leaderboard/terminal-bench/2.1
编辑:元宇
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.