# What are system, user, and assistant roles? Definition and business implications

> Conversation roles (system, user, assistant) are the labels assigned to each message in an exchange with an LLM. The system role defines the model's general behaviour, the user role carries the requests, the assistant role the model's past responses in the conversational history.

## Definition
A call to a modern LLM is not a simple text query, but a list of messages, each labelled by its role. Three standard roles exist: *system* (a permanent behaviour instruction, invisible to the end user), *user* (the message sent by the user), and *assistant* (the model's previous responses, kept to allow conversation continuation). The system role is the most powerful and least used lever. It sets tone, format, ethical constraints, permanent context elements, and forbidden behaviours. Well written, it avoids repeating these instructions in every user message. Misused, it is ignored or contradicted by later user prompts. The assistant role often remains invisible but plays a key role for agents and multi-turn chatbots: it lets the model retain the context of previous exchanges without having to repeat them on every call. Interfaces differ between vendors: at Anthropic, the system instruction goes in a *system* parameter separate from the message list; at OpenAI, the *developer* role carries the developer's instructions and takes priority over the user's.

## Example
Illustrative case. A B2B software vendor deploys a support chatbot for its SME clients. Without a structured system role, the model changes tone depending on the question, occasionally discloses technical information not intended for the public, or cites competitor prices. With a precise system role (“You are the support assistant for [Name]. Reserved professional tone. Do not mention any competitor. Do not provide pricing without an explicit request. If the question exceeds your documentation, route to human support”) and a 500-conversation simulated test, these drifts became much rarer, with no change of model.

## For a leader
“What did we put in the system role of our AI deployment, and who is responsible for it?” This question, asked of your IT director or AI provider, is often the one that reveals the most surprises. Three sub-questions to chain. First, is the system role documented, versioned, validated by the business functions concerned, or is it hidden in a developer's code? The content of the system role legally and operationally commits your company. Second, is it tested against bypasses? Role-evasion attempts (prompt injections, contradictory requests) are a documented operational risk. Third, who validates changes to the system role? If the answer is “the developer of the moment”, this is a governance issue to formalise, on a par with the evolution of a sensitive configuration file.

## FAQ

**What are conversation roles?**
They are the labels assigned to each message in an exchange with an LLM. A call is not a simple text query, but a list of labelled messages: system (the model's general behaviour), user (the requests) and assistant (the model's past responses in the history).

**What is the system role for?**
It is the most powerful and least used lever. It sets tone, format, ethical constraints, permanent context elements and forbidden behaviours. Well written, it avoids repeating these instructions in every message; misused, it is ignored or contradicted by later user prompts.

**Why is the system role a governance issue?**
Because its content legally and operationally commits your company. The right questions to ask: is it documented, versioned and validated by the business functions concerned, or hidden in a developer's code? And who validates its changes? If the answer is the developer of the moment, it is a matter to formalise.

**Does the system role resist bypasses?**
Not automatically: it must be tested. Role-evasion attempts, such as prompt injections or contradictory requests, are a documented operational risk. Testing the system role against these bypasses is part of framing it.

**What is the assistant role for?**
It often stays invisible but plays a key role for agents and multi-turn chatbots: it keeps the model's previous responses, which lets it retain the context of earlier exchanges without having to repeat them on every call.

## See also

- [Prompt](https://wyp.agency/en/glossary/prompt/)
- [Prompt engineering](https://wyp.agency/en/glossary/prompt-engineering/)
- [LLM (Large Language Model)](https://wyp.agency/en/glossary/llm/)
- [Guardrails](https://wyp.agency/en/glossary/guardrails/)
- [Hallucination](https://wyp.agency/en/glossary/hallucination/)

## Sources

- Text generation, developer, user and assistant roles, OpenAI documentation (https://developers.openai.com/api/docs/guides/text)
- Anthropic Messages API documentation, system prompts (https://platform.claude.com/docs/en/api/messages)
- Text generation, developer, user and assistant roles, OpenAI documentation (https://developers.openai.com/api/docs/guides/text)

---
Entry from the WYP.agency AI glossary · https://wyp.agency/en/glossary/conversation-roles/ · Last updated : 2026-10-14
