The RL framework behind GLM-5.2 is fully open source.
The full post-training of GLM-5.2 ran on it in about two days. The same stack sits behind the entire GLM series, from 4.5 to 5.1.
It is called slime, and it is built around one idea. Keep a single RL kernel, and push all the variety into data generation.
Let me explain what that means.
Every RL run has two halves. One generates experience, where the model produces responses and something scores them. The other learns from it by updating weights.
The learning half is mechanical. It reads samples, computes a loss, and steps the optimizer, the same way whether the model solves equations or drives a browser.
What changes between tasks is generation. A math run answers in a single turn and grades the result. An agent run loops through tool calls, reads results, and only then earns a reward.
slime draws the line right there. The learning half stays fixed as one kernel, and everything that differs becomes a new way to generate data.
Under the hood, it wires Megatron for training to SGLang for rollout, with a Data Buffer between them that owns prompts, custom data, and generation.
Most RL stacks grow into a pile of disconnected trainers, rollout services, and agent frameworks. slime refuses that.
Multi-turn tool use, sandbox interaction, environment feedback, and verifier rewards all enter as data generation, not as forks of the loop. So an agentic workload runs on the same loop a math run uses, and the kernel never changes.
A few things follow.
→ It is battle-tested. The loop is validated by shipping real GLM models, and it also supports Qwen3, DeepSeek V3, and Llama 3.
→ Correctness comes first. RL bugs are silent, so slime keeps the dataflow explicit and treats CI, reproducibility, and fault tolerance as real engineering.
The proof is the ecosystem on top of it. Dressage, Miles, vime, Relax, OpenClaw-RL, P1, and TritonForge all build on slime without touching the core loop.
The lesson is not that RL needs a bigger framework. It is that the variety belongs in data generation, and the training loop should stay small enough to trust.
GitHub repo: github.com/THUDM/slime
(don't forget to star 🌟)
Since we're talking about RL, I wrote a full breakdown on fine-tuning LLMs with RL in 2026. Including how to skip manual reward engineering with automatic LLM-graded rewards.
The article is quoted below.
Akshay 🚀 (@akshay_pachaar)
Article
How to Fine-Tune LLMs in 2026
Every team building with LLMs hits the same wall eventually.
You write a detailed system prompt, add few-shot examples, tune the temperature, and your agent still gets it wrong 30-40% of the time.
— https://nitter.net/akshay_pachaar/status/2029212227438518406#m