NeoHorse-1 Ships the Loop Everyone Says They're Afraid Of
While a researcher was quitting Anthropic over self-improving AI, a team called TokenRhythm put a working prototype of it on Hugging Face under Apache 2.0. NeoHorse-1 is two checkpoints, 4B and 9B, post-trained from Qwen3.5, and the paper's subtitle does not hedge: towards recursive self-improvement via agentic post-training with routing harness.
The mechanism is the interesting part, and it is disarmingly boring. A routing harness sits in front of a pool of models of different sizes. For every user turn it logs three things: how much capability the task seemed to demand, which model tier it picked, and what happened next. Those logs, tool calls and reasoning steps and outcomes intact, get cleaned, decontaminated against evals, semantically scored on six dimensions, then fed back as the next training mixture. The updated model returns to the harness. Evaluate, select, update, repeat. Nobody invented a new optimizer here. They just made the router's logs the training data.
The numbers are modest and that is the honest read: the 4B goes from 58.94 to 64.87 average, the 9B from 65.60 to 69.04. One turn of the crank, not a takeoff. What matters is that the crank exists, is documented, ships with GGUF quantizations down to 4-bit, and is one loop iteration away from being run continuously. The paper says extending this loop across successive iterations is the next step. That sentence is the whole story.
The 100X thesis has always said the harness is where the compounding happens, not the weights (https://clauday.com/article/035d33f9-4135-4dd4-bfad-bbc862f299c3). NeoHorse is the cleanest statement of that yet: the routing layer that was supposed to save you money on inference turns out to be a data-collection apparatus pointed at your own model. Weights and code: https://github.com/TokenRhythm/NeoHorse and https://arxiv.org/abs/2609.08183
The other half of today's story is the guy who walked out over exactly this: https://clauday.com/article/0453388a-0159-4110-9cdf-d2dcf72a076f
← Back to all articles
The mechanism is the interesting part, and it is disarmingly boring. A routing harness sits in front of a pool of models of different sizes. For every user turn it logs three things: how much capability the task seemed to demand, which model tier it picked, and what happened next. Those logs, tool calls and reasoning steps and outcomes intact, get cleaned, decontaminated against evals, semantically scored on six dimensions, then fed back as the next training mixture. The updated model returns to the harness. Evaluate, select, update, repeat. Nobody invented a new optimizer here. They just made the router's logs the training data.
The numbers are modest and that is the honest read: the 4B goes from 58.94 to 64.87 average, the 9B from 65.60 to 69.04. One turn of the crank, not a takeoff. What matters is that the crank exists, is documented, ships with GGUF quantizations down to 4-bit, and is one loop iteration away from being run continuously. The paper says extending this loop across successive iterations is the next step. That sentence is the whole story.
The 100X thesis has always said the harness is where the compounding happens, not the weights (https://clauday.com/article/035d33f9-4135-4dd4-bfad-bbc862f299c3). NeoHorse is the cleanest statement of that yet: the routing layer that was supposed to save you money on inference turns out to be a data-collection apparatus pointed at your own model. Weights and code: https://github.com/TokenRhythm/NeoHorse and https://arxiv.org/abs/2609.08183
The other half of today's story is the guy who walked out over exactly this: https://clauday.com/article/0453388a-0159-4110-9cdf-d2dcf72a076f
Comments