系统提示词是智能体的"基因",决定了它的行为边界、语气风格和任务方向。
系统提示词(System Prompt)是构建 AI 智能体时最核心的一环。它不同于普通对话中的用户消息,而是在每次调用前预先注入的指令,定义了智能体"是谁、做什么、不能做什么"。一个设计良好的系统提示词能让智能体输出稳定可靠;反之,模糊的提示词会导致回答飘忽不定,甚至产生危险行为。
系统提示词的设计可以归纳为三个基本要素。
| 要素 | 作用 | 示例 |
|---|---|---|
| 角色(Role) | 定义智能体的身份与专业领域 | "你是一位资深财经编辑" |
| 目标(Goal) | 明确智能体需要完成的具体任务 | "将用户输入的新闻摘要改写为适合公众号发布的短文" |
| 约束(Constraint) | 限定输出格式、长度、语气、禁区 | "不超过300字,不使用感叹号,不编造数据" |
三者缺一不可。缺少角色,智能体缺乏专业视角;缺少目标,智能体不知道往哪个方向努力;缺少约束,智能体容易"自由发挥"到不可控。
角色定义不只是给智能体一个头衔,更重要的是赋予它一套知识框架和行为习惯。以下是几种常见写法:
角色的选择应该与实际任务匹配,不要为了"显得专业"而堆砌无关的身份标签。
系统提示词中的目标描述,可以借鉴项目管理中的 SMART 原则:
约束是系统提示词中最需要功的部分。好的约束应该分层设计:
以下是一个经过实践检验的模板结构,适合大多数任务型智能体:
# 角色
你是一位[职业/身份],擅长[具体技能]。
# 目标
你的任务是[具体任务描述]。输出用于[使用场景]。
# 输入说明
用户会提供[输入内容的类型和格式]。
# 输出要求
- 格式:[JSON/Markdown/纯文本]
- 长度:[字数或段落数]
- 语气:[正式/口语/幽默]
- 必须包含:[关键信息点]
- 不得包含:[禁止项]
# 处理规则
1. 如果用户输入不完整,先列出缺失信息再询问。
2. 如果遇到超出能力范围的问题,直接说明并建议替代方案。
3. [其他业务规则]
在实际使用中,以下问题反复出现:
系统提示词的设计是一个迭代过程。写完第一版后,用几组典型输入测试,观察输出偏差,再针对性地加约束或调措辞,通常3-5轮迭代就能收敛到稳定状态。