Role prompting is the pattern where you tell the model who it is before you tell it what to do. "You are a senior backend engineer reviewing a pull request." "You are a copy editor at a science magazine." "Act as a contracts lawyer." The shape is everywhere, and most of the time it is doing less than people think.

When the role earns its tokens

The role helps when it implies a specific way of working that the model has clearly seen during training:

  • Copy editor: implies tightening prose, fixing typos, respecting voice. A real register.
  • Code reviewer focused on X: implies looking for X-class bugs first. A real method.
  • Contract lawyer: implies clause-level reading, risk allocation language, defined-term tracking.
  • Technical writer: implies inverted pyramid, scannable structure, audience-aware vocabulary.

In each case, the role tells the model which subset of its training distribution to draw from. That is real value.

When the role is decoration

The role does nothing when it does not narrow the response distribution in any specific way:

  • "You are a world-class expert."
  • "You are 200 IQ."
  • "Act as the best engineer who has ever lived."
  • "Pretend you have a PhD in everything."

These prompts contain no method, no register, no audience. The model nods politely and answers the same way it would have without them.

How to write a role that works

A good role has three pieces:

  1. The role itself, narrow enough to imply a method.
  2. The audience or context, so the model knows the register.
  3. The constraint, so the model knows what to prioritize.

Example:

You are a code reviewer for a 4-person Python team that ships a billing service. You care about correctness, race conditions, and readability — in that order. Skip nitpicks about style. Flag any change that touches money math.

Notice what this does. It picks a register (engineering, not pedagogy). It picks an audience (small team, in production). It picks a priority order (correctness > races > readability). And it picks a no-go zone (style nits).

Compare to "You are a senior engineer. Review this code." Both prompts will produce a code review. Only one of them will produce the kind of review you wanted.

The honest test

Before you ship a prompt with a role, ask: if I removed the role line, what would change about the answer? If your honest answer is "nothing material," delete the role. You are not losing anything; you are losing performative tokens.

The pattern is real. It is just narrower than the marketing suggests.