Position, Role or Label? A Controlled Study of Instruction Conflicts in LLM Agents
Organizations: Department of Computer Science and Engineering, LNMIIT, India · Department of Computer Science, Virginia Tech, USA
Abstract
LLM agents take instructions from the operator, repository configuration, user, tool results and saved memory, which often conflict. Instruction-hierarchy benchmarks ask whether the higher-ranked source wins, but a source sets position, role and label at once. First, we build WhoWins, 1,080 code-scored scenarios in five task types, each with up to five mutually exclusive instructions, and seven controlled experiments that vary only how instructions are delivered. Second, we study 14 open-weight models (0.6B to 122B, thinking off and on) over 1,887,356 scored replies, checking main findings on held-out scenarios. Inside one message the first of two conflicting lines wins 72.42 to 94.66%, and across messages it keeps 22.95 to 62.65%. A policy sent first in the system (or developer) message loses most conflicts with later lines in every Qwen model but wins most on gpt-oss when it acts. In tool and file-write tasks it wins less often than the same text sent first as a labelled user message, in every model-mode. Third, we test whether pairs forecast larger conflicts; forecasts improve in every model-mode once they know where the task line is. Finally, by our keyword patterns at most 2.92% of decided pair replies flag or hedge a conflict.
Figures & tables
| Study | Sources | Order | Role/ label | Msg. split | Sizes | From pairs | Code only | Think off/on | Models |
| IHEval ( Zhang et al., 2025 ) | S, U, H, T | ✗ | ✗ | ✗ | 2 | ✗ | ✓ | ✗ | 13 |
| Control Illusion ( Geng et al., 2026 ) | S, U | 2 | ✗ | ✗ | 6 | ||||
| IH-Benchmark ( McCauley et al., 2026 ) | S, U, T | ✗ | ✗ | ✗ | 2 | ✗ | ✓ | 37 | |
| ManyIH ( Zhang et al., 2026 ) | tags | random | ✗ | ✗ | 2–5 | ✗ | ✓ | 13 | |
| Choose Sides ( Balp-Straffon et al., 2026 ) | S, U | ✗ | ✗ | 2 | ✗ | ✓ | ✗ | 8 | |
| Authority Bias ( Kumar and Chopra, 2026 ) | note , U | ✗ | n/a | ✗ | ✗ | 8 |
| Experiment | What moves | Held fixed | Trials | Replies | Where |
| Ladder | which seats compete (two, three and five at a time) and their order | text; system seats first; each option also asked alone | 12,840 | 38,520 | § 4.2 , § 4.4 |
| Operator | operator line in the real system message or as labelled user text; first or last | text; the opposing seat (user, tool or memory) | 4,320 (3,240) | 12,960 (9,720) | § 4.3 |
| Boundary | user line and memory note in separate messages or inside the task’s message; order | text; roles | 1,080 | 3,240 | § 4.1 |
| Context | instructions bare or inside realistic context; order | text; 50 tool and file-write items | 1,200 (900) | 3,600 (2,700) | § 4.3 |
| Agreement | two or more seats ask for the same option (3 to 5 seats) | text; seats dealt as in the Ladder | 3,240 | 9,720 | App. K |
| Load | number of instructions (2 to 12) and of conflicts | length at each ; one operator message | 100 | 300 | App. O |
| Position | Role and label | Seats | Rule | Forecast | |||||||
| Model | Think | Later wins | 2nd sys. line | First, one msg. | First, sep. msgs. | Operator first | Real label ∗ | Late op. gain | User tool | Tier rule | Seat gain |
| Qwen 3 | |||||||||||
| Qwen3-0.6B | off | 79.01 | 29.50 | 86.48 | 48.48 | 8.86 | 48.75 | 23.91 | 65.49 | 51.32 | 0.009 |
| on | 69.36 | 35.78 | 80.41 | 45.74 | 11.44 | 46.46 | 19.79 | 73.33 | 52.91 | 0.044 | |
| Qwen3-1.7B | off | 83.22 | 30.89 | 90.29 | 34.86 | 7.85 | 31.87 | 31.27 | 57.81 | 57.12 | 0.020 |
| on | 76.11 | 24.24 | 86.17 | 35.95 | 9.98 | 37.81 | 29.45 | 70.56 | 55.94 | 0.051 | |
Appendix figures & tables23 assets
Supplementary material from the paper’s appendix.
Appendix
| Task type | Key read | Example task | Two of its options | |
| Tool | 240 | first tool call | Produce a coverage report for the billing library. | “Measure with cov_line.” / “Measure with cov_branch.” |
| File write | 240 | first write target | Stage the intermediate files while the job runs. | “Stage them in /scratch/a .” / “Stage them in /scratch/b .” |
| Format | 240 | a format label | Emit the response body for the /accounts endpoint. | “Name every field in snake_case.” / “Name every field in camelCase.” |
| Ordering | 240 | order of three steps | Get the repository into a releasable state. | “Run build, then test, then lint.” / “Run build, then lint, then test.” |
| Refusal | 120 | comply or decline | The scratch directory is full and the job is stalling. | “Clear /scratch and continue running.” / “Decline and report disk state.” |
| Seat | Message | Label line |
| \seatchip seatOneFillseatOneLineS1 operator | system (developer on gpt-oss) | Operator policy for this deployment. |
| \seatchip seatTwoFillseatTwoLineS2 repository | the same message | Repository configuration for this workspace. |
| \seatchip seatThreeFillseatThreeLineS3 user | user | none |
| \seatchip seatFourFillseatFourLineS4 tool result | tool reply to config_read | Returned by the config_read tool. |
| \seatchip seatFiveFillseatFiveLineS5 memory | user | Your saved note from an earlier session. |
| Model | Params | Active | Arch. | Precision | vLLM | Thinking |
| Qwen3-0.6B | 0.6B | – | dense | float16 | 0.8.5.post1 | off, on |
| Qwen3-1.7B | 1.7B | – | dense | float16 | 0.8.5.post1 | off, on |
| Qwen3-4B | 4B | – | dense | float16 | 0.8.5.post1 | off, on |
| Qwen3-8B | 8B | – | dense | float16 | 0.8.5.post1 | off, on |
| Qwen3-14B | 14B | – | dense | float16 | 0.8.5.post1 | off, on |
| Qwen3.5-0.8B | 0.8B | – | dense | bfloat16 | 0.28.0 | off, on |
| Qwen, off | Qwen, on | gpt-oss | |
| Thinking | off | on | high effort |
| Temperature | 0.7 | 0.6 | 0.6 |
| Top- | 0.8 | 0.95 | 0.95 |
| Top- | 20 | 20 | 20 |
| Min- | 0.0 | 0.0 | 0.0 |
| Presence penalty | 0.0 | 0.0 | 0.0 |
| World 1 | World 2 | |
| 1/2 | 1/2 | |
| 7/10 | 7/10 | |
| 7/10 | 7/10 | |
| 1/2, 1/5, 3/10 | 1/5, 1/2, 3/10 | |
| Winner of the triple |
| Qwen 3 | Qwen 3.5 | gpt-oss | ||||||||||
| Finding | D | H | Both | D | H | Both | D | H | Both | |||
| Later line wins, free Ladder pairs | 10 | 10 | 10 | 10 | 14 | 14 | 14 | 14 | 0 | 1 | 0 | 2 |
| Second line of one system message loses | 8 | 9 | 7 | 10 | 14 | 14 | 14 | 14 | 1 | 2 | 1 | 2 |
| First-listed wins inside one message | 10 | 10 | 10 | 10 | 14 | 14 | 14 | 14 | 2 | 2 | 2 | 2 |
| First-listed loses across messages | 8 | 8 | 8 | 10 | 8 | 8 | 8 | 14 | 0 | 0 | 0 | 2 |
| One message minus separate messages | 10 | 10 | 10 | 10 | 14 | 14 | 14 | 14 | 2 | 2 | 2 | 2 |
| Model | Think | Later wins | 2nd system line wins | Later wins: follows the task | Later wins: both before the task |
| Qwen 3 | |||||
| Qwen3-0.6B | off | 79.01 [72.99, 85.25] | 29.50 [16.90, 42.34] | 86.29 [79.33, 92.28] | 61.60 [46.72, 75.41] |
| on | 69.36 [64.09, 74.53] | 35.78 [23.01, 49.52] | 74.44 [68.44, 80.39] | 54.47 [42.97, 65.08] | |
| Qwen3-1.7B | off | 83.22 [78.64, 87.57] | 30.89 [20.00, 41.45] | 92.51 [88.55, 95.89] | 63.22 [52.89, 73.28] |
| on | 76.11 [71.78, 80.49] | 24.24 [15.90, 32.65] | 81.62 [77.10, 85.88] | 63.39 [53.68, 72.18] | |
| Qwen3-4B | off | 82.44 [77.93, 86.81] | 30.52 [20.70, 41.20] | 91.24 [86.86, 95.09] | 64.31 [54.12, 73.91] |
| Model | Think | User beats tool | Operator wins (decided) | Operator wins (all usable) |
| Qwen 3 | ||||
| Qwen3-0.6B | off | 65.49 [51.77, 78.77] | 8.86 [6.15, 11.56] | 4.80 [3.40, 6.28] |
| on | 73.33 [63.92, 82.12] | 11.44 [8.61, 14.33] | 5.99 [4.55, 7.55] | |
| Qwen3-1.7B | off | 57.81 [48.05, 67.58] | 7.85 [5.80, 10.19] | 6.36 [4.55, 8.21] |
| on | 70.56 [62.20, 78.72] | 9.98 [7.91, 12.20] | 8.22 [6.50, 10.15] | |
| Qwen3-4B | off | 54.69 [44.31, 65.12] | 10.92 [8.62, 13.49] | 9.09 [7.03, 11.21] |
| Model | Think | Real, first | Label, first | Real, last | Label, last |
| Qwen 3 | |||||
| Qwen3-0.6B | off | 9.85 [7.70, 12.08] | 47.43 [43.09, 51.63] | 35.66 [31.63, 39.66] | 47.12 [43.14, 51.05] |
| on | 18.15 [15.57, 20.88] | 49.19 [45.62, 52.54] | 38.75 [35.47, 42.09] | 51.19 [47.83, 54.62] | |
| Qwen3-1.7B | off | 10.62 [8.65, 12.65] | 36.81 [33.59, 39.85] | 42.69 [39.44, 46.03] | 43.03 [39.65, 46.39] |
| on | 12.61 [10.70, 14.45] | 44.13 [41.30, 46.96] | 42.18 [39.46, 44.97] | 51.10 [48.34, 54.03] | |
| Qwen3-4B | off | 12.57 [10.56, 14.60] | 39.15 [35.96, 42.28] | 43.47 [40.31, 46.65] | 45.73 [42.24, 49.03] |
| Model | Think | Real label, first | Real label, last | Real: last first |
| Qwen 3 | ||||
| Qwen3-0.6B | off | 38.14 [ 43.12, 33.29] | 9.13 [ 12.25, 6.33] | 23.91 [19.99, 28.14] |
| on | 29.50 [ 33.25, 25.72] | 12.41 [ 15.42, 9.50] | 19.79 [16.64, 22.98] | |
| Qwen3-1.7B | off | 25.13 [ 28.50, 21.81] | 0.29 [ 2.38, 1.70] | 31.27 [27.83, 34.61] |
| on | 31.62 [ 34.40, 28.94] | 9.09 [ 11.53, 6.57] | 29.45 [26.74, 32.14] | |
| Qwen3-4B | off | 26.21 [ 29.40, 23.01] | 1.94 [ 4.91, 0.93] | 31.27 [27.58, 34.89] |
| Model | Think | Tool and file write | Order and refusal | Format |
| Qwen 3 | ||||
| Qwen3-0.6B | off | 48.75 [ 54.47, 43.46] | 12.19 [ 22.41, 3.39] | 0.30 [ 12.26, 12.79] |
| on | 46.46 [ 51.79, 41.20] | 15.30 [ 20.45, 10.47] | 2.72 [ 5.85, 11.00] | |
| Qwen3-1.7B | off | 31.87 [ 36.58, 27.34] | 20.10 [ 24.80, 15.23] | 0.99 [ 10.41, 9.27] |
| on | 37.81 [ 41.91, 33.89] | 29.31 [ 33.66, 24.80] | 3.57 [ 11.46, 4.20] | |
| Qwen3-4B | off | 31.47 [ 36.14, 26.83] | 24.41 [ 29.24, 19.41] | 2.64 [ 3.62, 9.82] |
| Model | Think | One message | Separate messages | One separate |
| Qwen 3 | ||||
| Qwen3-0.6B | off | 86.48 [82.95, 89.85] | 48.48 [42.90, 54.08] | 35.46 [29.29, 41.42] |
| on | 80.41 [76.90, 83.69] | 45.74 [41.60, 50.06] | 34.66 [29.81, 39.82] | |
| Qwen3-1.7B | off | 90.29 [87.68, 92.70] | 34.86 [31.00, 38.72] | 55.05 [50.07, 59.58] |
| on | 86.17 [83.62, 88.76] | 35.95 [32.99, 38.92] | 50.13 [45.79, 54.44] | |
| Qwen3-4B | off | 89.50 [86.54, 92.01] | 35.66 [31.96, 39.11] | 54.38 [49.94, 58.55] |
| Operator first | Later wins | ||||||
| Model | Think | Bare | Context | Context bare | Bare | Context | Context bare |
| Qwen 3 | |||||||
| Qwen3-0.6B | off | 4.08 | 19.83 | 16.62 [9.08, 24.68] | 64.15 | 68.07 | 4.04 [ 3.10, 11.56] |
| on | 2.10 | 12.57 | 10.47 [5.60, 16.43] | 54.13 | 68.77 | 14.60 [7.48, 21.24] | |
| Qwen3-1.7B | off | 5.21 | 12.44 | 6.08 [0.48, 11.73] | 67.83 | 76.09 | 8.66 [2.25, 15.78] |
| on | 5.84 | 15.33 | 9.49 [4.21, 14.67] | 69.73 | 64.97 | 4.76 [ 9.56, 0.38] | |
| Log score (nats per reply) | Top-1 (%) | ||||||||
| Model | Think | Uniform | Position | Task-aware | Luce | Seats | Reference | Position | Reference |
| Qwen 3 | |||||||||
| Qwen3-0.6B | off | 1.447 | 1.216 | 1.187 | 1.287 | 1.208 | 1.036 | 47.60 | 50.57 |
| on | 1.435 | 1.269 | 1.235 | 1.262 | 1.225 | 1.102 | 49.19 | 50.62 | |
| Qwen3-1.7B | off | 1.653 | 1.308 | 1.261 | 1.450 | 1.328 | 1.037 | 57.84 | 58.56 |
| on | 1.623 | 1.337 | 1.297 | 1.362 | 1.286 | 1.105 | 55.11 | 55.11 | |
| Model | Think | Position share | Position D H | Position H D | Task-aware share | Seat gain (nats) | Gain D H | Gain H D |
| Qwen 3 | ||||||||
| Qwen3-0.6B | off | 56.17 | 51.77 | 52.83 | 63.21 | 0.009 [ 0.002, 0.019] | 0.009 | 0.002 |
| on | 49.86 | 43.43 | 51.43 | 60.12 | 0.044 [0.034, 0.054] | 0.050 | 0.031 | |
| Qwen3-1.7B | off | 55.97 | 50.95 | 55.24 | 63.58 | 0.020 [ 0.030, 0.011] | 0.017 | 0.025 |
| on | 55.10 | 49.60 | 55.45 | 62.93 | 0.051 [0.037, 0.065] | 0.058 | 0.044 | |
| Qwen3-4B | off | 51.06 | 46.22 | 50.12 | 60.08 | 0.013 [ 0.021, 0.003] | 0.006 | 0.024 |
| Model | Think | Predicted | Observed | Observed predicted | Obs. pred., all usable |
| Qwen 3 | |||||
| Qwen3-0.6B | off | 68.98 | 71.04 | 2.06 [0.37, 3.85] | 8.98 [ 11.03, 6.89] |
| on | 68.04 | 67.84 | 0.19 [ 1.89, 1.40] | 10.15 [ 11.88, 8.46] | |
| Qwen3-1.7B | off | 68.58 | 69.26 | 0.68 [ 0.90, 2.18] | 5.04 [ 7.08, 3.04] |
| on | 68.41 | 69.84 | 1.43 [0.09, 2.69] | 4.92 [ 6.77, 3.07] | |
| Qwen3-4B | off | 68.54 | 75.39 | 6.85 [5.38, 8.35] | 0.14 [ 2.13, 1.87] |
| Tier rule followed | Operator first, system message | Ladder conflicts | ||||
| Model | On off | Cut-off as loss | On off | Cut-off as loss | Off-menu change | Cut-off change |
| Qwen 3 | ||||||
| Qwen3-0.6B | 1.83 [ 1.20, 4.77] | 0.17 | 5.57 [3.24, 8.09] | 3.70 | 0.16 | 0.10 |
| Qwen3-1.7B | 1.21 [ 3.81, 1.61] | 4.92 | 1.07 [ 0.69, 2.72] | 1.67 | 1.82 | 0.17 |
| Qwen3-4B | 12.81 [9.93, 15.93] | 8.02 | 9.02 [6.64, 11.39] | 7.96 | 1.36 | 0.13 |
| Qwen3-8B | 11.05 [8.50, 13.49] | 4.60 | 4.51 [2.57, 6.46] | 4.07 | 1.33 | 0.26 |
| Rule followed by tier gap | ||||||||
| Model | Think | Rule followed | All usable | Gap 1 | Gap 2 | Gap 3 | Gap 4 | Gap 5 |
| Qwen 3 | ||||||||
| Qwen3-0.6B | off | 51.32 [47.59, 54.95] | 25.68 | 50.33 | 50.64 | 52.66 | 51.26 | 54.71 |
| on | 52.91 [50.11, 55.77] | 25.41 | 54.29 | 52.48 | 53.58 | 50.47 | 51.12 | |
| Qwen3-1.7B | off | 57.12 [54.03, 60.19] | 44.50 | 57.91 | 56.51 | 56.65 | 55.64 | 60.12 |
| on | 55.94 [53.58, 58.20] | 39.62 | 55.31 | 54.86 | 56.32 | 58.56 | 57.05 | |
| Usable Ladder conflict replies | All replies | ||||||||
| Model | Think | Chose | Unresolved | Off-menu | Multiple | No action | Unusable | Cut off | No action, all experiments |
| Qwen 3 | |||||||||
| Qwen3-0.6B | off | 51.49 | 34.20 | 3.03 | 0.06 | 11.22 | 0.22 | 0.22 | 21.37 |
| on | 50.43 | 25.06 | 3.19 | 0.01 | 21.31 | 0.37 | 0.12 | 31.59 | |
| Qwen3-1.7B | off | 74.73 | 17.92 | 2.16 | 0.24 | 4.95 | 0.92 | 0.52 | 4.28 |
| on | 78.25 | 16.06 | 3.99 | 0.20 | 1.50 | 1.04 | 0.36 | 2.10 | |
| Model | Think | Flagged or hedged | Earlier wins: flagged | Earlier wins: silent | Flagged silent |
| Qwen 3 | |||||
| Qwen3-0.6B | off | 0.14 | – | 12.30 | – |
| on | 0.27 | – | 17.62 | – | |
| Qwen3-1.7B | off | 0.26 | – | 10.77 | – |
| on | 1.38 | 15.63 | 14.40 | 1.23 [ 10.46, 17.24] | |
| Qwen3-4B | off | 0.59 | 42.86 | 12.91 | 29.95 [ 4.14, 57.08] |
| Model | Think | Groups chosen | : | : | : |
| Qwen 3 | |||||
| Qwen3-0.6B | off | 56.46 | 11.84 [ 42.07, 22.88] | 16.67 [ 25.00, 55.00] | 30.00 [ 66.67, 13.33] |
| on | 36.95 | 4.29 [ 34.05, 21.55] | 18.33 [ 35.00, 3.33] | 36.32 [17.41, 56.67] | |
| Qwen3-1.7B | off | 88.47 | 6.67 [ 21.67, 6.67] | 2.07 [ 23.21, 25.00] | 7.86 [ 7.78, 32.14] |
| on | 86.55 | 1.79 [ 16.67, 17.48] | 21.15 [ 38.89, 5.56] | 37.04 [14.81, 62.96] | |
| Qwen3-4B | off | 96.64 | 3.45 [0.00, 10.34] | 5.00 [ 15.00, 0.00] | 0.00 [0.00, 0.00] |
LLM Agents
Large language model agents use language models to plan, use tools, and act across multi-step tasks and environments.
See all 705 papers