ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Kimi K3.1 Pro 拆解:Agent RL 卡在哪

Kimi K3.1 Pro 拆解:Agent RL 卡在哪

K3.1 Pro 的发布稿只有一句话讲技术:K3 基座不动,后训练算力大幅加码,RL 框架、长上下文推理、沙箱、rollout 调度整条链路重做。

细节在 K3 技术报告里(arXiv 2607.24653)。这篇把它拆开讲,看 Agent RL 到底卡在哪。

先说结论
长程 Agent RL 的吞吐,不取决于推理 kernel 多快,取决于三件事:长尾轨迹怎么处理、1M 上下文的状态放哪、沙箱能不能暂停。

01 路线:基座不动,只加后训练

基座(K3)

  • 2.8T 总参数,104B 激活
  • 每个 token 从 896 个专家里选 16 个
  • ​每个 block 是 3 层 KDA + 1 层 Gated MLA

  • 1M 上下文,原生多模态

后训练(K3 报告)

不是训一个通才。3 个领域 × 3 档推理强度,共 9 个专家,再用多教师 on-policy 蒸馏合并。

  • 通用任务:推理、视觉、搜索、知识工作
  • 通用 Agent:长程助理、深度研究
  • 编码 Agent:SWE、kernel、Web 开发

推理强度怎么控:给每道题定一个 token 预算 b0(用冷启动模型估),轨迹超过 τ·b0 就把奖励直接改成-1。先用大 τ 训出 max 档,再把 τ 逐步调小,得到 high 和 low。Agent 任务里,计入预算的是累计输出,包括推理和工具调用参数。

K3.1 在此之上把 RL 铺到数百个领域。混合策略和算法改动,博客没有公布。

02 等最慢的那条轨迹

写代码的 Agent,一个任务能跑几小时,多数几分钟就完。同步 RL 要等所有轨迹结束才更新,GPU 都在陪最慢的几条。

K3 用的是partial rollout:

每轮: 采 N 个 prompt 每个 K 条轨迹 活跃 N×K 条 完成 λ 比例 → 暂停生成 整组跑完的 → 去优化 没跑完的 → 挂起 下一轮开头优先恢复

代价是数据陈旧:一条长轨迹横跨好几轮,前半段是旧策略生成的。报告靠策略优化里的逐 token 正则,把更新限制在局部邻域,硬吃这种 off-policy。

算一笔账(我举的例子)

  • 1024 条轨迹,90% 二十分钟跑完
  • 剩下 10% 要三小时
  • 同步:每轮 3 小时
  • λ=0.9:每轮约 20 分钟

另一个常见误判:推理提速不等于训练提速。假设 rollout 里推理只占 40%,其余是跑工具和验证,推理快 2 倍,总耗时只少20%。

03 1M 上下文,状态放哪

K3 的 RL 用 co-located 部署,一个 1M 上下文实验控制在几百张 GPU。卡省了,代价是 rollout 要留 KV,和训练状态抢 CPU 内存;前缀一旦 miss,重算 1M 的代价极高。

难点一:两种缓存混着用

MLA 的 KV 随长度增长,按 token 分页。KDA 的循环状态大小固定,每个请求只有一份。K3 把两者放进同一个分页池,页大小统一,一套分配、引用计数和驱逐逻辑。

代价在 prefix cache:KDA 状态只能在稀疏的边界存快照,所以共享块大小被迫是1024–6144 token,命中粒度也跟着变粗。

难点二:RL 里的内存调度

  • write-back 外部 KV 池:活跃块留 GPU,闲置前缀被驱逐时才写到 CPU DRAM,复用前预取。KDA 状态和对应 MLA 块一起搬。比 write-through 少很多无谓拷贝。
  • 训练状态让位:一轮训练结束,权重和优化器状态卸到 NVMe;rollout 结束后释放 KV 池。
  • 自动节流:上下文越跑越长,按平均长度定死并发,早期太保守,后期爆 KV 被抢占。改成看活跃数、排队数、KV 利用率动态放请求。
  • reference 模型借梯度缓冲:权重放 CPU,用时搬进
    策略模型的 FP32 梯度缓冲区,配合 ZeRO-2 双缓冲预取,一块算、一块取下一个 chunk,显存零增加。

K3.1 说优化了长上下文推理和训练效率,多半是继续压命中率、抢占和拷贝开销,具体没有公布。

04 沙箱:要能暂停

K3 的沙箱 AgentENV 用 Firecracker 微虚机。起因:早期用容器,模型乱操作引发过内核 panic 和死锁。而模型要能挂磁盘、跑容器、起虚机,必须接近真机。

指标数值
checkpoint133 ms
resume49 ms
等推理占沙箱寿命最高 98%
内存超卖比最高 6.5×
累计沙箱5122 万个

四个能力

  • Pause/Resume:暂停的沙箱不占内存和 CPU。98% 的时间在等模型,暂停后资源就能让给别的任务。
  • Fork:从当前状态复制一份去跑验证,不污染原环境。
  • Snapshot:定期存档,出错回滚。
  • 增量 checkpoint:只存脏页。

规模上:数万个镜像各异的沙箱要在数秒内起来。用 OverlayBD镜像、自定义 ublk 驱动、存储层共享加 P2P 传输,做到亚秒级启动。

粗算:若沙箱只有 2% 时间在真干活,并发上限理论上能到 50 倍量级,实际会被恢复开销打折。partial rollout 的“下一轮接着跑”,靠的就是这个。

05 环境与奖励

RL 优化的是奖励函数,不是你真正想要的东西。环境有漏洞,模型就会钻。

  • 白盒环境:把 Agent harness 拆成可组合模块(工具接口、系统提示、上下文管理、skills、记忆、子 Agent),能还原 Kimi Code、Claude Code、Codex 等,也能拼新的。训练时给不同任务随机换 harness,防止模型只会一套工具。
  • 任务合成:用 Agent 持续上网扩展一张分层的知识图谱,按概念节点检索资料、合成任务,覆盖冷门知识。
  • 不可验证任务:Agent 裁判必须先读产物、生成评分细则、逐候选打分、写入记分板;同时用长度预算压制“写长骗分”。

K3.1 新增的环境质检平台,具体门禁规则没有披露。

两个相关结果:

  • 幻觉:claim 级幻觉率 23.4% →8.3%(内部压力测试)
  • 网安:发现漏洞能力随后训练规模上涨,溯源到 mid-training 语料和 RL 环境本来就混着相关内容。开源版两处都删了,xdev-bench-hard 90.5% →81.0%。降得不多,通用编码变强后这类能力还会顺带涨

06 性能表现

官方拿 14 项评测,对比 Opus 5.5、Fable 5.1、GPT-6 Astra、GLM-5.3 和 DeepSeek-V4.1-Flash,所有模型都开到最大思考强度。

K3.1 Pro 的位置:6 项第一、5 项第二、2 项第三、1 项第四。

编码与 Agent

评测K3.1 Pro对比
SWE Marathon51.7 · 第1Opus 5.5 46.3
Agents' Last Exam43.2 · 第1Opus 5.5 42.6
Terminal-Bench 4.065.7 · 第2Opus 5.5 66.4
GPT-6 Astra 58.2
Kimi Code Bench 长程61.2 · 第2GPT-6 Astra 66.5
K3 55.95
Terminal-Bench Science38.1 · 第4GPT-6 Astra 68.1
Opus 5.5 63.3

知识工作与多模态

评测K3.1 Pro对比
OfficeQA Pro v264.4 · 第1Opus 5.5 62.2
HLE(带工具)70.0 · 第1Opus 5.5 67.7
GDP.pdf34.6 · 第1GPT-6 Astra 34.2
ZeroBench(带工具)63.0 · 第1Opus 5.5 61.0
Frontier Finance58.6 · 第2Fable 5.1 60.8
GDPVal-AA v2.11846 · 第2Opus 5.5 1866
ChartoGraphy90.2 · 第2GPT-6 Astra 91.0
BenchCAD(带工具)92.7 · 第3Opus 5.5 96.2
GPT-6 Astra 95.9
OSWorld V2.179.6 · 第3Opus 5.5 81.8
Fable 5.1 80.7

综合评测(官方图)

1)强项在哪

长程、多步、带工具的任务:SWE Marathon、Agents' Last Exam、OfficeQA、HLE 带工具,都是第一。这和 RL 的训练目标吻合,模型在这些任务上要连续决策几十到上百步。

2)短板在哪

  • Terminal-Bench Science 只有 38.1,和 GPT-6 Astra(68.1)、Opus 5.5(63.3)差一大截,科学计算类终端任务还不行。
  • BenchCAD 带工具 92.7,不带工具 72.8(Opus 5.5 是 73.0),说明差距主要在工具使用。
  • Frontier Finance 比 Fable 5.1 低 2.2 分。

3)从 K3 到 K3.1 的跃迁

  • Kimi Code Bench 长程:55.95 → 61.2
  • 经营决策:8.9 → 37.0,约 4.2 倍
  • 金融研究:58.8 → 70.4
  • xdev-bench-hard(pass@3):33.3 → 81.0,平均成功率 15.9% → 64.5%

4)幻觉率(越低越好)

  • 不带工具:K3.1 Pro 5.4,GPT-6 Astra 4.2,Opus 5.5 6.8,Fable 5.1 11.4
  • Hard 带工具:K3.1 Pro 8.3,GPT-6 Astra 5.5,Opus 5.5 15.0,Fable 5.1 23.3

两项里 K3.1 Pro 都只落后于 GPT-6 Astra,比 Opus 5.5 低不少。口径是“含错误的事实性声明占比”,压力测试集,不代表日常。

5)token 开销

xdev-bench-hard 给了每条成功轨迹的平均 token(输入 / 输出):

  • K3.1 Pro:159.8M / 546K
  • DeepSeek-V4.1-Flash:162.2M / 1.5M
  • GLM-5.3:381.1M / 3.6M
  • GPT-5.6 Sol:93.5M / 336K

输出量比 DeepSeek 少约三分之二、比 GLM 少约 85%,和前面“超预算就罚 -1”的训练方式对得上。这只是一个基准上的数字,别当通用结论。

6)速度

K3.1 Pro Highspeed 官方称速度是 Pro 的 2–3 倍。测法没说(是输出速度还是端到端耗时)。对长程 Agent,单次请求变快不等于整个任务变快。

7)看数字时的口径

  • 官方图脚注:所有模型开最大思考强度;Claude 可能含 fallback,GPT 可能含 cyberguard。
  • Kimi 的部分成绩用 Claude Code 等 harness 自测,对手成绩来自各家公布值或榜单。
  • Kimi Code Bench、Hallu Bench、xdev-bench-hard 和内部金融基准都是 Kimi 自家的。

07 官网演示

天宫战斗游戏(Unreal Engine 5.8)

  • 36 开间、半径 1750 米的列柱回廊
  • Blender 程序化建模的巨龙,MetaHuman 主角
  • 3600 万源三角面,Nanite + Lumen

3D 汽车展示页(Three.js)

滚动驱动,布料揭幕,四章节车库,结尾是 968 个零件的爆炸图。可以直接玩:https://fqo4jx65co4xu.ok.kimi.link/

机场雨林谷(Blender)

19.5 秒、1080p、60fps 建模动画。

人体步行仿真

  • 296 块骨骼 + 402 块肌肉
  • 167 个任务、420 次评审
  • 仿真人从几秒摔倒,到连续迈步 11.2 秒

手臂奖励怎么调都没用,模型转头去查动力学,找出 36 处肩部肌肉力臂算错,修完重训。

视频和更多案例:https://www.kimi.com/en/blog/kimi-k3-1-pro

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进