InconclusiveCould not measure on claude-haiku-4-5Could not measure on gpt-5-miniCould not measure on gemini-3.1-flash-lite
Instructions in long prompts
Lost in the middle: does instruction placement matter?
We could not measure this one. The models followed the instruction wherever we put it, so the test could not separate the two.
Why it matters
A test both options pass cannot rank them. Settling this needs a harder task.
Every model scored full marks with and without it, so the task set separated nothing.
What the marks mean
- Could not measure
Show the per-model numbers
Claim tested: Instruction placement at the end of a long prompt beats placement in the middle for compliance.
Could not be measured on claude-haiku-4-5, gpt-5-mini and gemini-3.1-flash-lite.
Circulates in practitioner communities. Tested because it circulates, not because it is endorsed.
This tip is OpenAddict's plain-language read of the measured result. The measurement below is the evidence, and it is what the reading has to answer to.
Ledger idC07-instruction-at-end
What was tested
This claim circulates in practitioner communities as advice about how to write prompts. That it circulates is an input to what gets tested here. It is a reason to test the claim, and it is not evidence for or against it. The result below is the evidence, and it is the only thing on this page that carries weight.
The comparison is paired. Two prompts differ in one respect, the manipulated variable, and are otherwise identical by construction. Nothing here supports a causal reading beyond that pairing.
Result
| Measure | claude-haiku-4-5 | gpt-5-mini | gemini-3.1-flash-lite |
|---|---|---|---|
| Control arm | 1.000n 50 | 1.000n 50 | 1.000n 50 |
| Treatment arm | 1.000n 50 | 1.000n 50 | 1.000n 50 |
| Delta | +0.000 | +0.000 | +0.000 |
| Interval, 95 percent | 0.000 to 0.000 | 0.000 to 0.000 | 0.000 to 0.000 |
| Orbit | Unobservable100 of 100 records | Unobservable100 of 100 records | Unobservable100 of 100 records |
Orbit is assigned by the frozen status_v1 rule. On this scale, deterministic pass rate, 0 to 1, the pass threshold is +0.20 and the failure floor is -0.20, each requiring an interval that excludes zero.
Method for this claim
- Task set
- 10 prompts of roughly 300 words, each built from three filler sections plus one instruction carrying two checkable constraints. Filler text is byte identical between arms; only the instruction position moves. Hardened for instrument v2: v1 prompts ran about 300 words with one instruction and two constraints, and both positions complied every time. v2 prompts run about 700 words across three filler sections, and the filler now contains competing formatting language that a mid-prompt instruction has to survive. The instruction itself carries four constraints instead of two.
- Runs per model per arm
- 5
- Scoring
- Deterministic, via scoreConstraintCompliance. A committed function scores each answer with no model in the loop.
- Pass criterion as written for the pilot
- Treatment full-compliance rate exceeds control by at least 10 percentage points on the same 10 prompts.
The published verdict comes from status_v1, not from the pass criterion above. The criterion is recorded because it is what the claim was registered with before the run.
Model versions, as recorded
| Model | Version string returned | Delta on this claim | Interval |
|---|---|---|---|
| claude-haiku-4-5 | claude-haiku-4-5-20251001 | +0.000 | 0.000 to 0.000 |
| gpt-5-mini | gpt-5-mini-2025-08-07 | +0.000 | 0.000 to 0.000 |
| gemini-3.1-flash-lite | gemini-3.1-flash-lite | +0.000 | 0.000 to 0.000 |
Reading across models
Sampling was not held constant across vendors, so comparing one model column against another compares two settings as well as two models.
gpt-5-mini rejected the fixed sampling setting and ran at its own default on all 1040 of its calls. The other models ran at temperature 0.