Choose the right instruction layer so reusable behavior stays separate from each individual task.
Separate policy from work
The system prompt defines recurring behavior. The user prompt supplies the current job. Mixing both makes templates harder to reuse and increases the chance that temporary context changes permanent rules.
System layer
Use it for role, audience, safety limits, source policy, tools, and required response conventions. Keep it concise enough to audit.
User layer
Use it for the objective, input data, variables, examples, deadlines, and the exact deliverable. Delimit long source material clearly.
Test the boundary
Change only the user task across several cases. If the assistant’s stable behavior drifts, move the relevant rule to the system layer or enforce it in code.