Mo’ turns, mo’ problems Alibaba's QwenGyre paper reports that reinforcement-learning rollouts on its 122B model averaged around 2 hours, with many runs on the 2.4T flagship exceeding four hours, as agentic post-training increasingly diverges from on-policy assumptions. Alibaba keeps sandbox containers running and routes inference through a proxy that reroutes in-flight requests and shuttles KV cache between GPU cells, while DeepSeek uses its own harness to pause and preempt long-running rollouts, freezing DRAM and the writable file-system layer inside the sandbox as of v4.1. The work addresses off-policy drift from harness reformatting, tool-call parsing, and tree-structured subagent trajectories, with QwenGyre's proxy caching original tool-call payloads and capping trainable paths. Doing reinforcement learning for agentic use-cases is, conceptually, not all that complicated. For each problem you set up a VM with a harness and a fresh model context, send the prompt, let the model make tool calls, score the whole thing at the end, and update the weights. The important assumption in there is that the model generating the rollout and the model you’re updating are the same model , which, for reasons, is referred to as being “on policy”. Most RL algorithms use PPO’s importance ratio: policy/old policy . This scaled the update based on how close the model is to the version that produced the data. On the first update that ratio should be exactly 1: it’s the same weights, seeing the same tokens, so we should get the same answer. Differences between the two makes Horace sad https://x.com/cHHillee/status/2109835504506245247 . Also, agentic post-training means there is more than the model to consider. Rollouts come from the model, in an inference engine, but also a harness and sandbox environment. These can also produce some weird differences, and as session get longer the chances of hitting a meaningful difference increase. Sessions are getting pretty long these days: In Alibaba’s QwenGyre https://arxiv.org/abs/2609.33848 paper rollouts on their 122B model went for around 2 hours on average, while for the 2.4T flagship many of them ran past four hours. How you train it is all tied up with what you want to do with the model. Like, if you want a model to be good in Claude Code why not train in Claude Code? That’s what Alibaba do, in part because proprietary harnesses… are closed and evolve rapidly; reimplementing their control flow inside an RL framework is impractical But Then its black box. You want to keep your GPUs busy by flexing which ones are training and which are doing rollouts, but if you stall your harness you start getting different outputs for reasons which are nothing to do with the model itself. Alibaba keep their sandbox containers running and route inference through a proxy. They cluster their GPUs into cells which flip rapidly between rollouts and training based on demand. The proxy reroutes in-flight requests and KV cache gets shuttled between cells. DeepSeek, on the other hand, use their own harness so they can just pause everything. They are also trying to optimize overall throughput, so will routinely preempt long-running rollouts. Before v4.1 the agent loop lived in the preemptible GPU job, and had to be reconstructed via a reply when the job came back. With 4.1 they moved the harness inside the sandbox itself and just froze the whole state: DRAM and the writable layer on the file system. Even when the harness is consistent, you can still go off-policy with the trajectories themselves. In simpler RL-times rollouts were single streams of generation, but tool calls introduced extra tokens that needed to be masked out lest the model train on things it didn’t produce. Even then, if you let the inference server parse the models output text you can introduce variations: a tool argument of false might become False . As we’ve talked about before, the Prime Intellect team spent a lot of time on this in their Renderers https://www.primeintellect.ai/blog/renderers library. QwenGyre’s proxy even caches the original tool-call payloads because the harness reformats them between turns. Even with that, you increasingly aren’t dealing with one rollout per… rollout. Agents spawn subagents, make parallel tool calls, and compact long sessions.