Skip to Content

System prompt vs user prompt — what is each for?

Category: LLM & Prompt Engineering

Answer

System prompt sets the persona, constraints, and format conventions across the whole conversation. User prompt carries the per-turn request. A good system prompt never changes; it’s the model’s “job description” for the session. User prompt is the per-task input.

Concrete examples from the fca project context

Example 1

System: “You are a senior backend engineer. Answer in JSON {reasoning, code}”.

Example 2

User: “Write me a function to compute retries with exponential backoff.”

Example 3

Update system rarely. Iterate on user prompts during dev. Version system in code.

Data flow / flow chart

system = persistent rules + persona
user = per-task input
(model prioritizes system over user when in conflict)

Takeaway

System = rules. User = question. Treat them as separate artifacts with separate review cycles.