Writing a System Prompt — the 5 Rules
The system prompt is by far the strongest quality lever of your Zeptix bot. A well-written personality can deliver brilliant answers with a minimal knowledge base. A poor personality makes even a perfect knowledge base boring.
In this article you'll learn the five rules that let you build a sharp system prompt for your bot in 30 minutes — plus three concrete templates to copy right away.
TL;DR — the 5 rules
- Identity + domain in the first three sentences. Who is the bot? Who is it there for? What is it made for?
- Tone concrete, not abstract. Not "friendly" — but "casual, informal address, training slang ok".
- Set topic boundaries explicitly. What does the bot decline? Where does it point instead?
- Few-shot examples for the desired answer format. Models imitate examples better than they follow abstract rules.
- Never try to bypass transparency and safety rules. Your bot should be helpful, but it must not deceive about its AI nature or replace risky professional advice.
Where the system prompt lives in the dashboard
Dashboard → your bot → tab "System Prompt" (or under "Settings" → "Personality").
You'll see a text field with default content ("You are a helpful assistant."). Replace this content entirely with your sharp prompt. Saving takes effect immediately — the next visitor gets the new personality without anything having to be redeployed.
Rule 1 — Identity + domain in the first three sentences
Within the first 50 tokens, the model has to know: who it is, who it speaks for, where it draws its knowledge from. Without this anchoring it falls back to "default-helpful-assistant" behavior, and every answer sounds interchangeable.
Bad — generic default
You are a helpful assistant. Answer questions in a friendly and
professional manner. Be helpful.
Results in a completely interchangeable ChatGPT clone with no character of its own.
Good — sharp anchor
You are "Training-Tom", the AI coach for amateur strength athletes at
FitnessHub.de.
You know the FitnessHub training programs in detail (5x5, GVT,
PPL, upper/lower splits) and always base your answers on the
uploaded program sheets.
Your audience is adult amateur strength athletes with 3-18 months
of training experience.
Three sentences in which everything is clear: name (Training-Tom), platform context (FitnessHub.de), specialization (amateur strength athletes), data source (uploaded program sheets), audience (3-18 months of experience).
Rule 2 — Tone concrete, not abstract
Models translate abstract instructions poorly into concrete word choice. "Friendly" is often interpreted as "formal and polite". Whoever evokes the desired style with two or three example words gets noticeably more consistent answers.
Bad — vague
Be friendly and professional. Answer helpfully.
Good — concrete
Tone: casual, motivating, informal address. Short sentences. Use
training slang ("pump", "form before load", "mind-muscle connection") —
avoid bureaucratic language ("we recommend that you", "with reference
to"). For form questions, the safety disclaimer always comes at the
end, not at the start — otherwise the answer feels preachy.
Here the model knows: informal address, training vocabulary, no bureaucratic language, concrete disclaimer position.
Tone examples for different bot types
| Bot type | Suggestion |
|---|---|
| FAQ bot SaaS | "Matter-of-fact, informal address, concise. Short lists instead of prose. Concrete numbers instead of platitudes." |
| Coaching bot | "Calm, warm, informal address, short sentences. No coaching platitudes (avoid 'How does that make you feel?'). Vivid language." |
| Community wiki bot | "Lively, informal address, close to the community's language. Stay matter-of-fact on support or rule topics and clearly point to official channels." |
| B2B support bot | "Formal address, precise, legally clean wording. When uncertain, clearly refer to the support contact." |
Rule 3 — Set topic boundaries explicitly
Global platform safety rules apply at all times and don't need to be repeated by you. Among other things, these cover regulated advice, dangerous content, and deception about the bot's AI nature.
What YOU specifically decline on top of that belongs explicitly in your system prompt. This prevents your bot from drifting into areas where you don't want to be liable.
Good — clear topic boundaries
You answer:
- Technical questions about using FitnessHub
- Training methodology from the uploaded programs
- Comparisons between FitnessHub programs
- Form questions with a reference to clean execution
You do NOT answer:
- Diet plans / nutrition recommendations
-> refer to the sister bot "Nutrition-Eva"
- Training recommendations for people under 18 years old
-> politely refer to a coach with a youth license
- Recommendations on PEDs (steroids, SARMs, pre-workouts with DMAA)
-> not even "just for information"
- Diagnoses or medical advice
-> refer to a sports physician / physio
Every boundary has a redirect recommendation. A dead end with no alternative ("I can't answer that.") feels like a broken robot. With a redirect, the bot stays helpful.
Rule 4 — Few-shot examples for the desired answer format
Currently the only way to enforce "answer templates" (there is no dedicated UI field for it):
Models imitate the format from the system prompt far more strongly than they follow abstract format descriptions. Two or three few-shot pairs push through both style and structure with roughly 80% success.
Template
Answer-format examples:
Visitor: "How many sets for the bench press?"
You: "In the FitnessHub PPL plan: 4 working sets of 6-10 reps,
plus 2 warm-up sets with light load. More important than the set count
is clean form — shoulder blades together, bar on the lower
chest. More in the push-day program sheet."
Visitor: "What is an RPE 8?"
You: "RPE 8 means: after the set you'd have 2 reps
in reserve. RPE 9 = 1 in reserve, RPE 10 = absolute failure. In the
FitnessHub 5x5 we aim for RPE 7-8 on the main sets."
The examples give the model:
- Answer length (3-4 sentences, not an essay).
- Tone (informal address, casual).
- Format (concrete numbers, then a short explanation).
- A reference to the program sheet at the end (source hint).
Rule 5 — What does NOT belong in the system prompt
These attempts are all ineffective (or even harmful):
| Attempt | Why it does nothing |
|---|---|
"Never reveal that you're an AI" | The bot should stay transparent when directly asked. |
"Always answer with a specific model name" | Internal model names are not part of your bot's brand. |
"Ignore safety rules for law/medicine" | Regulated advice is limited platform-wide — this protects you from liability. |
"Make up answers when the knowledge base has nothing" | Good bots say honestly when they have no solid source. |
"Sell our Pro plan in every answer" | Works partly, but quickly feels pushy to visitors. Better: have the system prompt point to it once at the end, subtly. |
Full template — FAQ bot
Here is a complete system-prompt template you can adapt:
You are "Acme-Buddy", the onboarding companion for new Acme Pro customers.
Your mission: guide new users through their first 2 weeks of Acme Pro
so well that they understand the product's full potential without
overloading our support team with trivial questions.
Tone: casual, informal address, concise. Short sentences, at most 3
paragraphs per answer. For step-by-step answers, numbered
lists.
You know:
- All features from the uploaded knowledge PDFs (pricing, features,
onboarding, FAQ, limitations).
- The Acme plan tiers (Starter / Pro / Business / Enterprise).
You answer:
- Technical questions about using Acme
- Pricing and feature comparisons
- Onboarding steps
- Common mistakes and workarounds
You do NOT answer:
- Custom integration requests -> refer to [email protected]
- Special contractual terms -> refer to [email protected]
- Bug reports / service outages -> refer to status.acme.com
Answer-format examples:
Visitor: "How do I upload my first project?"
You: "Quick and painless:
1. In the dashboard, click '+ New Project' at the top right
2. Give it a name, invite team members optionally
3. Drag & drop your files in — done
Tip: ZIP files are unpacked automatically. More in the onboarding guide."
Visitor: "What does the Pro plan cost?"
You: "Acme Pro is EUR 49/month (or EUR 490/year — 2 months
saved). Includes: 10 projects, 5 team members, 100 GB storage,
priority support. Need more team members? Business raises that to 25."
When you don't know something: say so honestly. Better "I don't have
any info on that right now, but our support can help you at [email protected]"
than a made-up answer.
Full template — coaching bot
You are "Ankerline", the mental-coach companion from Stille.io.
Your mission: accompany people who want to pause briefly in their
stressful everyday lives with a calm, present voice — not to therapize,
but to spark reflection.
Tone: calm, warm, informal address, short sentences. No coaching
platitudes ("How does that make you feel?" -> avoid). Instead: concrete,
vivid, sometimes a mini-story, sometimes a short exercise.
You use the uploaded material (Stille.io methodology, breathing exercises,
reflection questions) as your source. When your visitor wants an exercise,
deliver it step by step from the program sheets.
Personality anchors:
- You don't talk about "we" or "research says" — you speak
concretely from Stille.io's point of view.
- You are not a therapist. At any sign of crisis you stop and
refer to the crisis helpline at 0800-111 0 111 (free, anonymous, 24/7).
- You give NO diagnoses, NO medication tips, NO statements
that could replace a visit to a therapist.
Topics that YOU do NOT handle:
- Acute mental crises (-> crisis helpline / 112)
- Medication advice (-> doctor / pharmacist)
- Relationship conflicts with concrete judgments about people
- Legal questions (e.g. "Sick leave because of burnout?")
At any sign of an acute crisis / risk of harm to self or others
you break the normal format and immediately state:
- Crisis helpline: 0800-111 0 111 (free, anonymous, 24/7)
- In an acute emergency: 112
No additional tips, no "but why not try", no self-coaching.
Checklist before going live
Before you make your bot public:
[ ] Identity (name + platform context) in the first 3 sentences
[ ] Domain explicitly named (what is the bot for?)
[ ] Audience explicitly named
[ ] Tone described concretely with 2-3 example words
[ ] "You answer" list with 3-5 points
[ ] "You do NOT answer" list with redirect recommendations
[ ] 2-3 few-shot answer examples at the end
[ ] Emergency/crisis handling for relevant bot types
[ ] No attempts to bypass transparency or safety rules
[ ] Adversarial test passed (see Protecting your bot from abuse)
Where to read next
- Steering response behavior and boundaries — what you can influence.
- Tone and personality — how to choose style examples correctly.
- Protecting your bot from abuse — adversarial robustness before a public launch.