Agent 的训练数据,正在从“标准答案”变成“执行现场”。NeoHorse-1 的思路不是再堆一批静态问答,而是把模型写代码、调用工具、接收环境反馈、完成或失败的完整轨迹留下来,再用这些记录决定下一轮学什么。

先看结果:小模型也能吃到训练红利

TokenRhythm 发布的 NeoHorse-1 有 4B 和 9B 两个版本,基座分别是 Qwen3.5-4B 与 Qwen3.5-9B。论文在十项基准上评估 Agent 执行、工具调用、代码生成和指令遵循。4B 版本的平均分从同尺寸 Qwen3.5-4B 的 58.94 提升到 64.87;9B 版本则从 65.60 提升到 69.04。关键不是某个榜单抬头,而是提升分布在多个交互任务上。

不过,表格也没有把一切都说成单向胜利。9B 版本在 IFEval 上是 89.09,低于 Qwen3.5-9B 的 89.46;LiveCodeBench v6 两者都是 65.14。后训练更明显地改善了持续操作、工具交互和失败恢复,对静态指令遵循的增益并不整齐。

它到底训练了什么

普通指令微调把输入和答案配成一对,但 Agent 的真实工作不是这样结束的。一条轨迹里还有工具调用、工具返回、环境观察、重试动作和最终结果。NeoHorse-1 将这些执行记录组织成 user turn 和 subscene,保留当前轮里的推理、工具调用与可见回复,让模型学习的不只是“应该说什么”,还有“在什么状态下做什么动作”。

第二步是路由。系统背后是异构模型池。路由器会记录任务需要什么能力、实际选择了哪一档服务,以及后续交互如何展开。用户覆盖、服务可用性和部署策略都会改变路由结果,实际调用的模型身份不等同于任务难度。NeoHorse-1 更看重路由对能力需求的估计,把样本安排成三阶段课程:逐步加入更高需求的交互,同时保留一部分低需求样本。

这还不够。离线轨迹里的回复是已经走过的路径,部署时学生模型却会生成自己的前缀。为缩小差距,NeoHorse-1 加入 routing-guided on-policy distillation:学生从记录过的上下文出发生成回复,教师在学生真正走到的前缀上提供监督。蒸馏不只模仿教师的完整答案,也直面学生自己暴露的行为状态。

“递归自我改进”目前还只是一个闭环原型

论文值得关注的地方不是把 RSI 说得多宏大,而是把它拆成能检查的循环:路由和 Agent 执行产生轨迹;轨迹经过结构校验、六维语义评估和 subscene 标注;能力反馈再分配下一轮训练数据;更新后的模型回到 harness 继续执行。

“自我改进”不再只是让模型自己写一份更好的答案,而是让系统利用真实执行留下的证据,判断下一轮训练补什么。但问题也清楚:目前公开结果证明的是一次后训练有效,不等于模型能无限递归变强。跨多轮迭代是论文的下一步。

代码和模型已公开:4B、9B 权重以 Apache 2.0 发布,仓库提供 BF16 与 8-bit、5-bit、4-bit 量化版本;原生上下文 262,144 tokens,可扩展到 1,010,000 tokens。部署示例覆盖 SGLang 和 vLLM,实际容量取决于显存与服务配置。

我的判断:NeoHorse-1 的价值不在“会自己升级”的神话,而在它把 Agent 训练中最易被浪费的东西——失败、重试、工具返回和路由选择——变成可回收的训练信号。下一轮模型竞争,拼的不是静态答案漂亮,而是谁能把每次执行留下的证据用得更彻底。

资料: arXiv:2609.08183GitHub