← 最新论文
🤖 AI

daVinci-Dev: Agent-native Mid-training for Software Engineering

该论文介绍了 daVinci-Dev,这是一个用于智能体中段训练(agentic mid-training)的框架,它利用了一种结合了上下文原生与环境原生轨迹的新型“智能体原生”数据策略来克服分布失配,使 32B 和 72B 模型能够以比先前方法显著更少的训练 Token 量,在 SWE-Bench Verified 上达到最先进的性能。

原作者: Ji Zeng, Dayuan Fu, Tiantian Mi, Yumin Zhuang, Yaxing Huang, Xuefeng Li, Lyumanshan Ye, Muhang Xie, Qishuo Hua, Zhen Huang, Mohan Jiang, Hanning Wang, Jifan Lin, Yang Xiao, Jie Sun, Yunze Wu, Pengfei
发布于 2026-01-28
📖 1 分钟阅读☕ 轻松阅读

原作者: Ji Zeng, Dayuan Fu, Tiantian Mi, Yumin Zhuang, Yaxing Huang, Xuefeng Li, Lyumanshan Ye, Muhang Xie, Qishuo Hua, Zhen Huang, Mohan Jiang, Hanning Wang, Jifan Lin, Yang Xiao, Jie Sun, Yunze Wu, Pengfei Liu

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

核心理念:教机器人成为真正的程序员

想象一下,你想教一个机器人如何修理一辆坏掉的汽车。

旧的方法(后期训练/Post-Training):
目前大多数 AI 模型就像是读遍了图书馆里所有汽车维修手册(预训练)但从未摸过扳手的学生。为了教会它们修车,研究人员会给它们看一些专家修车的视频(监督微调),然后让它们在车库里进行练习,只在它们犯错时进行纠正(强化学习)。

  • 问题在于: 这个“车库”规模很小且建设成本昂贵。你只能在极少数汽车上进行练习。此外,学生只能看到最终修好的汽车,而看不到尝试、失败、检查引擎并再次尝试的整个混乱过程。

新的方法(daVinci-Dev / 智能体原生中段训练/Agent-Native Mid-Training):
该论文的作者说:“让我们在把机器人送到车库之前就教好它。”他们引入了一个被称为**“中段训练”(Mid-Training)**的中间阶段。

他们不只是向机器人展示修好的汽车,而是向它喂入海量的真实世界维修日志,这些日志来自数百万名真正的机械师。他们不仅展示最终结果,还展示了整个故事

  1. 机械师观察损坏的汽车。
  2. 机械师打开引擎盖并阅读手册。
  3. 机械师尝试一种修复方法,听到一声异响,意识到这行不通。
  4. 机械师尝试另一种修复方法,直到成功为止。

他们称之为**“智能体原生”(Agent-Native)*数据,因为这种数据模仿了作为现实世界中的一个智能体(即一名工人)的实际经验*,而不是仅仅死记硬背静态的事实。


两大特殊成分

为了构建这个训练库,团队从 GitHub(一个程序员分享代码的巨大网站)中创建了两种类型的“故事”(数据):

1. “上下文原生”故事(广博的图书馆)

  • 它是什么: 他们提取了数百万个“拉取请求”(Pull Requests,即修改代码的请求),并重构了整个故事。
  • 类比: 想象一个侦探的案件卷宗。它不仅展示了破案的结果,还展示了侦探阅读嫌疑人的日记、寻找正确的文件、做出猜测,并根据新线索改变主意的一系列过程。
  • 为什么有效: 这教会了 AI 工作的流程。它学会了在编辑一个文件之前,必须先找到并阅读它。它涵盖了极其广泛的语言和场景(共计 686 亿词的数据)。

2. “环境原生”故事(实时模拟)

  • 它是什么: 他们不仅仅是阅读日志;他们实际上运行了代码。他们将一个 AI 智能体放入一个真实的、工作的计算机环境(Docker 容器)中,让它尝试修复漏洞(Bug)。
  • 类比: 这就像是将学生放入一个带有真实引擎的真实车库中。学生尝试转动螺栓,结果引擎发出了巨大的“哐当”声(错误)。学生听到了错误,停了下来,并尝试使用不同的工具。
  • 为什么有效: 这教会了 AI 如何对真实的反馈做出反应。它学会了“如果我输入这个命令,计算机会用错误信息对我‘尖叫’”,这是静态书籍无法教授的内容。这部分数据量较小(31 亿词),但由于其“真实性”,质量极高。

结果:效果如何?

团队在名为 SWE-Bench Verified 的著名考试上测试了他们的新“学生”(daVinci-Dev 模型),这相当于软件工程师的最终驾驶测试。

  • 得分: 他们的 720 亿参数模型达到了 58.5% 的成功率。
  • 对比: 这击败了之前的开源最强方法(Kimi-Dev),后者的得分约为 48.6%。
  • 效率: 他们在使用不到一半于前任纪录保持者所用的训练数据(Token)的情况下,实现了这一成绩。这就像是通过 50 小时的学习而非 100 小时,就拿到了考试的 A+,因为学习材料的质量更高。
  • 惊喜之处: 尽管他们最初使用的是一个“通用”基础模型(Qwen2.5-Base),并非专门为编程设计的模型,但新的训练方法使其在编程方面比那些以“编程专家”起步的模型表现得更好。

为什么这很重要(根据论文观点)

论文指出,教 AI 编程最大的错误在于将其视为一个只读教科书的学生。真正的软件工程是一个循环:发现问题 → 阅读代码 → 尝试修复 → 查看是否出错 → 再次修复。

通过向 AI 喂入保留了这种循环(既包含工作的过程,也包含计算机实时反馈)的数据,他们建立了一个更强大的基础。

简而言之: 他们不仅教会了 AI 代码看起来是什么样子的,还通过模拟真实软件开发中那种充满尝试与错误的混乱过程,教会了它如何像程序员一样思考

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →