Aug 4, 2026

How to write an AI prompt that actually works

RICECO is a six-part structure for writing a great prompt: Role, Intent, Context, Examples, Constraints, Output.

If you want the short version: name who the AI is meant to be, say what a good answer looks like, give it one example, set the limits, and specify the format you want back. Do those five things and most of your "AI is a bit rubbish" problem goes away.

The rest of this explains why, and gives you a template you can paste.

Why do the same prompts give different answers?

Here is the thing that makes people give up on these tools.

You put a set of numbers in front of an AI and ask it the best question there is: what am I missing? You get something useful. You come back on Thursday with the next set, ask exactly the same question, and get something different. Not wrong, just different. A different shape, a different emphasis, and no way of telling why.

Nothing has broken. It has no recollection of Monday, no idea what your business treats as a good margin, and no notion of which of those numbers you are actually judged on. Every session starts from nothing, and you are the one supplying everything that makes an answer good.

Which means the quality of what you get back is mostly decided before you press enter.

What is the RICECO framework?

RICECO is a six-part structure for writing a prompt: Role, Intent, Context, Examples, Constraints, Output. It was created by Max Anh at AI Fire. We did not invent it. We recommend it to our clients because, of everything we have tried, it produces the most consistent results, and because six things you can remember beats a technique you have to look up.



What

What it does

R

Role

Tells the AI who it is, and who it is for

I

Intent

Defines the outcome and what success looks like 

C

Context

Sets out the steps or sections you want it to follow

E

Examples

Shows it one sample input and the ideal output

C

Constraints

Tone, length, the must-dos and the never-dos

O

Output

The exact format, the fields, and the order


What goes in each part?

Role: Give it a persona and an audience. "You are a tax advisor for UK SMEs." Then add the depth of knowledge and the voice: "You have comprehensive knowledge of UK taxation law, you speak in a professional tone, and everything you write is in British English without jargon." This is doing more work than it looks like. It narrows the vocabulary, the assumptions and the register all at once.

Intent:  State the objective, then make it measurable. Not "help me with tax advice" but "give our advisors three varied recommendations they can assess before taking one to a client". Three is the useful word in that sentence. Add any inputs or assumptions you are relying on.

Context: Give it the mini plan you want it to follow. "One, research. Two, review. Three, recommend." Then the actual request: "Write an opening summary, then a list of actionable recommendations in bullet form." This is the part most people skip, and it is the reason answers come back organised one day and rambling the next.

Examples: One good example is worth three paragraphs of description. Show it a piece of work you were happy with. If you have a typical workflow, show it that too.

Constraints:  The non-negotiables and the hard limits. "Only use current UK tax regulations." "Keep it under 1,000 words." "Only use credible sources, and cite them." Constraints are where you kill the habits that annoy you, so be specific about the ones that actually annoy you.

Output: Say exactly what you want back and in what order. Then add a validation step: "Before you give me the final version, check it against every rule above." That last line costs you nine words and catches a surprising amount.

One word worth being careful with

"Context" in RICECO means the steps and structure you want followed. Almost everywhere else in AI, context means something different: everything the model knows about you, your business and your situation when you ask.

Both matter, and they are not the same problem. RICECO's C is about how the answer is built. The other kind of context is about what the model has to build it from, and no amount of prompt structure creates it. Worth holding both in your head, because the second one is where the real ceiling sits.

The template

R: You are a {persona} for {audience}.

I: Your goal is to {goal}. Success = {success_criteria}.

C: Follow these steps: 1) {step1} 2) {step2} 3) {step3}.

E: Example → Input: {short_example_input}

   Ideal Output: {short_example_output}

C: Tone: {tone}. Length: {length_limit}.

   Must include: {musts}. Never: {nevers}.

O: Return {format} with fields [{fields}] in this order.

   End with a quick self-check.

Pin it somewhere you can reach it. Better still, save it as a custom instruction or a project so it is already there.

What does the difference actually look like?

The weak version: "Summarise this meeting."

The RICECO version:

> R: You are a senior note-taker for exec teams.

> I: Create a concise summary and action list for the CEO.

> C: 1) Extract decisions 2) List owners and deadlines 3) Flag risks.

> E: Example action: "Arrange vendor demo. Owner: Priya. Due: 20 Sep 2026."

> C: British English, under 150 words, no jargon.

> O: Two sections: "Key decisions" and "Action items (owner, due)".

What the weak prompt gives you: the meeting discussed the Q4 product launch, marketing showed initial plans, engineering gave an update, everyone talked about risks and agreed to meet again next week.

What the structured one gives you: a dated check-in with four named people, a confirmed 28 November launch, a locked MVP scope, four actions with owners and deadlines, one flagged risk with an owner and an estimated slip, and the next meeting time.

Same meeting. Same model. The second one is usable on a Monday morning; the first is a paragraph you have to redo yourself.

A few things worth knowing

  1. Start small and iterate. Nobody writes a good prompt first time, and the fastest route is telling it what was wrong with the last answer.

  2. When results start drifting, tighten the constraints and the output rather than rewriting the whole thing. It is almost always one of those two.

  3. Swap the persona to match the audience rather than writing a new prompt.

  4. And use one strong example rather than three weak ones.

The failures that are not prompt failures

Before you spend an afternoon on your prompting, it is worth knowing that some of the answers coming back wrong were never a prompt problem.

Ask a properly structured question about how the website is performing and you can still get nonsense, because "the website" is a production site, two subdomains for landing pages and the blog, and an app. Nobody told the model which of those you meant, so it answers confidently about all four at once.

Or the dashboard calls something one name and the system feeding it calls the same thing something else, so what you get back is a real number about the wrong field. Or someone joined eight months ago and started naming things slightly differently, and now half your history sits under one convention and half under another, and the answer quietly changes depending on which period you ask about.

My own favourite is dates. If part of your business writes 04/09 meaning the fourth of September and part of it means the ninth of April, no prompt in the world sorts that out for you. The answer comes back tidy, formatted, confident and wrong.

The pattern is the same every time. The prompt was fine. The thing underneath it was not, and the model has no way of telling you so.

Where a good prompt stops helping

Here is the honest limit, and it is the reason we spend our working lives on this rather than on prompting.

A perfect prompt still starts from nothing. It does not know what you decided last quarter or why. It has not read your board pack, your operating model, or the three attempts you already made at this problem. You supply all of that yourself, every time, and the harder the question the more of it you have to type. So people get good at prompting, and then quietly stop asking the difficult questions, because the difficult ones cost too much to set up.

That ceiling is real, and getting past it is a different kind of work. It means deciding what your organisation actually knows, where that knowledge lives, who is allowed to see it, and how anything built on top of it can show its working when someone asks. That is not a prompting problem.

*The RICECO framework was created by Max Anh at AI Fire and there is a [video explainer] if you prefer.

Helped 100+ leaders decide

Ready to make better decisions?

Book a 30 minute demo and see how Unloq turns your data into decisions you can defend.

What are you interested in?

What’s your biggest AI challenge?

By submitting, you agree to our terms of service.

No sales pressure. Just a working session.

Helped 100+ leaders decide

Ready to make better decisions?

Book a 30 minute demo and see how Unloq turns your data into decisions you can defend.

What are you interested in?

What’s your biggest AI challenge?

By submitting, you agree to our terms of service.

No sales pressure. Just a working session.

Helped 100+ leaders decide

Ready to make better decisions?

Book a 30 minute demo and see how Unloq turns your data into decisions you can defend.

What are you interested in?

What’s your biggest AI challenge?

By submitting, you agree to our terms of service.

No sales pressure. Just a working session.