Enjoying this issue?
Get tomorrow's AI & engineering digest in your inbox — hand-picked, summarized, and always spam-free.
TLDR
Neo Horse's post-training improved Qwen's agent performance without moving to a larger model, with the 4B model's average benchmark score rising from 58.94 to 64.87. The key mechanism is training on recorded agent trajectories, which taught the model to carry discovered requirements like a 5-minute tolerance rule through to its output. Gains are uneven across benchmarks and the paper only covers a single training pass, so recursive self-improvement remains unproven.
Key points
Neo Horse post-trained Qwen 4B and 9B models on recorded agent trajectories without increasing model size.
On a coding task, original Qwen rejected a valid record while Neo Horse applied the 5-minute tolerance rule correctly.
The 4B model's average score across 10 benchmarks rose from 58.94 to 64.87.
The Berkeley function calling score barely moved, from 61.02 to 61.79.
The authors say results cover a single training pass and do not demonstrate gains across successive generations.
Tools mentioned
Techniques
- Trajectory-based post-training
- On-policy distillation
- Curriculum learning
- Loss masking
Stop scrolling. Start reading smarter.
Receive the day's most important AI & engineering updates in one concise email. No spam.
Transcript (captions)
Neelhorse's researchers improved Qwen without moving to a bigger model. On the same coding task, one followed the 5-minute rule. The other used 2 seconds. Can better training make your small
coding agent more reliable? Follow that bug through the training pipeline and you'll see why it improved and where the gain stopped. The paper compares original Qwen with its trained Neelhorse
version, both in the 9-billion parameter class. Their assignment was to finish a data auditor inside an existing repository. It had to reject information arriving after a cutoff while allowing
the read me's 5-minute tolerance. So, a record at 10:04 belongs inside a 10:00 cutoff's allowed window. The researchers report that original Qwen used 2 seconds instead. It rejected that valid record.
Neelhorse read the read me, applied 5 minutes, and kept it. Same requirement, different result. Original Qwen also changed the output file name in a required field. Its rejection file lost
the required summary structure. You could get a script that runs, then discover the next program can't consume its output. The job includes the surrounding contract. Neelhorse instead
kept the command-line interface, executed the requested command, and opened both output files. Valid samples remained in order. Late features appeared in the rejection report. This
is the researchers recorded case study. I haven't rerun either model on that repository, so we can check the rule itself. My small demonstration uses the paper's 10:00 cutoff and features at
10:04 and 10:06. 5 minutes of tolerance keeps the first and rejects the second. 2 seconds rejects both. This checks the arithmetic, not the models. Reading the read me sounds ordinary. That's why I
like this example. A coding agent needs to carry discovered requirements through to a check deliverable. Neelhorse's September 8th paper asks whether those habits can be
learned from recorded agent interactions without moving to a larger model. Token rhythm releases 4 billion and 9 billion versions trained from the corresponding Qwen 3.5 models. In my comparison of
their official configurations, the checked language model dimensions match in both pairs, but Neo horse ships text only weights. Original Qwen also includes vision.
The same size claim concerns text agent performance, not equal capability in every modality. Now return to our auditor. It's complete interaction record is what the paper calls a
trajectory. The harness manages what the agent can see and do. Training needs that context, and action chosen after reading a file may make no sense without its contents. So, saving only the final
answer loses the path that produced it. The authors organize those records around user turns. One request can produce several assistant responses with tool results between them.
Those responses stay together as a training unit. Earlier visible messages and tool interactions remain as context. Earlier reasoning is omitted. That preserves the current request chain of
action and feedback. First, the reported pipeline checks the structure. Does each tool result belong to a real call? Are identifiers consistent? An intact trace proceeds. A recoverable fragment
contributes only its complete causal sequence. An ambiguous trace is quarantined. A saved conversation doesn't automatically contain a coherent training example, but did the agent also
do the job well? The authors assess execution quality, grounding judgments in recorded events. Missing evidence stays missing, and interrupted check doesn't become a pass.
For our auditor, writing a file and satisfying its required schema are separate observations. Your training pipeline should preserve that distinction. The records also describe
the user's goal and the observed outcome. That lets the team group problems by capability. A missing readme read differs from a correct implementation saved to the wrong path.
Keep the evidence that locates the failure. But a final thumbs down tells you much less about what needs teaching. Now for the routing decision. During execution, the harness routes to work
among models. It keeps predicted demand separate from the service actually used. A powerful model might have been selected because another service was unavailable or the user overrode the
choice. Its presence alone doesn't prove the task was difficult. Training needs to distinguish those reasons. How do you order those examples for training? The researchers estimate demand from the
request and history available before the response. Lower demand examples enter earlier. Harder examples enter later. The estimate arranges the curriculum. It doesn't certify each action's
difficulty and it doesn't change the recorded answer the model is trained to produce. The curriculum has three stages with roughly equal numbers of examples. Some easier material is reserved for
later stages keeping earlier skills in view. Each example appears once per pass. The optimizer continues across stage boundaries. The model isn't restarted whenever the material gets
harder. These stages belong to one training pass. Within each example, assistant responses receive prediction loss including assistant tool calls. User messages and tool results supply
context without receiving that loss. In our example, the assistant learns what to do after seeing the readme. It should not learn to invent the readme's contents. The paper's loss mask makes
the separation explicit. Recorded examples show another model's actions but your deployed model continues from its own choices. The report describes on policy distillation to address that
mismatch. The student generates a response. A fixed teacher scores possible next tokens along its path. Training updates the student. The teacher doesn't become part of the
deployed checkpoint. Routing estimates also organize those starting contexts. Neither serving a request nor scoring its difficulty instantly rewrites the model.
Instead, weight updates happen through training. The updated checkpoint must return to the harness before its new behavior generates further feedback. That separation matters when you hear
the phrase recursive self-improvement. Evaluation supplies the next lessons priorities. The authors test the current checkpoint on a separate suite, group its weak
capabilities, and shift the training mixture toward those regions while preserving broad coverage. Verified successful traces supply examples. Failures identify where suitable
examples are needed. Failed answers aren't simply copied for imitation. Suppose held out auditor tasks reveal trouble preserving output formats. The next mixture could
emphasize verified examples that follow the required schema. This illustrates the allocation rule. It isn't a claim that our particular case was added to training.
Evaluation locates a gap, and candidate examples still face the quality checks. Otherwise, teaching evaluation answers could make memorization look like improvement. The researchers say they
screen training candidates for exact and near duplicate overlap with evaluation suites. Feedback about weaknesses crosses that boundary. The held out question should remain outside project
before trusting a rising score. Now the authors compare harness trajectories with a public synthetic agent data set under the same curriculum and closely matched training budgets. The harness
data checkpoint scores higher on all five compared benchmarks. That supports these execution records within this experiment. It doesn't isolate every ingredient or establish that any
production logged makes better training data. Across the main 10 benchmarks, the 4 billion models reported average rises from 58.94
to 64.87, 5.93 score points. Every listed benchmark improves against original Quen. This average combines different tests. It can't tell you the percentage
of your own jobs the agent will complete. On HumanEval, which checks generated code for functional correctness, the 4 billion score rises from 87.2 to 96.95,
but a coding test can't establish that the agent will preserve your repository's interface. Our auditor case supplies behavioral evidence that this score alone can't
provide. The Berkeley function calling score barely moves. 61.02 becomes 61.79. Workbuddies' workplace score improves by almost 10 points. If your workload
mainly selects and formats tool calls, that larger workplace gain isn't a substitute for checking the smaller tool calling gain. Choose the row that matches the job. These are the Neo Horse
team's numbers. Their model cards repeat the paper. They aren't independent replications. The authors report matched harnesses and interaction budgets within each benchmark. Original Quen and Neo
Horse use thinking mode with the same stated sampling settings. Those controls matter more than putting unrelated leaderboard rows side by side. Workbuddy is average over three runs. Some other
agent benchmarks have only one. That limits confidence in small gaps. For your workflow, repeat task with a fixed harness and budget and inspect the delivered artifacts. Keep failed traces,
too. A single neat demonstration can't tell you how reliably the model behaves. Upgraded 4 billion Neo Horse approaches original 9 billion Quen's overall average, 64.87
versus 65.6. But original 9 billion Quen remains ahead on live code bench. Training recovered ground at the smaller scale. That's useful if memory constrains your
choice, though this paper doesn't establish a universal replacement for larger models. At 9 billion, live code bench stays unchanged at 65.14. Another instruction following test is
unchanged, too. I eval slips from 89.46 to 89.09 even as the overall average improves. An aggregate win should send you into the relevant rows rather than end the
investigation. The same unevenness appears in the case studies. In a daily reporting task, upgraded Neo horse gets ticket counts and time-bounded records right according to the authors'
recomputation. But its status table still uses priority labels where status labels belong. You would still need to validate that report before another system relies on it. Size remains useful
after training. In the authors' code repair example, trained 4 billion Neo horse stops without an effective repair loop. Trained 9 billion Neo horse uses execution feedback until the verifier
passes. This compares two trained models, not original versus upgraded Quen. It shows why the title can't become a claim that size never matters. That
leaves the deepest limit, the feedback loop. The authors explicitly say these results cover a single pass. They have not demonstrated gains accumulating across successive generations. More
experience could reveal new weaknesses. Whether training keeps converting them into improvement remains an open experiment. A diagram returning to training can't establish that result.
Neo horse is worth testing if you need a small text-based agent to carry requirements through execution. Targeted post-training improved the reported results without moving up a
model size class. But scores can stall and outputs remain wrong. I would judge the upgrade on your delivery contract with sustained recursive improvement still unproven.
Remember the auditor? Did the agent carry the read me rule all the way into a verified output file? Keep that check fixed when you compare checkpoints. Then ask what the failures
tell you to teach next. That's a practical way to use this paper even while the longer term learning loop remains an experiment.