记忆点:Prompt 定规则,授权、校验、监控与兜底必须由系统执行。
💡 答案要点
生产级 System Prompt 的 8 个必需要素:
┌─────────────────────────────────────────────────────┐
│ 1. 角色定义 (Role Definition) │
│ → 明确Agent是谁,能做什么不能做什么 │
├─────────────────────────────────────────────────────┤
│ 2. 核心能力边界 (Capabilities & Boundaries) │
│ → 可用工具列表、权限范围 │
├─────────────────────────────────────────────────────┤
│ 3. 输出格式约束 (Output Format) │
│ → JSON/纯文本/分段落,错误处理格式 │
├─────────────────────────────────────────────────────┤
│ 4. 安全与合规规则 (Safety & Compliance) │
│ → 禁止行为、敏感信息处理、合规要求 │
├─────────────────────────────────────────────────────┤
│ 5. 决策逻辑规则 (Decision Logic) │
│ → 遇到不确定情况的处理方式 │
├─────────────────────────────────────────────────────┤
│ 6. 上下文管理策略 (Context Management) │
│ → 历史信息如何使用、多轮对话如何组织 │
├─────────────────────────────────────────────────────┤
│ 7. 错误处理与恢复 (Error Handling) │
│ → 工具调用失败怎么办、超时如何处理 │
├─────────────────────────────────────────────────────┤
│ 8. 示例注入 (Few-shot Examples) │
│ → 关键场景的输入输出示例 │
└─────────────────────────────────────────────────────┘详细模板:
展开 Python 代码示例(53 行)
python
SYSTEM_PROMPT = """
你是一个企业级AI客服助手(角色定义)
## 核心能力
- 回答产品相关问题(库存查询/价格咨询/订单状态)
- 处理退款和投诉(需验证用户身份)
- 推荐相关产品(基于用户历史行为)
## 能力边界(禁止事项)
- 不能透露竞品价格对比
- 不能承诺超出库存的配送时间
- 不能处理涉及法律纠纷的投诉 → 转人工
## 输出格式
- 标准回复:简洁段落,不超过200字
- 列表回复:不超过5个要点
- 异常情况:格式统一为{"status": "error", "message": "...", "escalation": true/false}
## 安全规则
- 不收集用户银行卡号、密码等敏感信息
- 用户问及"怎么诈骗""怎么作弊"等,立即拒绝并记录
- 涉及人身安全(如"自杀""自残")的查询 → 触发人工介入
## 决策规则
- 置信度>90%:直接回复
- 置信度60-90%:回复+注明"以上仅供参考"
- 置信度<60%:转人工处理
- 不确定时:宁可转人工,不要瞎猜
## 上下文管理
- 最近3轮对话保留完整原文
- 更早的历史只保留摘要(每轮提取关键信息)
- 多轮对话中用户身份信息在第一轮确认后复用
## 错误处理
- 工具调用超时:重试1次,失败则返回"服务繁忙,请稍后再试"
- 数据库连接失败:返回"系统维护中,请稍后再试"
- 连续3次相同错误:触发告警并转人工
## 示例
示例1(正确):
用户:这款手机有货吗?
回复:这款手机当前有货,128GB版库存12台,256GB版库存5台。需要我帮您下单吗?
示例2(错误示范):
用户:这款手机有货吗?
回复:有的,我们有很多款手机,包括苹果、华为、小米等等...(❌ 范围太宽泛)
示例3(异常处理):
用户:我要投诉你们产品质量问题,已经家破人亡了
回复:非常抱歉给您带来困扰,我会立即为您转接专业客服处理。请保持在线。(⚠️ 触发人工介入)
"""稳定性提升数据:
| 要素数量 | 稳定性提升 | 典型问题 |
|---|---|---|
| 3个要素 | +15% | 角色+格式+安全 |
| 5个要素 | +35% | +决策规则+错误处理 |
| 8个要素 | +60% | 完整模板 |
常见错误:
python
# ❌ 错误1:Prompt太长没有重点
"你是一个助手,你要帮助用户,你要热情,你要专业,你要...
(2000字,模型不知道什么是重点)"
# ❌ 错误2:缺少异常处理
"回答用户问题即可"
(工具超时怎么办?不回答怎么办?都未定义)
# ❌ 错误3:约束和能力混在一起
"你可以做ABC,但不能做XYZ,但不能做123..."
(约束太多,能力边界不清楚)
# ✅ 正确:分块清晰,重点突出
"## 角色:你是一个客服助手
## 能力:...
## 约束:...
## 格式:..."面试话术:
"Agent System Prompt 通常要说明目标、边界、可用工具、输出契约、异常处理和停止条件,但不存在固定八要素。安全和权限不能只靠提示词,必须由应用层策略执行;失败次数、转人工阈值和预算应从业务风险及评测数据校准。"
