Remplissage au milieu conscient des fonctions comme entraînement intermédiaire pour les modèles de base d'agents de codage
Function-Aware Fill-in-the-Middle as Mid-Training for Coding Agent Foundation Models
July 14, 2026
Auteurs: Yubo Wang, Jiarong Liang, Yuxuan Zhang, Xuye Liu, Cong Wei, Yuyu Zhang, Ping Nie, Wenhu Chen
cs.AI
Résumé
Les agents de codage doivent intégrer les retours d’outils externes dans leur raisonnement en cours — une capacité que le pré-entraînement standard de gauche à droite sur du code n’expose que dans sa direction avant. Nous observons que la boucle action-observation-continuation d’un agent de codage est structurellement isomorphe à un site d’appel de fonction, où un appelant lie des arguments, un appelé retourne une valeur calculée ailleurs, et le code aval consomme cette valeur. Cette structure de conditionnement existe à l’échelle d’Internet dans le code ordinaire. Nous l’exploitons via un pré-entraînement intermédiaire de remplissage au milieu (FIM) sensible aux fonctions : un objectif auto-supervisé qui masque des fonctions sélectionnées par analyse de graphe de dépendances de programme et un double critère de complexité et d’inférabilité. Nous effectuons un pré-entraînement intermédiaire des modèles Qwen2.5-Coder-Instruct (7B/14B) et Qwen3-8B sur un corpus décontaminé de 2,6 milliards de tokens tiré de 968 dépôts GitHub, puis nous appliquons des pipelines de post-entraînement agentiques existants. Le pré-entraînement intermédiaire améliore SWE-Bench-Verified de +2,8/+3,0 à 7B/14B et de +3,2 sur Qwen3-8B ; les gains sur SWE-Bench-Lite sont de +3,7/+4,0/+5,4 sur les mêmes modèles. L’amélioration se maintient sur deux pipelines de post-entraînement (R2E-Gym, SWE-Smith) et sur une base non-Qwen2.5 (Qwen3-8B avec SWE-Lego). Au-delà des gains intra-domaine, le pré-entraînement intermédiaire atténue également l’érosion des capacités que le post-entraînement agentique inflige autrement au codage non agentique (par exemple, LiveCodeBench) et aux benchmarks d’utilisation d’outils non liés au codage (tau-bench, BFCL) : bien que le corpus de pré-entraînement intermédiaire ne contienne que du code Python, le biais inductif d’appel de fonction survit au post-entraînement et produit des gains constants.
English
Coding agents must integrate external tool returns into ongoing reasoning - a capability that standard left-to-right pretraining on code exposes only in its forward direction. We observe that the action-observation-continuation loop of a coding agent is structurally isomorphic to a function call site, where a caller binds arguments, a callee returns a value computed elsewhere, and downstream code consumes that value. This conditioning structure exists at internet scale in ordinary code. We exploit it through function-aware fill-in-the-middle (FIM) mid-training: a self-supervised objective that masks functions selected via program dependency graph analysis and a complexity-inferability double criterion. We mid-train Qwen2.5-Coder-Instruct (7B/14B) and Qwen3-8B on a 2.6B-token decontaminated corpus drawn from 968 GitHub repositories, then apply existing agentic post-training pipelines. Mid-training improves SWE-Bench-Verified by +2.8/+3.0 at 7B/14B and by +3.2 on Qwen3-8B; SWE-Bench-Lite gains are +3.7/+4.0/+5.4 on the same models. The improvement holds across two post-training pipelines (R2E-Gym, SWE-Smith) and on a non-Qwen2.5 base (Qwen3-8B with SWE-Lego). Beyond in-domain gains, mid-training also mitigates the capability erosion that agentic post-training otherwise inflicts on non-agent coding (e.g., LiveCodeBench) and non-coding tool-use benchmarks (tau-bench, BFCL): although the mid-training corpus contains Python code only, the function-call inductive bias survives post-training and yields consistent gains.