Functiebewust Fill-in-the-Middle als tussentraining voor coderingsagent-fundamentmodellen
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
Samenvatting
Codeeragenten moeten externe tooluitkomsten integreren in lopende redeneringen – een vermogen waar standaard links-naar-rechts pretraining op code slechts in de voorwaartse richting in voorziet. We observeren dat de actie-observatie-voortzetting-lus van een codeeragent structureel isomorf is met een functieaanroep, waarbij een aanroeper argumenten bindt, een aangeroepene elders een waarde retourneert, en stroomafwaartse code die waarde consumeert. Deze conditioneringsstructuur bestaat op internetschaal in gewone code. We benutten deze via functiebewuste invullen-in-het-midden (FIM) midden-training: een zelfsuperviserende doelstelling die functies maskeert die zijn geselecteerd via program-afhankelijkheidsgrafiek-analyse en een dubbel criterium van complexiteit en afleidbaarheid. We passen midden-training toe op Qwen2.5-Coder-Instruct (7B/14B) en Qwen3-8B op een 2,6B-token gedecontamineerd corpus uit 968 GitHub-repositories, en passen vervolgens bestaande agentische post-training-pijplijnen toe. Midden-training verbetert SWE-Bench-Verified met +2,8/+3,0 bij 7B/14B en met +3,2 op Qwen3-8B; SWE-Bench-Lite-winsten zijn +3,7/+4,0/+5,4 op dezelfde modellen. De verbetering blijft behouden over twee post-training-pijplijnen (R2E-Gym, SWE-Smith) en op een niet-Qwen2.5-basis (Qwen3-8B met SWE-Lego). Naast domeininterne winsten beperkt midden-training ook de capaciteitserosie die agentische post-training anders veroorzaakt op niet-agentisch coderen (bijv. LiveCodeBench) en niet-coderende toolgebruik-benchmarks (tau-bench, BFCL): hoewel het midden-training-corpus alleen Python-code bevat, overleeft de functieaanroep-inductieve bias de post-training en levert consistente winsten op.
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.