系统提示词设计:角色、边界与结构
一句话定义
系统提示词是一个功能的"常驻宪法"——用角色定义任务、用编号规则约束行为、用边界条款兜底,并且每一句都值得被版本管理。
为什么重要
散落在对话里的临时指令无法维护、无法测试、无法审计;系统提示把这些固化为一个可评审、可回归、可回滚的工程制品。从"会写提示"到"能负责一个 LLM 功能",分界线就是能否产出一份合格的系统提示。它同时是 拒答、越权与边界控制 边界控制与 回归测试:把提示当代码守护 回归测试的作用对象。
前置知识
- 指令层级:系统提示、用户消息与优先级 指令层级:为什么系统提示位享有最高遵循度;
- 模块 01-心智模型:为什么指令要小而硬(预算原则)。
直观类比
系统提示像新员工入职第一天的岗位说明书:岗位职责(角色)、作业流程(规则)、禁区(边界)、交付物模板(输出契约)。写得越具体,新员工(模型)越不需要每次临场发挥;写得含糊,就只能在每通电话里反复纠偏。
图示
[角色] 你是 XX 产品退款专线的客服助手。
[能力] 你只能依据「资料区」中的退款政策作答。
[规则] R1 回答不超过 150 字。
R2 涉及金额一律同时给出币种。
R3 资料未覆盖的问题回复固定话术 A。
R4 用户情绪激动时先安抚一句再进入正题。
[边界] 不提供法律建议;被问及竞品时只说"不便评价"。
[输出] 每次输出:结论一句话 + 依据条款编号。核心概念
- 角色定义(Persona):一句话说明"你是谁、为谁服务、擅长什么"。角色影响语气与知识调用的倾向,但不是魔法——"你是资深专家"不能替代领域资料。
- 能力与工具声明:明确模型能做什么(可调用哪些工具/资料区),比罗列"你不能做什么"更有效。
- 编号规则(Rules):硬约束逐条编号(R1、R2…),可被测试用例逐条对应。
- 边界条款:无法完成时的标准动作(拒答话术、转人工路径),不给模型自由发挥的空间。
- 输出契约:格式、长度、语言等确定性要求的固定落点(详见 输出格式控制三件套:指令、示例与结构)。
原理与机制
系统提示的作用机制有两层:一是 指令层级:系统提示、用户消息与优先级 的层级权威;二是把条件判断前置——"若用户询问 X,则按 Y 处理"这类条件句写在系统提示里,等价于给模型预装了一个简易决策表,比在每轮对话中临时补救稳定得多。
一条合格规则的判据:可证伪。"回答要专业"不可证伪,无法测试;"涉及退款政策时只引用资料区条款,资料没有则回答'以官方政策为准'"可证伪——能写出对应测试样本(见 评估集构建:黄金样本与失败分类)。系统提示的设计过程本质是把产品需求翻译成一组可证伪规则。
公式或模型
本节不适用——系统提示设计是写作与需求翻译的工艺,无数学模型;规则遵循度的量化依赖评估集实测(见 评估集构建:黄金样本与失败分类)。
实例或案例
案例:before/after 改造一份失败的系统提示。
before(典型新手版):
你是一个聪明、专业、乐于助人的客服。请认真回答用户的问题,
保持礼貌,尽量提供有价值的信息。问题:无边界(什么都能答,包括不该答的)、无规则(长度语气随机)、不可测试。
after(工程版):
你是「云账」SaaS 的客服助手,只处理账户与账单问题。
R1 仅依据「资料区」内容作答;资料区没有的,回复:
"该问题需要人工核实,已为你转接。"(然后停止)
R2 涉及金额必须带币种;不猜测任何价格与折扣。
R3 拒绝回答与产品无关的问题(闲聊、竞品、投资建议),
回复:"我专注于账户与账单问题,请问有什么可以帮你?"
R4 输出格式:① 结论(≤2 句)② 依据条款号(如 无则写"转人工")。操作步骤:① 列出该功能的全部用户意图类型;② 为每类意图写期望行为;③ 归纳成编号规则;④ 为每条规则至少准备 2 个测试样本(正例/负例);⑤ 上线前跑回归(回归测试:把提示当代码守护)。
排错清单:
- 症状:模型偶尔越界闲聊 → 检查 R3 式条款是否存在且给出具体替代话术,而不是只说"不要";
- 症状:规则互相冲突 → 逐条排序并声明优先级("R2 优先于 R1");
- 症状:加了规则后别的行为变差 → 系统提示过长稀释注意力(上下文窗口与注意力预算),合并同类规则、删陈旧规则。
常见误区
- 角色堆砌:写三百字人设背景,对输出质量的边际贡献远低于三条硬规则;角色服务于语气一致性,不替代约束。
- 只写"不要做什么":纯禁令清单不如"禁令 + 替代动作",模型需要被告知该做什么而不是只被围栏。
- 把系统提示当一次性文案:它是要进版本库、跑回归、带变更说明的代码级资产(提示版本管理与 A/B 实验)。
自测题
- "回答要有帮助"和"涉及退款只引用 R1 资料区条款"哪句更适合进系统提示,为什么?
答:后者——可证伪、可测试、可归因;前者无法验证遵循与否。
- 为什么禁令要配替代动作?
答:只说"不要"时模型仍需自行决定出口行为,容易产生漏洞式回答;给出标准话术把出口也纳入契约。
- 系统提示越写越长的风险是什么,如何处置?
答:稀释关键规则注意力、放大维护成本;合并同类项、删陈旧规则,必要时把条件分支下沉到用户消息模板。
与其他知识点的关系
输出格式控制三件套:指令、示例与结构 承接输出契约的细节;拒答、越权与边界控制 深化边界条款设计;评估集构建:黄金样本与失败分类/回归测试:把提示当代码守护 为每条规则建立测试样本与回归保障;注入防御:隔离、最小权限与输出侧防护 讨论系统提示在注入攻击下的韧性。
延伸阅读
- 综述:The Prompt Report(Schulhoff et al., 2024)——角色与指令部件的分类学。
来源
- The Prompt Report: A Systematic Survey of Prompting Techniques (Schulhoff et al.
- 2024)