/p/2026-09-05 · explainer
Paper explainer · 2609.03156 · Jadhav et al.

Each constraint looked fine.
Together they were not.

The prompt you ship is never one instruction. It asks for JSON so your parser can read it, it opens with a persona because someone found that helped, and it says the request is urgent because the endpoint is on an incident path. Each of those, benchmarked on its own, is harmless — a point or two either way. Run all 27 combinations of format, persona and urgency across 164 coding problems and five models, 22,140 graded runs, and the combinations do something the single-factor tests cannot show you. On GPT-4o-mini every one of the eight three-constraint prompts scored below what its own parts predicted, the worst by 12.2 points, and JSON was about twice as costly as XML. On the GPT-4.1 family the same stack costs nothing at all. The damage is a property of the model you happen to be on, and of the prompt as a whole — not of any line in it.

01 · The prompt you actually send

Three ordinary decisions, twenty-seven prompts

The design is deliberately mundane. Three things that get bolted onto a production code-generation prompt, three levels each: how the output must be shaped, who the model is told it is, and how much pressure the request carries. Twenty-seven combinations, every one of them run against the same 164 problems, with greedy decoding so nothing moves between runs except the wrapper.

Interactive · build the prompt

The scoring separates two ways a run can fail. A format-aware extractor pulls the code back out of whatever envelope was requested, so a model that wrote a correct function but broke the JSON is counted as a formatting failure rather than a reasoning one. Both still count as a failure of the call — which is also what happens in your service — but the split means the paper can say which kind of damage a constraint does.

Interactive · the unconstrained baselinecorrect on first attempt, no wrapper at all
0100%
bare prompt
no format, no persona, no urgency
spread across all 27

Look at that spread before anything else. On the two GPT-4.1 models the wrapper is worth about six points end to end — noise you would never chase. On GPT-4o-mini it is nearly fifteen, and on the reasoning model it is thirty-two. Whether prompt shape matters at all is itself a property of the model.

02 · One at a time

Test each constraint alone and you learn almost nothing

This is the part that makes the result awkward. Take the same 22,140 runs and average them the ordinary way — all runs with JSON against all runs without, all runs with an expert persona against all runs without — and the constraints look small and mostly benign. A couple of points here, a couple there. Nothing you would write a ticket about.

Interactive · pick a model and a constraint
60%95%
worst level minus best
how much this one constraint moves the model, on its own
direction

Urgency framing, read this way, is mildly positive on every model tested — telling GPT-4o that production is down is worth about three points over saying nothing. XML output is positive too. An expert persona is worth roughly nothing. If you ran the obvious ablation, one factor at a time, you would conclude that this whole family of prompt decorations is a rounding error and move on.

03 · Together

Stack all three and the floor drops out from under the prediction

Here is the arithmetic the paper hangs on. Take the bare baseline, add the three single-factor effects you just measured, and you have a prediction for what the combined prompt should score. Then measure the combined prompt. The difference between the two — what the parts said would happen, and what happened — is the interaction. If constraints were independent it would be zero.

Interactive · assemble a three-constraint prompt
GPT-4o-mini GPT-4o
what the parts predicted
baseline plus the three single-factor effects
what the prompt scored
the same three constraints, sent together
predicted from the partsmeasured together

On GPT-4o-mini all eight three-constraint prompts land under their prediction, by 7.6 points on average and 12.2 at the worst — a JSON envelope, an expert persona and a be-thorough line, three things nobody would think twice about shipping. The format asymmetry is stark: JSON combinations average 10.7 points below prediction, XML combinations 4.6. Whatever the JSON envelope costs the model, it costs more when there is other instruction in the way.

GPT-4o is the interesting middle. Its JSON combinations are nearly additive — within a point, one of them slightly positive — while its XML combinations are the ones that break, running 6.7 to 8.5 points under prediction. Same vendor, same generation, opposite failure surface. There is no rule here you could carry from one model to the next.

The gaps are large enough to survive a significance test rather than being an artefact of 164 problems. On GPT-4o-mini, the best single-constraint prompt against the worst triple is an odds ratio of 3.67 with a 95% interval of 1.49 to 9.04 and p = 0.004. On GPT-4o, moderate urgency alone against JSON with a generic persona gives an odds ratio of 6.25, interval 2.18 to 17.96. On GPT-4.1-mini no pairwise comparison reaches significance at all.

04 · Which models

It tracks the family, not the size

The natural guess is that small models are brittle and large ones are robust — that this is a capacity problem you buy your way out of. The data does not support it. GPT-4o-mini and GPT-4o differ substantially in size and both degrade. GPT-4.1-mini and GPT-4.1 differ by the same kind of gap and neither does. The line falls between the two families, not across the size axis inside them.

Interactive · step through the four modelsof the eight three-constraint prompts, how many landed below prediction
0 of 88 of 8
average gap below prediction
reading

The fifth model goes the other way entirely, and it is worth a paragraph on its own. o3-mini is the weakest of the five when you hand it a bare prompt and the strongest of the five once you constrain the output. A structured-output requirement does not compete with its reasoning; it appears to organise it.

Interactive · turn the output constraint ono3-mini · the same 164 problems
bare prompt JSON output required
correct on first attempt
best of all 27 conditions
the ceiling this model reaches under some wrapper
0100%

So there is no safe default. "Always ask for JSON" is right on one of these five models, roughly free on two, and expensive on two. The only thing that transfers between them is the method: measure the prompt you are actually going to send.

05 · For your own product

Put the whole wrapper in the eval illustrative

The practical shape of this is a testing problem, not a prompting one. Almost every prompt-quality process in production tests factors: someone changes the persona line and reruns the eval, someone adds a JSON envelope and reruns the eval. Each change passes. The prompt that ships is the sum of all of them, and nobody ever ran that one.

Interactive · how many prompts you would have to runillustrative · three levels per constraint, as in the paper
one factor at a time
what a factor-by-factor process actually covers
every combination
the full grid, if you wanted it

The full grid gets expensive fast, and the paper does not claim you need it. What it establishes is that the single-factor result is not evidence about the compound one, so the minimum honest test is the prompt as assembled. Pick a request and compare the two habits.

Interactive · pick a change, then switch how it was testedillustrative

The scenarios above are illustrative — the paper measures prompts, not release processes. What it measures is the premise underneath them: that a constraint's effect measured alone tells you close to nothing about its effect measured in company, on at least two of five widely used models.

The numbers

What the paper actually reports

What this does not show

In practice