Aurelio logo

OpenAI Roles

OpenAI's chat completion API supports various roles, each with differing functions and authority levels. The roles are as follows:

  • developer is where instructions are provided to the model. This role was previously called system but for all models since the o1 release, it is now called developer.

  • user is the role of the user of the model.

  • assistant is the role of the assistant, typically used for LLM generated responses.

  • tool indicates the output from a tool call.

  • platform is used by OpenAI. It mostly covers prohibitive rules and policies.

Role Authority Levels

Each role has a different authority level, those are as follows:

  1. platform has the highest authority level, it cannot be overridden by anyone including developers building on top of OpenAI's API.

  2. developer is the second highest authority level, it is where we define specific use-case instructions and LLM behavior.

  3. user is the third highest authority level, these are naturally instructions or queries from the user.

Beyond these authority levels, there are also no authority messages. This includes assistant messages and all untrusted data, ie tool messages, quoted text, or multi-modal content like images.