The biggest difference between system prompts and user prompts is not who appears first, but "what is responsible". System prompts are more suitable for writing long-term and stable rules, such as identity, tone, output boundaries, prohibitions, and fixed processes; User prompts are more suitable for writing specific tasks to be done in this round, such as helping me rewrite, summarize, extract, and compare what content to do. Many people mix the two, and the result is that the rules are unstable and the tasks are easy to deviate.
| Judgment point | System prompts are more suitable | User prompts are more suitable |
|---|---|---|
| Action cycle | It continues to take effect across multiple rounds | Only the current task is served |
| Content type | Roles, rules, boundaries, format constraints | Questions, materials, goals, and supplemental requirements |
| Does it change often? | Relatively stable | Often changes with questions |
What content should be written in the system prompt first
- The identity and caliber you want the model to maintain over time, such as customer service, editor, or code assistant.
- Output rules that must be followed, such as giving conclusions first, returning only tables, prohibiting fabricating sources, and speaking directly if you can't find it.
- The process does not change with each question, such as checking the input before deciding whether to continue.
What content is better to put in the user prompt
- What exactly to do this time, such as summarizing the meeting minutes, extracting contract risks, and changing the copy to a colloquial version.
- Contextual materials that are only available in this round, such as the original article, screenshot description, customer requirements, and table data.
- Ad-hoc preferences, such as this time shorter, boss-oriented, to keep numbers and dates.
The most common mistake is to stuff a large section of task requirements into the system prompt for a long time, resulting in each subsequent round being disturbed by the old requirements. A more stable approach is that the system prompt only sets the rules, and the user prompt specifically mentions the current task. You only need to remember one sentence, the long-term unchanging release system, the current to be done to release users, the clearer the division of labor, the less likely the model is to contradict itself.