Persona prompt
The same request written as four kinds of person. It changed the category leader in 14 of 18 categories, which is the cheapest split.
A persona prompt is a request written as a specific kind of person rather than as a neutral instruction. It exists because who is asking changes what gets installed.
The four personas
| Persona | How they ask |
|---|---|
| Vibe coder | Describes a symptom, never names the category or a vendor |
| Junior developer | Names the category, never a vendor |
| Senior engineer | Names the category, adds constraints |
| Enterprise team | Adds procurement, compliance and policy constraints |
The same underlying need, four ways:
- "People keep signing up with fake emails."
- "I need bot protection on the signup form."
- "I need bot protection that does not need a third party cookie and works behind our proxy."
- "And it has to be in our vendor list, with an audit log and data residency in the EU."
Why it matters
Across 5,292 judged sessions in 18 categories, the category leader changed with the persona in 14 of them.
| Category | Vibe coder picks | Enterprise team picks |
|---|---|---|
| Storage | Amazon S3 | Azure Blob Storage |
| Authentication | Google Identity | Microsoft Entra ID |
| Observability | Better Stack | Grafana |
| Serverless | Cloudflare Workers | Azure Functions |
Those are not small differences. They are different vendors winning different markets inside what a dashboard would report as one category.
The clearest single pattern: adding procurement language moved the answer to a Microsoft product in four separate, unrelated categories. The mechanism is not mysterious. Enterprise language contains words like audit, retention, residency and single sign-on, and those words appear densely in the documentation of vendors who sell to enterprises. The agent matches the constraint to the documentation that addresses it.
The rules that keep it honest
Freeze the wording before running anything. Wording moves the result, so you want to measure that rather than be surprised by it. We ship each request in several wordings, labelled, so the variance is visible.
Never name a vendor in a prompt. The moment a prompt names one, you have measured your own suggestion.
Add a capability, never request a migration. A migration request has an incumbent baked into it, which is a different experiment.
Lint the vibe coder prompts. They must fail if the category word appears. Without a linter this rule quietly erodes.
Name every maker when a category includes the agents' own vendors. In agent frameworks we name the makers in alternating order, checked by a linter, because otherwise the ordering itself is a variable.
What to do with the result
Report install share per persona, not as a single number.
Then write for the personas you actually sell to. If you sell to enterprises, your documentation needs real pages on audit logging, data residency, retention and single sign-on, not a compliance link in the footer. If you sell to individuals, it needs pages in symptom language.
A page that tries to address all four addresses none of them clearly, and in our data the products that led a persona were the ones whose documentation obviously spoke to that persona's concerns.
Common questions
What is a persona prompt?
A request written as a specific kind of person rather than as a neutral instruction. The four we use are a vibe coder describing a symptom, a junior developer naming the category, a senior engineer adding constraints, and a senior engineer at a large company adding procurement rules.
Why write requests as personas?
Because the persona changes the answer. In our data the category leader changed with the persona in 14 of the 18 categories measured, which means a single blended number averages markets that behave differently.
What is a vibe coder persona?
A person who describes a symptom without naming the category or any vendor. For example people keep signing up with fake emails, rather than I need bot protection. It is the hardest persona for a vendor because the agent has to translate the symptom first.
How do you keep persona prompts honest?
Freeze the wording before running anything, never let a prompt name a vendor, add a capability rather than requesting a migration, and lint the vibe coder prompts to fail if the category word appears.
Where this comes from
Armature ran 5,292 judged sessions with Claude Code, Codex and Cursor inside 51 realistic codebases, and published every run. The numbers on this page come from that work.