Where should a stable role such as "You are a tax analyst" go?
Why A is the answer
In the top-level system parameter
Setting a role in the system prompt focuses behavior and tone. It also stays stable, which helps prompt caching.
In detail
- A role in the system prompt focuses behavior and tone.
- It stays stable across requests, which also helps prompt caching.
- Keep changing details out of the role line.
Use case
An illustrative scenario, not a real incident.
A tax tool sets "You are a tax analyst" in the system parameter. It holds for every turn, and because it stays fixed, it also helps caching.
See it in different ways
mindmap
root((Prompt))
System
Role
Stable rules
Examples
3 to 5
Varied
Documents
In XML tags
Task
Clear requestflowchart TD
Q{"Does it change between requests?"}
Q -->|"No"| A0["System prompt"]
Q -->|"Yes"| A1["User message"]Key point: Stable roles belong in the system prompt.
Why the other options are wrong
- B. In a tool description
- A tool description explains a tool, not the assistant's role.
- C. In the stop_sequences list
- stop_sequences end generation at given text.
- D. In every user message
- Repeating it in every user message mixes it with changing content, and works against caching.

