A Strong Model Can Scaffold a Weak One Without Any Retraining
A new arXiv paper shows a capable model can write inference-time harnesses that nearly double a weaker model's accuracy on Theory-of-Mind tasks, no fine-tuning required. Here is what actually drove the gains and how a builder would use it.
TL;DR: A strong model can hand a weaker model most of its performance by writing scaffolding code around it at test time, and the paper shows the gain comes from moving fragile reasoning into deterministic code, not from making the weak model think harder.
The paper is “AI4AI at Test-Time: Strong-to-Weak Capability Transfer via Harnesses,” posted to arXiv across cs.AI, cs.CL, and cs.LG. The core claim is narrow and interesting: you can transfer capability from a strong model to a weak one without touching the weak model’s weights. No teacher forcing, no on-policy distillation, no gradient updates at all. Instead, the strong model plays the role of a builder. It writes an inference-time harness, a wrapper of code and prompting, that the weaker target model runs inside. Average target performance across four Theory-of-Mind benchmarks went from 0.49 to 0.91. That is close to doubling, and it happened at test time.
I want to be careful here because the headline number is easy to over-read. This is four benchmarks, all in one domain, with a specific setup. But the mechanism the authors identify is the part worth your attention, and it lines up with what a lot of people building agents have quietly noticed already.
What is a harness and why does it move the numbers so much?
A harness, in this paper’s usage, is the code and structure wrapped around a model call. The builder model gets 5% of the benchmark data as a validation set, iterates on its harness over multiple rounds, and then the finalized harness is evaluated on the full test set. So the builder is not just writing one prompt. It is refining a small program that routes, formats, and constrains what the weak model does.
The authors are explicit about where the gains come from, and this is the useful part. It is not that the weak model reasons more extensively or samples more broadly. Three things did the work:
Offloading unstable reasoning into deterministic code. When a step can be computed rather than guessed, the harness computes it. The model stops improvising the parts that a function can nail every time.
Benchmark-specific routing. The harness recognizes what kind of problem it is looking at and sends it down the right path.
Strict answer-format enforcement. A lot of apparent “wrong answers” from weak models are correct reasoning wrapped in a format the grader rejects. Clamp the output and those points come back.

Read that list again and notice what is not on it. The weak model did not get smarter. The harness got smarter around it. That distinction matters because it tells you the gains are structural, not cognitive. You are not unlocking hidden reasoning in the small model. You are removing the places where its reasoning falls over.
Is this actually distillation, or something else?
The paper frames it as a complement to training-time distillation, and I think that framing is fair. Classic distillation bakes the teacher’s behavior into the student’s weights. What survives is a compressed version of the teacher’s function. Here, nothing is baked. The “knowledge” lives in the harness, the code artifact the strong model produced.
That is a real difference with real tradeoffs. On the plus side, there is no training run, no dataset curation, no risk of catastrophic forgetting, and you can swap the target model tomorrow. On the minus side, the transfer is local to the tasks the harness was built for. A distilled student generalizes, at least somewhat, to nearby tasks. A harness tuned on four Theory-of-Mind benchmarks is, by the paper’s own account, doing benchmark-specific routing. That is a polite way of saying it was fit to those benchmarks.
So I would not call this a replacement for distillation. It is a second axis. Training-time methods move capability into the model. Test-time harnessing moves capability into the wrapper. Different artifacts, different failure modes, and for a builder, different costs.

Which findings generalize and which are probably setup-specific?
A few secondary results from the paper are worth separating by how much I would trust them.
Builder-model reasoning effort improves harness quality monotonically. More thinking from the builder, better harness, consistently. This one I believe generalizes, because it matches the obvious intuition: the harness is a program, and a better programmer writes a better program. It also implies the builder is the bottleneck, not the target.
Weaker target models receive the largest gains. Also intuitive and probably durable. If most of a weak model’s failures are format slips and unstable intermediate steps, a harness that fixes exactly those things has more room to help. A strong target already gets those right, so there is less to recover.
Platform effects are modest relative to the builder’s own capability. Meaning which platform runs the model matters less than how good the builder model is. I would hold this one more loosely. It is plausible, but it is the kind of claim that depends heavily on the specific models tested, and the abstract does not name them.
And the big caveat the paper is honest about by construction: four benchmarks, one domain, Theory-of-Mind. That domain is a good stress test for reasoning that goes wrong in subtle ways, which is exactly the kind of failure a harness fixes well. Whether the same near-doubling holds on messier open-ended tasks, where you cannot write clean deterministic checks, is an open question. The mechanism suggests it would help less where the reasoning cannot be offloaded to code.
What does this mean for someone shipping with a small model?
Here is the operator translation. Most teams reach for a small model to save money, then get frustrated when it is flaky, then either give up and pay for the big model or start fine-tuning. This paper points at a third move that most people skip: use the big model once, as a builder, to write the scaffolding, and then run the cheap model inside it in production.

The catch most readers will miss is that the strong model’s job here is not to answer questions. It is to write code and structure. That is a fundamentally different prompt than “solve this task.” You are asking your best model to be an engineer, not an oracle: figure out which sub-steps can be made deterministic, what the output format must be, and how to route different inputs. The paper’s own analysis says that is where the points came from.
So concretely: take a task your small model fails on inconsistently. Give your strongest model a slice of labeled examples, maybe the same 5% the paper used, and ask it to write a harness, a wrapper with real code that pins down formatting, computes what can be computed, and routes by problem type. Iterate the harness against your validation slice. Then freeze it and run your cheap model inside.
The trap is over-fitting the harness to your eval set and calling it a win. Benchmark-specific routing is a feature in a paper and a liability in production if your real traffic drifts from your eval distribution. Hold out data the builder never saw, and watch whether the gain survives contact with inputs the harness was not tuned on. If it does, you just bought big-model reliability at small-model cost. If it does not, you learned that cheaply, which is the whole point of doing this at test time instead of in a training run.