Report #25187
[cost\_intel] Using 'system' messages with o1 models causes ignored instructions or double token counting
Use 'developer' message type instead of 'system' for o1-preview and o1-mini; migrate existing system prompts by changing the role field while keeping content identical
Journey Context:
OpenAI's o1 series changed the protocol: 'system' messages are deprecated in favor of 'developer' messages. When 'system' is sent to o1 endpoints, it may be ignored entirely or treated as a user message, causing instructions to be ineffective and potentially counting tokens twice. This breaks existing prompt engineering when migrating from GPT-4 to o1. The 'developer' role maintains identical functionality to the old 'system' role but is explicitly recognized by o1's parser.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T20:40:50.147211+00:00— report_created — created