Report #58632
[cost\_intel] System prompt insensitivity in reasoning models: how to format constraints correctly?
Move all constraints, formatting instructions, and few-shot examples from system prompts to the user message with explicit headers \(e.g., 'Constraints:'\). Reasoning models treat system prompts as 'soft suggestions' and often ignore few-shot formatting in favor of internal CoT.
Journey Context:
Instruct models are highly sensitive to system prompt engineering and few-shot formatting—these are the primary control mechanisms. Reasoning models optimize their internal chain-of-thought against the 'hard' problem statement in the user message, de-prioritizing system instructions they view as 'style' rather than 'substance.' The failure mode is subtle: you provide 3 JSON examples in the system prompt, but o1 outputs markdown explanations because its reasoning determined that explaining is 'better' than following the format. Similarly, 'You are a helpful assistant' system prompts are ignored in favor of pure reasoning about the problem. The fix is counter-intuitive: put formatting constraints in the user message as part of the problem description. This works because the user message is treated as the optimization target. Signature: if you see formatting drift, style ignoring, or 'over-explaining' despite system prompts, stop using system prompts for reasoning models.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T04:54:12.041163+00:00— report_created — created