Report #95192
[counterintuitive] Putting all task instructions in the system prompt and treating it as the primary control surface
Split instructions strategically: system prompt for persistent identity, guardrails, and stable behavioral constraints; user message for task-specific instructions, context, examples, and format requirements. In multi-turn conversations, reiterate critical constraints in the user message at the point of need rather than relying on the system prompt alone.
Journey Context:
The system prompt was designed as a high-priority instruction channel, and developers gravitated toward putting everything there. This works for simple single-turn interactions but degrades in practice: \(a\) long system prompts suffer from the 'lost in the middle' attention problem—instructions buried in the middle of a long system prompt are less reliably followed, \(b\) in multi-turn conversations, the system prompt's influence attenuates as the conversation grows—the model attends more to recent messages, \(c\) some model implementations weight system and user messages differently, and for the immediate task, user-message instructions can have more direct influence on generation, \(d\) Anthropic's documentation explicitly notes that for task-specific instructions, the user message can be more effective. The system prompt is for who the model is; the user message is for what it should do right now.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T18:21:29.668212+00:00— report_created — created