At least as recently as the 0613 models, I found gpt-3.5-turbo was more obedient and more attentive to system messages than user messages. In particular, I had better luck getting the model to obey multi-part instructions when it was in system message. Has this changed with 1106?
As a bit of context, with text completion model prompting, it was more common to send portions of a pre-defined conversation to an LLM as part of your prompt because the model behavior (pre “Chat” models) was focused on “completing” the pattern. You could get more consistent results by providing the first 2-3 parts of the exchange, then asking for the model to produce the last part.
You can still prompt a Chat model this way with fabricated conversation, although they are better at understanding intent, and generally don’t need it as much. But assistant messages are still relevant because they inform the model as to what has been previously stated by each speaker.
My highly non-technical mental model for this is:
- Assistant Message: Responses from the model. Informs future responses, but is least authoritative.
- User Message: Input from the User - medium authoritative, can steer the model contrary to Assistant Messages, unless asking for some answer prohibited by model guardrails, or contrary to System Message.
- System Message - Most authoritative. Model is most attentive to, and tries hardest to obey.
of course, there are many ways to “jailbreak” a model into acting in a manner contrary to System Message, but it will try at least initially.