TL;DR
First-Person Structured Prompting is a decision-simulation method that splits the prompt into five components: the persona of the simulated person (age, job, education), the external context (what's happening around them), the internal state (level of worry, fear, confidence), the environment's rules (constraints, policies) and the task (what to predict). The prompt is written in the first person — not "simulate a person", but "You are Alex, 34, an entrepreneur...". This forces the model to reason from inside the role instead of describing it from the outside.
Models are bad at predicting human behavior when the prompt describes the situation abstractly ("a person under risk"). Without a specific persona and a subjective state, the model falls back on averaged patterns — you get a "statistically average answer" that ignores the fact that a 24-year-old startup founder and a 55-year-old government official will make different decisions in the same situation. A study on COVID-19 pandemic data showed that a structured prompt with an explicit worry level predicts protective behavior 9% more accurately than a prompt without a state.
The method works in two modes: static (predict a decision at a single point in time) and dynamic (first update the internal state for new circumstances, then predict how behavior changes). Dynamic mode = two sequential requests: the first updates the state, the second generates the decision based on the updated state.
Want this for your own case? Apply this study to your task: AI adapts its method to what you are working on and writes the prompt.
Method Blueprint
Static mode (one decision):
Components → Prompt → Decision probability
Components:
1. Persona: {name, age, job, education}
2. Context: {what's happening in the outside world}
3. State: {level of worry/fear/confidence on a scale}
4. Rules: {constraints, policies, norms}
5. Task: {predict the probability of action X}
Runs in a single prompt.
Dynamic mode (how the decision evolves):
STEP 1: Update the state
Input: {persona, context changes, rule changes, old state}
Output: new state level
STEP 2: Predict the behavior
Input: {persona, new context, new rules, new state}
Output: probability of action X
Two sequential requests.
Example
Task: Predict how a customer will react to a subscription price hike — renew, or leave for a competitor. You want to play out scenarios for different segments and conditions.
Prompt (static mode):
You are Emma, 29, a marketer at an e-commerce company. You have a middle income and live in Chicago.
Context: You've been using an analytics service for 8 months. The service is raising its price from $15 to $22 a month. Competitors offer similar features for $18, but you'd have to migrate your data and set everything up from scratch.
Your satisfaction with the service: 7 out of 10. You've run into bugs now and then, but overall it does the job. Switching to another tool would take 3-5 days of setup and team training.
Environment rules: Your company's tooling budget is limited. Any expense above $20/month needs your manager's approval.
Estimate the probability (from 0 to 1) that you will:
1. Renew the subscription at the new price
2. Switch to a competitor
3. Drop tools like this altogether
Explain the reasoning behind your decision.
Result:
The model will give three numbers (say, 0.65 / 0.30 / 0.05) with a rationale: why renewal is likely (switching costs time, satisfaction is acceptable), but there's a churn risk (the price is above the competitor's, approval is needed). Run it for different personas (a startup founder on a tight budget, a corporate manager with room to spare) and the numbers change — the model takes the role's context into account.
Dynamic mode (evolution):
You add a second scenario: a month later the service ships a new feature (automatic reports for presentations) that Emma had been asking for. First you ask: "How did your satisfaction level of 7/10 change with this feature?" The model updates the state (say, to 8.5/10). Then you rerun the static-mode prompt with the new level — and the renewal probability jumps.
Why It Works
The LLM's weakness: Without structure, the model averages — "a typical person in this situation would do X". It doesn't know whose choice it is or what emotional state they're in. The result is a fuzzy prediction: yes and no and maybe.
The LLM's strength: The model reasons brilliantly in the first person when given a specific role. It can hold a persona and account for nuance ("I'm 29, I'm a marketer, my budget is tight") far better than an abstract "middle-aged user". The first person triggers more coherent reasoning — the model doesn't describe the behavior from the outside, it lives it from the inside.
How the method exploits this: The five components (persona, context, state, rules, task) remove ambiguity — the model knows who is deciding, what is going on around them, how they feel, what the constraints are and what to predict. First-person wording ("You are Emma...") switches on inner-monologue mode instead of outside analysis. Dynamic mode adds realism: first the state shifts (worry went up / down), then the decision shifts — just like with people.
Levers you control:
- State level (satisfaction 7/10 vs 4/10) — the lower it is, the higher the chance of churn. Test different levels to find the tipping point.
- Rule detail — the more constraints (budget, approvals, deadlines), the more conservative the decisions. Remove the rules → you see the "ideal choice"; add them → the realistic one.
- Number of runs — the study used 10 repeats and averaging. For a quick test 1-3 is enough; for accuracy, 5-10. The model is stochastic; averaging smooths out the randomness.
- Scenario contrast — feed in sharply different contexts (crisis vs stability) to see where the decision holds up and where it breaks. The study tested 120 parameter combinations — it scales well.
Prompt Template
Static mode (one decision):
You are {name}, {age}, {job}. {1-2 sentences about the persona: education, lifestyle, values}.
Context: {What's going on around them? Describe the situation concretely: numbers, deadlines, alternatives}.
Your level of {emotion/state}: {number} out of 10. {1 sentence on why it's at that level}.
Environment rules: {Constraints, policies, norms that affect the choice}.
Estimate the probability (from 0 to 1) that you will:
1. {Action A}
2. {Action B}
3. {Action C}
Explain the reasoning behind your decision.
What to fill in:
- {name} — a specific name (Alex, Emma), not "a person". The name anchors the persona.
- {emotion/state} — level of worry / satisfaction / confidence / fear — whatever is relevant to the task.
- {context} — specifics: numbers, dates, facts. Not "a bad situation" but "revenue dropped 30% this quarter".
Dynamic mode (evolution):
STEP 1 — Update the state:
You are {name}, {age}, {job}.
A month ago your level of {state} was {old number} out of 10.
Since then, things have changed:
- {context change 1}
- {context change 2}
- {rule change}
What is your level of {state} now? Give a number from 0 to 10 and explain why it changed.
STEP 2 — Predict the decision: Use the static-mode template, plugging in the new state level from Step 1.
🚀 Quick start — paste into the chat:
Here's a First-Person Structured Prompting template for simulating decisions. Adapt it to my task: [describe the task — who you're simulating, what you're predicting, under what conditions].
Ask me questions to fill in the components: persona, context, state, rules, task.
[paste the template above — static or dynamic, your choice]
The LLM will ask for persona details, what's happening around them, and which internal state to factor in — because the method needs specifics in all five components. It will take the structure from the template and fill it in for your task. No need to understand the mechanics — copy, ask it to adapt, get a working prompt.
Limitations
⚠️ Needs repeated runs: The model is stochastic — a single run can produce an outlier. The study used 10 repeats and averaging. For a quick test 3-5 runs will do, but token costs add up.
⚠️ Dynamic mode = two requests: First update the state, then predict the behavior. Inconvenient if you need an instant answer. You can merge them into one prompt ("first update the state, then predict"), but accuracy drops — the model holds the logic less well when everything is lumped together.
⚠️ Not for abstract tasks: The method is about specific decisions by specific personas. If the task is "assess the overall market trend" or "give advice without context", the structure is overkill. It works when there's a clear role, situation and state.
⚠️ Numeric states are subjective: "Worry level 7/10" — what does that mean? For one person 7 is panic, for another it's mild concern. The study handled this with surveys (Likert scales); in direct use you'll have to calibrate it yourself or add a description ("7 out of 10 = you think about it often, but it doesn't paralyze you").
Resources
From Risk Perception to Behavior: Large Language Models-Based Simulation of Pandemic Prevention Behaviors
Bo, Chen, Chen et al. — Tsinghua University, Microsoft Research, 2025