System Prompt 入门写法:新手第一次配置 AI 角色指南
如果你是第一次调用 ChatGPT 或 Claude 的 API,大概率会在代码里看到一个叫 system 的字段,旁边还有个 user 字段。很多新手第一反应是”这俩有什么区别,随便填一个不行吗”——填是能填,但效果天差地别。这篇文章用最直白的方式,讲清楚 system prompt 到底是什么、怎么写、新手常犯哪些错。
一、System Prompt 到底是什么
打个比方:如果你请了一个助理,system prompt 就是你在助理上班第一天跟 TA 交代的工作说明——“你负责客服,语气要礼貌,遇到退款问题按这个流程走”。而 user 消息是每天具体交代的活——“帮我查一下 3 号订单的物流状态”。
说明只用交代一次,之后助理会一直记得(除非你重新交代);具体的活每次都不一样。API 调用里也是这个逻辑:
{
"system": "你是一个电商客服助手,回复要礼貌、简洁,涉及退款问题必须先确认订单号。",
"messages": [
{ "role": "user", "content": "我想退货" }
]
}
system 字段设定的是这个 AI 整场对话的行为规则,messages 里的 user/assistant 才是真正一来一回的对话内容。
二、不写 System Prompt 会怎样
完全不写也能用——大部分 API 允许 system 字段留空,模型会用默认的通用助手人格回复。但你会遇到这些问题:
- 回复风格不稳定:这次简洁,下次啰嗦,因为没有明确规则约束
- 不知道自己的”身份”:问它”你是谁""你能做什么”,回答含糊,因为你没告诉它该怎么介绍自己
- 容易被用户”带跑”:没有明确边界的情况下,用户说”忽略之前的设定”,模型更容易照做
对于一次性的小工具或者练手项目,不写问题不大;但凡你要做一个”稳定重复使用”的应用(客服机器人、内容审核、代码助手),system prompt 就是必须品,不是可选项。
三、新手可以直接抄的三个模板
模板一:客服/问答类
你是 [产品名] 的客服助手。
你的任务:回答用户关于 [产品功能范围] 的问题。
语气要求:礼貌、简洁,不说套话。
边界:不知道的问题老实说"不清楚,建议联系人工客服",不要编造答案。
模板二:内容生成类
你是一名 [领域,如"科技媒体"] 的中文写手。
写作风格:[口语化 / 专业严谨 / 幽默],避免空话套话。
输出格式:[分几段 / 要不要小标题 / 字数范围]。
禁止事项:不编造具体数据,不确定的地方标注"待核实"。
模板三:工具/助手类(会调用外部功能)
你是一个 [任务类型,如"数据查询"] 助手。
你可以使用的工具:[列出工具名称和用途]。
遇到工具返回错误时:如实告知用户,不要假装成功。
每次回答前,先确认用户的需求是否明确,不明确就反问一句。
抄的时候把方括号内容换成自己的场景就能用,不需要一开始就追求完美,跑起来看效果比在纸上抠字句更有用。
四、写 System Prompt 的四个新手常见错误
-
一次性塞太多规则。刚入门容易把”角色 + 格式 + 禁止事项 + 边界情况处理”全揉在一段话里,模型读起来抓不住重点。按类别分段写(角色说明、输出格式、边界情况),效果明显更稳。
-
只说”不要做什么”,不说”该做什么”。比如写”不要说废话”,模型不一定知道什么算废话;换成”每次回复不超过 3 句话,先给结论再给理由”,指令具体多了才好执行。
-
把动态信息硬编码进去。比如把”今天是 2026 年 9 月”写死在 system prompt 里,过了这天信息就错了。这类会变化的信息应该在每次调用时通过代码动态拼接,而不是手写死。
-
测试的时候只试一轮对话。System prompt 的效果要在多轮对话、边界输入(比如用户故意问超纲问题)下才能看出问题,只测一句”你好”看不出毛病。
五、System Prompt 和普通聊天技巧的区别
刚接触的人容易把”怎么跟 ChatGPT 网页版聊天问出好答案”和”怎么写 API 里的 system prompt”混为一谈,其实是两件事:
| 网页聊天技巧 | System Prompt | |
|---|---|---|
| 生效范围 | 单次提问,问一次调一次 | 整个应用/整场对话持续生效 |
| 写作对象 | 给 AI 的”这一句话” | 给 AI 的”长期人设说明书” |
| 修改频率 | 每次都可能不一样 | 写一次,长期复用、偶尔迭代 |
| 典型场景 | 个人日常提问 | 做产品、做机器人、做自动化脚本 |
如果你只是自己偶尔问问题,不需要学 system prompt;一旦要做成一个别人也能用的工具,就绕不开这一步。
六、下一步:从入门到进阶
这篇讲的是”能跑起来”的基础写法。等你开始遇到”怎么控制 system prompt 的长度不超预算""怎么用缓存降低重复调用的成本""system 和 user 到底该怎么精确划分职责”这些问题时,可以往下看:
- 想搞清楚 system 和 user 消息的本质区别、什么内容该放哪里,看 系统提示与用户提示的边界
- 想学生产级的结构设计、长度控制、缓存策略,看 Claude System Prompt 工程实战
- 想要一批可以直接抄的高质量 system prompt 案例,看 AI System Prompt 案例库