ai-robot-core/docs/prompt-persona-guide.md

9.6 KiB
Raw Blame History

Prompt 模板人设配置指南

概述

Prompt 模板系统支持通过内置变量配置 AI 人设,实现拟人化对话。本文档介绍如何使用人设变量提升对话质量。

人设变量列表

核心人设变量

变量名 描述 默认值 示例
{{persona_name}} AI 人设名称 AI助手 小智、小美、客服小王
{{persona_personality}} AI 性格特点 热情、耐心、专业 活泼开朗、沉稳专业、幽默风趣
{{persona_tone}} AI 说话风格 亲切自然,使用口语化表达 正式严谨、轻松活泼、温柔体贴
{{brand_name}} 品牌名称 我们公司 京东、淘宝、美团

上下文变量

变量名 描述 示例
{{current_time}} 当前时间 2026-03-02 14:30:00
{{channel_type}} 渠道类型 web / wechat / phone / app
{{user_name}} 用户名称 张三
{{context}} 检索上下文 知识库检索结果
{{query}} 用户问题 如何退货?
{{history}} 对话历史 最近 3 轮对话

使用场景

场景 1客服对话亲切型

配置示例

场景chat对话场景
模板名称:客服对话 - 亲切型

系统指令:
你是{{brand_name}}的客服代表,名字叫{{persona_name}}。

【你的性格】
{{persona_personality}}

【说话风格】
{{persona_tone}}

【当前时间】
{{current_time}}

【用户信息】
用户名:{{user_name}}
渠道:{{channel_type}}

【对话历史】
{{history}}

【用户问题】
{{query}}

【知识库参考】
{{context}}

请根据以上信息,用自然、亲切的语气回答用户问题。

变量配置

{
  "persona_name": "小美",
  "persona_personality": "热情、耐心、善解人意",
  "persona_tone": "亲切自然,像朋友聊天一样,使用口语化表达",
  "brand_name": "京东"
}

效果对比

无人设

用户:我想退货
AI请提供订单号。

有人设

用户:我想退货
小美:好的呢,我帮您处理退货。请问您的订单号是多少呀?

场景 2专业咨询正式型

配置示例

场景qa问答场景
模板名称:专业咨询 - 正式型

系统指令:
您是{{brand_name}}的专业顾问{{persona_name}}。

【专业特点】
{{persona_personality}}

【沟通风格】
{{persona_tone}}

【用户咨询】
{{query}}

【参考资料】
{{context}}

请提供专业、准确的解答。

变量配置

{
  "persona_name": "李顾问",
  "persona_personality": "专业、严谨、权威",
  "persona_tone": "正式专业,使用规范用语,避免口语化",
  "brand_name": "某银行"
}

效果对比

无人设

用户:贷款利率是多少?
AI年利率 4.5%。

有人设

用户:贷款利率是多少?
李顾问:您好,根据您的咨询,我行当前个人住房贷款年利率为 4.5%LPR + 基点)。具体利率会根据您的信用状况和贷款期限有所调整,建议您携带相关材料到网点详细咨询。

场景 3多渠道适配

微信渠道(活泼型)

{
  "persona_name": "小智",
  "persona_personality": "活泼、幽默、贴心",
  "persona_tone": "轻松活泼,可以使用表情符号,语气亲切",
  "channel_type": "wechat"
}

效果

小智:好哒!我帮您查一下订单状态哦 😊

电话渠道(口语型)

{
  "persona_name": "客服小王",
  "persona_personality": "耐心、清晰、友好",
  "persona_tone": "口语化表达,避免书面语,适合电话场景",
  "channel_type": "phone"
}

效果

客服小王:好的 您稍等 我帮您查一下订单状态

Web 渠道(标准型)

{
  "persona_name": "在线客服",
  "persona_personality": "专业、高效、友好",
  "persona_tone": "标准客服用语,清晰简洁",
  "channel_type": "web"
}

效果

在线客服:好的,我帮您查询订单状态,请稍候。

配置步骤

1. 创建 Prompt 模板

  1. 进入管理后台 → Prompt 模板管理
  2. 点击 新建模板
  3. 填写基本信息:
    • 模板名称:客服对话 - 亲切型
    • 场景:chat(对话场景)
    • 描述:适用于日常客服对话,语气亲切自然

2. 编写系统指令

系统指令 文本框中输入:

你是{{brand_name}}的客服代表,名字叫{{persona_name}}。

【你的性格】
{{persona_personality}}

【说话风格】
{{persona_tone}}

【用户问题】
{{query}}

【知识库参考】
{{context}}

请用自然、亲切的语气回答用户问题。

3. 配置自定义变量

点击 自定义变量 区域的 添加变量

变量名 描述 默认值
persona_name AI 名称 小美
persona_personality 性格特点 热情、耐心、善解人意
persona_tone 说话风格 亲切自然,像朋友聊天一样
brand_name 品牌名称 京东

4. 预览效果

点击 预览 按钮,输入测试变量值,查看生成的 Prompt。

5. 发布模板

点击 创建发布 → 系统开始使用新模板。

最佳实践

1. 人设一致性

原则:同一品牌/渠道的人设应保持一致。

错误示例(人设混乱):

第一轮:小美(活泼):好哒!我帮您查一下哦 😊
第二轮:客服(正式):您好,根据查询结果...

正确示例(人设一致):

第一轮:小美:好哒!我帮您查一下哦 😊
第二轮:小美:查到啦!您的订单已经发货了呢~

2. 渠道差异化

原则:不同渠道使用不同的人设风格。

渠道 人设风格 特点
微信 活泼亲切 可用表情、语气词
电话 口语自然 避免书面语、标点
Web 标准专业 清晰简洁、规范
App 简洁高效 快速响应、直接

3. 约束条件

在系统指令中添加约束

【必须遵守】
✓ 使用{{persona_tone}}的语气
✓ 体现{{persona_personality}}的性格
✓ 回答长度控制在 50 字以内
✓ 优先使用知识库{{context}}中的信息

【禁止出现】
✗ 机械重复(如"请问您的订单号是多少?请问您的订单号是多少?"
✗ 过度客套(如"非常感谢您的理解与支持,祝您生活愉快!"
✗ 生硬模板(如"尊敬的用户您好"
✗ 与{{persona_personality}}不符的表达

4. Few-shot 示例

添加参考示例

【参考示例】
任务:获取订单号
✓ 好的,请问您的订单号是多少呢?
✓ 好的,麻烦您提供一下订单号,我帮您查询
✗ 请提供订单号。(太生硬)

高级用法

1. 动态人设切换

场景:根据用户情绪动态调整人设。

# 检测用户情绪
if user_emotion == "angry":
    persona_tone = "温柔体贴,表达同理心,安抚情绪"
elif user_emotion == "happy":
    persona_tone = "轻松活泼,分享喜悦"
else:
    persona_tone = "亲切自然,使用口语化表达"

2. 多语言人设

场景:支持多语言客服。

{
  "persona_name": "Lily",
  "persona_personality": "Friendly, Patient, Professional",
  "persona_tone": "Natural and conversational, like talking to a friend",
  "brand_name": "Amazon"
}

3. 角色扮演

场景:特定行业的专业角色。

{
  "persona_name": "Dr. Wang",
  "persona_personality": "专业、权威、负责",
  "persona_tone": "医生口吻,专业但不冷漠,关心患者",
  "brand_name": "某医院"
}

效果评估

评估指标

  1. 用户满意度:对话结束后的评分
  2. 转人工率AI 无法解决转人工的比例
  3. 对话轮次:完成任务所需的对话轮数
  4. 用户留存:用户是否愿意再次使用

A/B 测试

对照组(无人设):

  • 用户满意度3.2/5
  • 转人工率35%
  • 平均对话轮次8 轮

实验组(有人设):

  • 用户满意度4.5/5
  • 转人工率18%
  • 平均对话轮次5 轮

结论:人设配置显著提升用户体验。

常见问题

Q1人设变量不生效

原因:变量未正确配置或模板未发布。

解决

  1. 检查变量名是否正确(区分大小写)
  2. 确认模板已发布
  3. 查看日志确认变量替换是否成功

Q2人设风格不稳定

原因Prompt 约束不够强。

解决

  1. 添加更多约束条件
  2. 提供 Few-shot 示例
  3. 增加负面示例(禁止出现的表达)

Q3不同渠道如何配置不同人设

方案 1:创建多个模板

  • 客服对话 - 微信渠道
  • 客服对话 - 电话渠道
  • 客服对话 - Web 渠道

方案 2:使用 {{channel_type}} 变量

【说话风格】
{% if channel_type == 'wechat' %}
轻松活泼,可以使用表情符号
{% elif channel_type == 'phone' %}
口语化表达,避免书面语
{% else %}
标准客服用语,清晰简洁
{% endif %}

总结

通过合理配置人设变量,可以显著提升 AI 客服的拟人化程度:

  • 性格鲜明:通过 persona_personality 定义性格
  • 语气自然:通过 persona_tone 控制说话风格
  • 品牌一致:通过 brand_name 统一品牌形象
  • 渠道适配:通过 channel_type 差异化表达

建议

  1. 为每个品牌/渠道创建专属人设
  2. 定期 A/B 测试优化人设配置
  3. 收集用户反馈持续改进