优势

代码可以借助编译器、解释器和测试自动评估,是可验证奖励的常见任务来源。不过,通过有限测试不等于程序在所有输入上正确。纯文本代码生成通常仍是语言建模;结合界面图像、视频等输入时,才涉及额外模态。

挑战

  • 仓库级上下文:真实开发要理解跨文件、跨模块的依赖,而不是单个函数。
  • 工具链交互:编译器、测试框架、版本控制、终端等环境的调用。
  • 一体化:把补全、修改、自我修复串成一个流程。
  • 评测污染:公开评测题目容易混进训练数据,导致分数虚高。

代表工作

  • Code Llama(2023):在 Llama 2 基础上继续训练得到的代码模型,支持长上下文与代码填充(infilling)。
  • StarCoder2(2024):BigCode 项目的开放代码模型,基于 The Stack v2 数据集训练,强调负责任的数据开放。
  • DeepSeek-Coder-V2(2024):在 DeepSeek-V2 的基础上做代码与数学方向的持续预训练,采用混合专家架构。

发展路线与评测

代码补全与解释 → 单文件修复 → 仓库级智能体。评测上重点关注 LiveCodeBench(持续收集新题、降低污染)与 SWE-bench(真实 GitHub 问题修复)。

参考资料

相关专题