Skill Self-Play: co-evolving abilities to train agents without manual intervention
A paper from the Qwen team introduces Skill Self-Play (Skill-SP), a training framework where three components co-evolve through a self-play cycle. A proposer generates increasingly difficult tasks, a solver searches for solutions to push its own limits, and a skill controller collects results to update a skill library. All within a reinforcement learning loop.
Why this matters to you. Anyone fine-tuning agents on recurring tasks knows the dilemma: training with a structured environment gives precise feedback, but the model learns only on narrow domains. Letting the model generate its own tasks expands variety, but without reliable verification, wrong rewards poison the training. Skill-SP seeks a middle ground: each ability in the library guarantees verifiable execution in a specific scenario, while dynamic routing between abilities keeps task variety open.
The paper reports consistent improvements on tool-use and reasoning benchmarks on already-competent models, and gains on initially misaligned models. The code is public on the Qwen team’s GitHub repo.
This line of work, as we covered with Experience Distillation, aims at the same question: how to make agents improve from their own interactions without constant human annotation. There, what the agent learned from its history was transferred into weights. Here, a cycle is built where the abilities themselves evolve as part of training.
In detail
The problem Skill-SP addresses is as old as LLM self-training. When a model learns from its own output, you need a way to tell it whether it did well. Environment-based systems (a compiler for code, a sandbox with precise rules) give clean feedback: the answer works or it doesn’t. But the model learns only within the bounds of that environment. Open-ended methods, on the other hand, let the model generate its own tasks, expanding what it can learn. Without reliable verification, though, the model can receive positive rewards for wrong answers, and those errors propagate through training.
Abilities as middle ground. The paper’s insight is to treat individual agent abilities as verifiable training units. Each ability is tied to a specific scenario where execution can be controlled in a structured way. Instead of training one ability at a time in isolation, the framework makes them interact: the controller selects which abilities to activate, the proposer builds tasks that combine them, the solver attempts to solve them.
The three components co-evolve. The proposer learns to generate tasks at just the right difficulty: too easy and the solver learns nothing, too hard and it always fails. The solver explores different solutions to expand its own boundaries. The controller uses results to decide which abilities to promote, which to retire, and which new ones to add to the library.
What changes for those training agents. If you have an agent that must perform a recurring task and want it to improve without re-annotating examples by hand, the framework offers a reference architecture. The key point is the ability library: it becomes both the repertoire of what the agent knows how to do and the filter that guarantees training remains verifiable. The approach echoes Voyager, the agent that collects abilities in Minecraft, but shifted from deployment to training: there abilities were accumulated during use, here they co-evolve during training.
Limitations. The analysis is based on the abstract: without access to the full PDF, we cannot verify the size of models used, direct comparisons with baselines, or how much the advantage holds on domains outside tested benchmarks. The paper reports results on tool-use and reasoning, but generalization to unstructured tasks remains an open question. Code is available on the Qwen team’s GitHub repo, so the framework can be inspected and reproduced, but the setup requires training infrastructure accessible to few.
The line is clear. Experience Distillation transferred into weights what the agent learned from experience. OpenForgeRL made training open-source in the real work environment. Skill Self-Play adds a piece: a way to co-evolve the abilities themselves as part of the training loop, without someone having to define them one by one by hand.