Report #49384
[synthesis] Model ignoring system prompt formatting instructions when user prompt conflicts
To guarantee JSON output across models, do not rely solely on the system prompt. Put the 'Respond ONLY in JSON' instruction in the user prompt, and for GPT-4o, use response\_format, and for Claude, use the prefill trick.
Journey Context:
When a system prompt says 'You are a JSON API' but the user prompt says 'Tell me about cats', models resolve the conflict differently. GPT-4o heavily weights the system prompt but might still wrap JSON in markdown. Claude 3.5 Sonnet often prioritizes the user's conversational tone, ignoring the JSON constraint and returning plain text. Gemini often compromises by returning a story inside a JSON object. No single prompt placement guarantees cross-model compliance. The synthesis is that cross-model agents must use model-specific API features \(response\_format for OpenAI, prefill for Anthropic\) rather than relying on prompt placement alone.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T13:22:25.895398+00:00— report_created — created