← Latest papers
🤖 AI

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

The paper introduces daVinci-Dev, a framework for agentic mid-training that leverages a novel "agent-native" data strategy combining contextually and environmentally native trajectories to overcome distribution mismatches, enabling 32B and 72B models to achieve state-of-the-art SWE-Bench Verified performance with significantly fewer training tokens than prior methods.

Original authors: 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
Published 2026-01-28
📖 5 min read🧠 Deep dive

Original authors: 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

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

The Big Idea: Teaching a Robot to Be a Real Programmer

Imagine you want to teach a robot how to fix a broken car.

The Old Way (Post-Training):
Most current AI models are like students who have read every car manual in the library (Pre-training) but have never touched a wrench. To teach them to fix cars, researchers show them a few videos of experts fixing cars (Supervised Fine-Tuning) and then let them practice in a garage, correcting them only when they make a mistake (Reinforcement Learning).

  • The Problem: The "garage" is small and expensive to build. You can only practice on a few cars. Also, the student only sees the final fixed car, not the messy process of trying, failing, checking the engine, and trying again.

The New Way (daVinci-Dev / Agent-Native Mid-Training):
The authors of this paper say, "Let's teach the robot before we send it to the garage." They introduce a middle stage called Mid-Training.

Instead of just showing the robot the finished car, they feed it a massive library of real-world repair logs from millions of actual mechanics. They don't just show the final result; they show the entire story:

  1. The mechanic looking at the broken car.
  2. The mechanic opening the hood and reading the manual.
  3. The mechanic trying a fix, hearing a weird noise, and realizing it didn't work.
  4. The mechanic trying a different fix until it works.

They call this "Agent-Native" data because it mimics the actual experience of being an agent (a worker) in the real world, rather than just memorizing static facts.


The Two Special Ingredients

To build this training library, the team created two types of "stories" (data) from GitHub (a giant website where programmers share code):

1. The "Contextually-Native" Stories (The Broad Library)

  • What it is: They took millions of "Pull Requests" (requests to change code) and reconstructed the whole story.
  • The Analogy: Imagine a detective's case file. It doesn't just show the solved crime; it shows the detective reading the suspect's diary, finding the right file, making a guess, and then changing their mind based on new clues.
  • Why it helps: This teaches the AI the flow of work. It learns that before you edit a file, you have to find it and read it first. It covers a huge variety of languages and situations (68.6 billion words of data).

2. The "Environmentally-Native" Stories (The Live Simulation)

  • What it is: They didn't just read logs; they actually ran the code. They put an AI agent inside a real, working computer environment (a Docker container) and let it try to fix bugs.
  • The Analogy: This is like putting the student in a real garage with a real engine. The student tries to turn a bolt, and the engine makes a loud clank (an error). The student hears the error, stops, and tries a different tool.
  • Why it helps: This teaches the AI how to react to real feedback. It learns that "if I type this command, the computer will scream at me with an error message," which is something static books can't teach. This part is smaller (3.1 billion words) but very high quality because it's "real."

The Results: How Well Did It Work?

The team tested their new "student" (the daVinci-Dev model) on a famous exam called SWE-Bench Verified, which is like a final driving test for software engineers.

  • The Score: Their 72-billion-parameter model got a 58.5% success rate.
  • The Comparison: This beat the previous best open-source method (Kimi-Dev), which scored around 48.6%.
  • The Efficiency: They achieved this using less than half the amount of training data (tokens) that the previous record-holder used. It's like getting an A+ on a test by studying 50 hours instead of 100, because the study material was much better.
  • The Surprise: Even though they started with a "general" base model (Qwen2.5-Base) that wasn't specifically trained for coding, the new training method made it better at coding than models that started as "coding experts."

Why This Matters (According to the Paper)

The paper argues that the biggest mistake in teaching AI to code has been treating it like a student who only reads textbooks. Real software engineering is a loop: Find the problem → Read the code → Try a fix → See if it breaks → Fix it again.

By feeding the AI data that preserves this loop (both the story of the work and the real-time feedback of the computer), they built a foundation that is much stronger.

In short: They didn't just teach the AI what code looks like; they taught it how to think like a programmer by simulating the messy, trial-and-error process of real software development.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →