TLDRocket
Sign in

KwaiKAT Team Releases KAT-Coder-V2.5: An Agentic Coding Model Trained on 100,000+ Verifiable Repository Environments

MarkTechPost Michal Sutter

Kuaishou's KwaiKAT team dropped KAT-Coder-V2.5, a coding model trained inside 100,000+ real, runnable repo environments instead of on isolated code snippets. Turns out most of their training pain wasn't the AI algorithm at all — it was broken sandboxes quietly corrupting the rewards.

Based on reporting by MarkTechPost, Michal Sutter — read the original for the full story.

Summary, retelling and take written by AI under human oversight; images are AI-generated illustrations. How we work · Report an error

Most coding-model papers talk about bigger context windows or smarter prompting. KwaiKAT's writeup on KAT-Coder-V2.5 reads differently: it's an infrastructure post dressed up as a model release. The team built AutoBuilder, a system that mines real pull requests and commits, strips out the giveaway git history, and forces a build agent to write installation and test scripts from a clean checkout. A separate verification agent then checks that over 90% of expected tests actually run and reproduce consistently across attempts — not just that some exit code came back green. That pushed environment construction success from a dismal 16.5% up to 57.2%, and the payoff is a library of more than 100,000 verifiable environments spanning 12 languages.

The more interesting admission comes from their reinforcement learning phase. During KAT-Coder-V2 training, reward curves were crawling, and the team initially assumed the RL algorithm itself was underperforming. An audit told a different story: roughly 16% of trajectories were failing because of sandbox plumbing, not because the model made bad decisions. Boundary misalignments were sometimes wiping observations for 40 steps straight, silently corrupting the reward signal the whole training run depended on. Three fixes — evicting stale disk images earlier, correcting environment variables during sandbox startup, and routing generation calls directly to /generate instead of through chat endpoints that were quietly re-tokenizing and drifting by 40% at long turn counts — dropped that error rate from 16% to under 2%. Training collapses fell by roughly tenfold as a result.

On the data side, KwaiKAT didn't just filter trajectories by pass/fail, which they found actively misleading: some passing runs were hard-coded shortcuts, some failing runs contained genuinely useful debugging behavior. So near-miss trajectories get targeted hints, which lift previously zero-pass tasks to roughly a 20% pass rate, and then the model is retrained hint-free so it doesn't cheat off information it wouldn't have at inference. Passing runs go through rule-based filtering and a multi-dimensional scoring pass covering things like patch minimality and honesty. They also randomize tool names, argument formats, and prompts across identical tasks to stop the model from memorizing harness quirks rather than actually solving problems.```

On training method, the team leaned on PPO with an asymmetric actor-critic setup — the critic gets privileged access to test results and future turns during training, then gets discarded entirely at inference, leaving just the actor. Five expert models get fused into the final system via on-policy distillation. Results-wise, KAT-Coder-V2.5 tops PinchBench at 94.9 against Opus 4.8's 93.5, but comes in second on SWE-Bench Pro and dead last on Terminal-Bench 2.1. Kuaishou also shipped a separate open-weight version, KAT-Coder-V2.5-Dev, a 35B-total/3B-active MoE built on Qwen3.6, released under Apache-2.0 — though its benchmark numbers come from a different evaluation protocol, so they're not directly comparable to the flagship's.

My take — AI-written commentary, not fact-checked reporting

The sandbox-audit detail is the real story here, and it's a useful reminder that a lot of 'the model isn't learning' problems are actually 'our test harness is lying to the model' problems — something every lab running RL-on-agents should be paranoid about. I'll take the Apache-2.0 open-weight release as a genuine plus for the ecosystem, but let's not pretend a differently-scored 3B-active MoE tells us much; benchmark tables that can't be compared to each other are just marketing with extra steps.

Read more about this at: MarkTechPost

Related stories

The daily briefing

Every AI story that matters, in your inbox by 8am.

TLDRocket reads all relevant sources, removes duplicate coverage, and summarises the day in two minutes. Follow companies and topics for alerts, or get the briefing in Slack. Free, no spam, unsubscribe anytime.