A one-line prompt is a wish. An operator prompt is a job packet. You would not hire a contractor with "write something good." Do not hire a model that way either.
This lesson gives you one system you can reuse: Role, Constraints, Examples, Eval. Use all four for customer-facing or repeating work. Drop pieces only when the task is cheap and private.
When this system is worth the extra minute
Use the full packet when any of these are true:
- Someone outside your team will see the output
- You will run the same job more than three times
- A wrong answer creates a refund, a legal issue, or a re-do
- You are comparing two models and need an even test
Skip the full packet for throwaway brainstorming you will never send.
The four parts
1. Role
Role is not theater. "Act as a world-class expert" does almost nothing. Role should name the job, the audience, and the decision you are making.
Bad role: "You are a helpful assistant."
Useful role: "You are an operations lead writing for a store manager who has eight minutes before open. They already know the product. They need a decision, not a lecture."
2. Constraints
Constraints are the fences. Put the hard ones first. Soft style notes last.
Hard constraints (the model must obey or the draft fails):
- Facts it may use (and the rule: do not invent the rest)
- Facts it must not touch (prices, legal claims, medical advice, personal data)
- Length, format, and required sections
- What to do when information is missing (ask, flag, or refuse)
Soft constraints (preference, not pass/fail):
- Tone: direct, no pep talk, no exclamation points
- Words you never use in this brand
- Reading level
If you have more than eight hard constraints, you do not have a prompt. You have an unread policy. Cut to the ones that change the output.
3. Examples
One good example beats a paragraph of adjectives. Two examples beat one if they show a boundary: a pass and a fail.
Give the example the same shape you want back. If you want a four-line reply, do not paste a two-page essay as the sample.
4. Eval
Tell the model how you will score the draft. Then actually score it. Eval that lives only in the prompt is decoration.
A usable eval is a short checklist with fail conditions, not "be high quality."
Master packet (copy and fill)
Job: [what done looks like in one sentence]
>
Role: You are [job title] writing for [audience] who needs [decision or artifact]. You are not [the thing you keep becoming: a marketer, a lawyer, a cheerleader].
>
Allowed sources: Use only the text in INPUT. If a needed fact is not there, write NEED: [fact] and stop that section. Do not invent policy, prices, dates, names, or citations.
>
Hard constraints:
- Format: [exact sections]
- Length: [limit]
- Do not: [list]
- If uncertain: [ask / flag / refuse]
>
Soft constraints:
- Tone: [three words]
- Avoid: [banned phrases]
>
Example PASS:
[short sample of the output you would send]
>
Example FAIL:
[short sample of the output you would reject, and why]
>
Eval (score 0 or 1 on each; a single 0 means revise, do not ship):
- E1. Every factual claim is in INPUT or marked NEED.
- E2. Would I send this to a customer with my name on it?
- E3. Format matches the required sections.
- E4. No banned claims or banned phrases.
>
INPUT:
[paste the source, already redacted]
Worked example: refund reply
Situation: a customer says a charger never arrived. Your policy (the only allowed source) is: unopened items, 30 days, prepaid label, no refund on opened cables, replacement if tracking shows delivered and the customer emails a photo of the empty box.
Job: Draft a first-line refund reply the human agent can send or edit.
>
Role: You are a first-line support operator writing to one customer. You are not a lawyer and not a brand voice account.
>
Allowed sources: The policy text and the ticket text in INPUT only.
>
Hard constraints:
- Format: greeting, what we can do, what we need from them, one next step
- Under 140 words
- Do not promise a refund if the policy does not allow it
- Do not invent tracking numbers or dates
- If the ticket is missing order number or purchase date, ask for those and do not decide
>
Soft constraints:
- Tone: calm, specific, no apology essay
- Avoid: "unfortunately," "as per my previous," "we value your business"
>
Example PASS: "Hi Maya — send the order number and the purchase date. If the charger is unopened and the purchase is inside 30 days, I will email a prepaid return label today."
>
Example FAIL: "I've issued a full refund and upgraded you to priority shipping." (Policy never said that. Order data never said that.)
>
Eval:
- E1. No invented order facts.
- E2. I would send this.
- E3. Four-part format.
- E4. No refund promised beyond policy.
>
INPUT:
[policy + ticket]
Run it. Then score it yourself. If E2 is 0, you do not negotiate with the draft. You change the packet or you write the reply.
Decision rules
- If you cannot write E2 as a yes/no, you are not ready to use a model for this job.
- If the job is new, write the FAIL example first. That is usually the mistake you already know you will get.
- If two models disagree, do not average them. Re-run both with the same packet and keep the one that passes eval.
- If you keep adding adjectives ("more professional, more friendly, more punchy"), you are missing a constraint or an example.
Failure modes
- Persona theater: a costume with no job. The output sounds like a keynote.
- Constraint soup: twenty rules, none enforced. The model picks the easy ones.
- Example poisoning: your "good" sample includes a claim you would never allow. The model copies the claim.
- Eval as vibes: "make it better" has no fail condition, so nothing fails.
- Hidden input: you assume the model "knows your brand." It does not. If it is not in INPUT, it is a guess.
Five-case dry run (do this once per repeating job)
Save five real inputs: two easy, two messy, one hostile. Run the same packet. Score all four eval items on each. If more than one case fails E2, the packet is not ready for other people to use.
Keep the five cases. That is your regression set when you switch models.
Download
Printable packet: /downloads/operator-prompt-system-sheet.md
You are done when
You have one filled packet for a job you actually do, five scored cases, and a fail example you would recognize in the wild.