你说什么,它就变什么
定义
通过 System Prompt 定义角色,可以显著改变同一个大模型面对同一问题的回答侧重和语气。角色扮演是常用的 Prompt 技巧之一,本质上是把产品身份写进系统预设;输出格式控制则进一步约束回答的结构。
说明
System Prompt 是放在对话最前面、用于设定模型行为的高优先级说明。同一个模型在加载不同 System Prompt 后,可以表现为法律顾问、工程师、文案或心理助理等不同角色。用户实际看到的产品差异,很大程度来自系统提示中角色的设定。
同一问题在不同角色下的差异,不只是称呼或口气变化,而是会影响问题界定、论证结构和取舍标准。例如面对压力问题,心理助理更关注情绪疏导,工程师可能偏向原因分析与行动方案。产品设计时需要先明确角色边界,再让模型在该边界内回答。
除了角色,输出格式也可以通过指令控制,包括无格式文本、Markdown 列表、JSON、分步骤说明等。格式约束应与使用场景匹配,比如程序解析用 JSON,用户阅读用列表或段落。角色与格式共同决定了产品的回答形态。
边界与误区
System Prompt 和普通用户消息有什么不同: System Prompt 是请求中用于设定模型角色、规则和边界的系统级消息,通常权重较高,先于用户消息设置。普通用户消息是具体问题或任务,虽然也能包含要求,但容易被后续指令交互稀释,适合放具体输入。
为什么说换角色就是换产品: 因为很多 AI 产品的差异主要来自角色设定。同一个模型,换成客服角色就回答服务问题,换成心理助理就提供情绪支持。产品定位、语气、能力边界都通过 System Prompt 固化下来,构成用户体验的核心。
什么时候该用 JSON 而不是 Markdown 输出: 当回答需要被程序读取、做字段校验或驱动前端逻辑时,JSON 的结构边界明确,更适合。Markdown 偏重人类阅读和版式展示,不适合可靠地提取多字段数据。