架构一行没改,修 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 环境,整个训练期间累计开了数百万个沙箱。
说白了,这一版不是在造一个更聪明的脑子,而是用几百万次真跑一遍的反馈,把一双笨手练出肌肉记忆。

它不抢主模型的位子:一张表看懂谁赢谁输
先说清楚来源。下面这组分数是 JetBrains 用自家同一套 pipeline、在 thinking 模式下跑出来的,对比对象为 Mellum2、Qwen3.5-9B、Gemma 4 E4B。模型卡自己标了 unverified。
| 榜单 | Mellum2.1 | Mellum2 Thinking | Qwen3.5-9B | Gemma 4 E4B |
|---|---|---|---|---|
| LiveCodeBench v6 | 82.0 | 69.4 | 75.4 | 69.4 |
| SWE-bench Verified | 47.0 | 2.0 | 50.0 | 23.0 |
| SWE-bench Pro | 28.0 | 未列出 | 38.0 | 未列出 |
| Terminal-Bench 2.1 | 17.4 | 0.6 | 21.7 | 3.4 |
| BFCL v4(工具调用) | 62.3 | 49.6 | 58.5 | 52.5 |
| GPQA Diamond | 64.6 | 51.0 | 77.8 | 53.1 |
| AIME 25/26 | 83.3 | 60.1 | 86.7 | 45.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 工具。
暂无评论内容