架构一行没改,修 Bug 从 2% 涨到 47%:JetBrains 开源 Mellum 2.1,让它给 Agent 当小工

架构一行没改,修 Bug 从 2% 涨到 47%:JetBrains 开源 Mellum 2.1,让它给 Agent 当小工

架构一行没改,修 Bug 从 2% 涨到 47%:JetBrains 开源 Mellum 2.1,让它给 Agent 当小工 封面

实话实说,它不是来超越谁的

这大半年的 AI 标题我快看吐了。开源小模型吊打闭源大模型,某个 8B 干翻某某旗舰。点进去大概率是一张精心挑过的榜单截图,看完还是不知道自己明天该用哪个。

结果呢。JetBrains 在 2026 年 10 月 8 日开源的 Mellum2.1,走的是完全相反的路线:它在一半的榜单上输了。

真正让人坐直的是另一件事。同一个 12B 架构,同样的 2.5B 激活参数,SWE-bench Verified 从 Mellum2 的 2.0 涨到 Mellum2.1 的 47.0。模型没变大,架构一行没改。

变的只有训练方式。强化学习从收尾的小环节,变成了主菜。

如果你指望它把某个旗舰模型挤下桌,这篇看到这里就可以关了。它本来也不是来抢那个位子的,它是给 Agent 干杂活的那双手。

先搞清楚:2% 到 47%,中间到底改了什么

官方博客的说法很直白。Mellum2.1 是 6 月开源的那个 12B MoE 模型的下一代版本,架构从 v2 起就没动过,依然保持紧凑快速、2.5B 激活参数、Apache 2.0。这一版几乎把全部工作量砸在预训练之后的东西上,主要是强化学习。

RL 从以前那个短暂的收尾阶段,变成了训练的主要部分。

新增的 RL 任务覆盖五个方向:数学、竞赛编程、科学、工具调用、软件工程。公开 RL 数据集和自己构造的任务混着用。JetBrains 这条产品线,从 IDE 里的补全到自家编码智能体 Junie,要的都是能在真实代码里动手的那种能力。

这里有个容易被跳过的细节。公开数据集里常年混着坏掉的测试、没法验证的答案,以及要么过于简单、要么根本做不出来的题。每个来源进训练前都得过滤一遍。

配套的是自建基础设施:并行跑数千个 RL 环境,整个训练期间累计开了数百万个沙箱。

说白了,这一版不是在造一个更聪明的脑子,而是用几百万次真跑一遍的反馈,把一双笨手练出肌肉记忆。

数百万个沙箱跑出来的 agentic 能力:测试通过才给奖励
数百万个沙箱跑出来的 agentic 能力:测试通过才给奖励

它不抢主模型的位子:一张表看懂谁赢谁输

先说清楚来源。下面这组分数是 JetBrains 用自家同一套 pipeline、在 thinking 模式下跑出来的,对比对象为 Mellum2、Qwen3.5-9B、Gemma 4 E4B。模型卡自己标了 unverified。

榜单Mellum2.1Mellum2 ThinkingQwen3.5-9BGemma 4 E4B
LiveCodeBench v682.069.475.469.4
SWE-bench Verified47.02.050.023.0
SWE-bench Pro28.0未列出38.0未列出
Terminal-Bench 2.117.40.621.73.4
BFCL v4(工具调用)62.349.658.552.5
GPQA Diamond64.651.077.853.1
AIME 25/2683.360.186.745.0
HumanEval+91.5未列出未列出未列出

赢的地方很集中。LiveCodeBench v6 拿到 82.0,压住 Qwen3.5-9B 的 75.4;BFCL v4 工具调用 62.3,是这组里最高的一个。这两项说的都是同一件事:单道竞赛题、单次工具调用,它很稳。

输的地方同样集中。SWE-bench Verified 47.0 对 50.0,SWE-bench Pro 28.0 对 38.0,Terminal-Bench 2.1 17.4 对 21.7。凡是要在真实仓库里连续干活的项目,Qwen3.5-9B 全部领先。

再把 GPQA Diamond 的 64.6 对 77.8、AIME 25/26 的 83.3 对 86.7 放进来,通用推理这块它也不是对手。

一句话总结:题它做得漂亮,进仓库干活还是 Qwen3.5-9B 更狠。

高负载下的吞吐差距,比榜单名次更值钱
高负载下的吞吐差距,比榜单名次更值钱

真正值钱的是吞吐,不是排名

官方给了两个速度口径,都值得记下来。

第一,后训练没动架构,所以 Mellum2.1 和 Mellum2 一样快。多 token 预测(MTP)让单次请求快约 1.6 倍。

第二,在高负载场景下它是这组里最快的那个,输出 token 接近 Qwen3.5-9B 的两倍。

这笔账怎么算?

Agent 系统里绝大部分调用没什么技术含量。定位失败测试的根源,起草一处修改,回头检查刚才那处改动有没有伤到别的地方。量大,琐碎,单次错了也不致命。

把它的账摆一遍:某个子任务 Qwen3.5-9B 单次的水平是 50 分,Mellum2.1 是 47 分,命中率差 3 个点。但同一张卡、同一段时间里,Mellum2.1 吐出的量接近两倍。命中率略低、量大一倍,最后交付的数量还是占优。

再补一层保险。这类调用后面通常跟着编译器、测试套件或者 lint,错了能被测出来,测出来就重跑一遍,成本可控。

这个结论也有边界。命中率差得太远就不划算了,比如要在终端里连跑十几步的任务,每一步的失误都会往下放大,这时候速度救不了你。

顺带说说上下文开销。Agent 每轮都要把工具返回和中间结果重新塞回上下文,token 是被吃掉的大头。想在这一笔上省钱,可以看看 Pi 1.0 的 Codemode 那条路子。

两条命令把它跑起来

以下内容以官方模型卡为准,仓库名是 JetBrains/Mellum2.1-12B-A2.5B-Thinking。

vllm serve JetBrains/Mellum2.1-12B-A2.5B-Thinking \
  --max-model-len 131072 \
  --reasoning-parser qwen3

三个部分各管一件事:

  • JetBrains/Mellum2.1-12B-A2.5B-Thinking 是 HF 仓库名,拉的就是那个 MoE checkpoint,12B 总参数配 2.5B 激活、64 个专家选 8 个、28 层、bfloat16、上下文 131072。
  • –max-model-len 131072 是把上下文拉到模型支持的上限,规格标的 131,072 token。
  • –reasoning-parser qwen3 把思维链从最终回答里剥出来。不带这个参数,推理过程和答案会混在一起。

要开工具调用,再挂两个参数:

vllm serve JetBrains/Mellum2.1-12B-A2.5B-Thinking \
  --max-model-len 131072 \
  --reasoning-parser qwen3 \
  --enable-auto-tool-choice \
  --tool-call-parser hermes

–enable-auto-tool-choice 让模型自己决定要不要调工具,–tool-call-parser hermes 负责把输出解析成标准的工具调用结构。少了这两个,上层 Agent 框架收不到能用的调用请求。

采样参数推荐 temperature 0.6、top_p 0.95、top_k 20。

显存只能给量级参考。12B 的 bf16 权重大约在 24 GB 这个量级(第三方估算),再叠加 128K 上下文的 KV cache,单张 H200 比较稳妥。具体还是自己压一遍。

想走 Ollama 那条轻量路子的先别急,下面第三个坑说的就是这件事。

什么时候该换它,什么时候别换

场景一:真实仓库的长任务,先别换

SWE-bench Pro 是 28.0 对 38.0,Terminal-Bench 2.1 是 17.4 对 21.7。需要连续十几步、每步都在改真文件的场景,Qwen3.5-9B 更靠谱。这个差距不算小,速度补不回来。

场景二:短平快的子任务,可以换

定位失败点、起草修改、检查 diff、批量补测试用例,这类单步或两三步收尾的活。单次请求快约 1.6 倍,高负载下输出 token 接近两倍,命中率只差几个点。这笔账前面算过了。

场景三:代码不能出内网,值得重点考虑

Apache 2.0 许可,权重在 HF 上可取,整套可以自托管。同尺寸里能自己部署、又同时带 thinking 和工具调用的选项本来就不多。

五个坑,官方博客里都不写

坑1:放到错的地方会失望

现象:兴冲冲换上去跑真实仓库任务,体感还不如原来那个。→ 根因:它压根不是冲这个练的,SWE-bench Pro 28.0 对 38.0,Terminal-Bench 2.1 17.4 对 21.7。→ 解法:把它压到子任务上,主干留给更强的模型。

坑2:thinking 会吃掉你的 token

现象:一个看着很简单的问题,延迟和显存都比预期高一截。→ 根因:thinking 模型先写推理过程再给答案,输出 token 变长;而 131,072 是支持的上限,不是默认给你分配好的,配不上去是浪费,配上去 KV cache 又吃显存。→ 解法:显存按 128K 上下文的量算,留足余量,别拿 8K 的估算去套。

坑3:GGUF 那一档还没到

现象:想用 Ollama 或 LM Studio 一键拉起来,找不到官方文件。→ 根因:面向 llama.cpp、Ollama、LM Studio 的 GGUF 版本,以及给 vLLM 投机解码用的 MTP head,官方博客写的是 “coming soon”。→ 解法:短期先用上面那条 vLLM 命令。社区已经出现量化版本,体积口径在 7 到 13 GB 区间(第三方整理),具体以官方为准。

坑4:分数没有第三方复现

现象:自己跑一遍,数字和模型卡对不上。→ 根因:全部分数是 JetBrains 自家同一 pipeline 跑出来的,模型卡标了 unverified,没有第三方复现。→ 解法:换一套 harness 数字就会漂,这张表当排序参考,别当绝对值。

坑5:长上下文不是它的强项

现象:整仓塞进上下文的任务,它开始丢东西。→ 根因:原生 131,072 token,对上 Qwen3.5-9B 原生 262,144(最高 1,010,000)。→ 解法:大仓库任务继续用长上下文那个,或者先做检索把上下文压下来再喂。

写在最后

回到开头那件事。这大半年的开源模型新闻,大部分在回答一个问题:谁更强。Mellum2.1 回答的是另一个问题:谁更划算。

架构一行没改,光靠把 RL 从收尾变成主菜,就把同一副身板练成了另一种东西。这件事本身比那张榜单有意思。

它不需要赢,它只要足够便宜、足够快、足够听话。

今天就能做的一件事:找一个你允许它出错的环节,比如每天跑几十次的那套 CI,先把其中一步的子任务换上去,用速度换排查时间。

关注圈圈,持续带你玩转 AI 工具。

© 版权声明
THE END
喜欢就支持一下吧
点赞104 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容