FIM中训提升代码智能体表现

TIGER-Lab · hf · 2026-07-16

提出一种面向 **coding agent** 的中间训练方法 **function-aware fill-in-the-middle (FIM)**。 ### 核心思路 - 观察到 coding agent 的“动作—观察—继续推理”循环,与代码里的函数调用场景结构相似。 - 因此用程序依赖图筛选函数,再按“复杂度/可推断性”双条件做自监督遮罩,让模型在中间训练阶段学习补全函数级上下文。 ### 训练与实验 - 在 **2.6B tokens** 的去污染语料上中训了 **Qwen2.5-Coder-Instruct 7B/14B** 和 **Qwen3-8B**。 - 语料来自 **968 个 GitHub 仓库**。 - 之后再接现有的 agentic post-training 流程测试。 ### 结果 - **SWE-Bench-Verified** 提升: - 7B:+2.8 - 14B:+3.0 - Qwen3-8B:+3.2 - **SWE-Bench-Lite** 提升: - 7B:+3.7 - 14B:+4.0 - Qwen3-8B:+5.4 - 效果在两条后训练管线 **R2E-Gym**、**SWE-Smith** 上都成立,也能迁移到 **Qwen3-8B + SWE-Lego** 这类非 Qwen2.5 基座。 ### 额外发现 - 这种 mid-training 还能缓解 agentic post-training 带来的能力退化。 - 不只在代码任务上有效,对 **LiveCodeBench**、**tau-bench**、**BFCL** 等非编码/工具使用基准也有稳定收益。 - 尽管训练语料只有 Python,函数调用的归纳偏置仍能在后训练后保留下来。

原文链接 →