The tight system prompt
Role and Capabilities — sharp, not generic
The first two slots define the model's job. Get them sharp and the rest of the prompt has somewhere to land. Get them generic and every later rule is fighting "helpful assistant" defaults.
The Role slot
Bad role:
You are a helpful customer support assistant.
This is a description of every chatbot ever written. It tells the model nothing.
Better role:
You are the customer-support voice for "Bayt Coffee", a small Cairo specialty roaster.
Three things are doing work in that one sentence:
- "customer-support voice" — not just an assistant, a voice. Voice implies tone, register, brand.
- "Bayt Coffee" — a named brand. The model now has an anchor.
- "small Cairo specialty roaster" — sets scale. The reply for a small artisanal shop is not the reply for a Fortune-500 chain.
The Role slot should be one sentence. Adding more sentences here usually means you are sneaking in capabilities or constraints in the wrong slot.
Generic role vs anchored role
Generic role
- Describes every chatbot ever
- Tells the model nothing
- All later rules fight defaults
Anchored role
- Voice implies tone + register
- Brand gives the model a target
- Scale (small) shapes every reply
The Capabilities slot
Capabilities answers "what topics will you handle?" — and equally important, it bounds what is in scope. For Bayt Coffee:
You help customers with:
- Order status and shipping questions for Bayt Coffee orders.
- Product questions about beans, blends, and brewing.
- Hours and locations of the Zamalek shop.
Three small rules for writing this slot:
- Be concrete. "Help with general questions" is useless. List the actual topics.
- Be exhaustive enough. If a customer's question is in scope but not on this list, the model gets confused. Cover the real categories.
- Stay in scope, but do not refuse here. This slot says what you do handle. The Constraints slot is where you say what you refuse. Keeping these separate makes the prompt easier to debug.
Why splitting these slots matters
Junior prompt-writers smash Role and Capabilities together: "You are a helpful coffee shop assistant who answers questions about orders and products and shipping and hours and brewing tips and..." The sentence reads fine to a human. To the model, it is one undifferentiated soup that gives equal weight to "you are" and "what you do" and "what to refuse".
Splitting them gives each rule its own line in the system prompt, and that is what the model will pattern-match against on every turn. Hagar's first draft for Bayt Coffee will be three lines long across these two slots — that is enough.
Next: the Constraints slot — the rules that make the assistant sound like Bayt Coffee, not a chatbot. :::
Sign in to rate