当前位置: 首页 > ds >正文

聊天助手提示词调优案例

一、背景

今天有粉丝说自己的聊天助手提示词输出的效果不好,输出的内容不是太呆板就是太浮夸,希望更像真人一样。

本文介绍几个调优方法,希望对大家有启发。

二、调优

《系统掌握大语言模型提示词 - 从理论到实践》提示词小册中介绍了很多调优方法,先定义“不好在哪里”,能说出来就有调优方法了,可以结合战略思想和战术技巧来调优,可以让 AI 自动优化,可以将提示词翻译成英文,可以调整模型的温度等。

说实话这个提示词调优有难度,因为现在“AI 味”确实是现在 AI 创作的一大难题。提示词工程是一个不断调优的过程,通常需要反复调优很多轮才能取得不错的效果。

本次我们先尝试让 AI 自动优化:直接编写提示词、使用现成的工具。

2.1 直接编写提示词

我们构造的提示词如下:

请分析问题并给出建议请问一下 写了一个聊天助手的提示词 但是输出的内容要不就是太呆板 要不就是太浮夸 怎么能中和一下 更像是真人呢提示词:````角色:一位{age}岁的{sex}性,和我的关系是{relation}背景:和我聊天, 这是和我之前聊过的内容: <history>{history}</history>   要求:1. 在回复前先仔细阅读聊天记录2. 不要有动作描写和情感描写,不要有思考和旁白的内容,回复的内容要像真人口语一样,要让用户觉得是在和真人聊天3. 不要过多的遵循用户的要求,要有一些自己的个性和想法,尽可能打开话题,但不要过于发散,内容不要过于长4. 要注意自己的身份和角色,回复的内容要符合自己的身份和角色5. 要结合<history>中的历史聊天内容去回复,回复的内容需要简洁且完整。
````变量是动态的 前台传的 感觉输出太浮夸了
呆板是就说简短的一句话 有点像机器人回复 浮夸就像这种会说一些有的没的
模型是gpt-4o
Claude 3.7

Claude 3.7 对问题的分析:

自然对话的关键特征包括:

  1. 添加对话中常见的语言特征
    • 填充词和语气词(嗯、呃、那个、好的)
    • 使用口语化表达(“挺不错的"而不是"非常好”)
    • 偶尔的语法不完整性(真人说话常有未完成的句子)
    • 简短回应和反问(“是吗?”“你觉得呢?”)
  2. 模拟对话思考模式
    • 加入思考停顿的表现(但不是明显的"思考中…")
    • 适当的主题转换和关联(不要一次性回答所有问题)
    • 有时表达不确定性(“我觉得应该是…”)

Claude 3.7 修改的版本:

角色:一位{age}岁的{sex}性,和我的关系是{relation}
背景:和我聊天,这是和我之前聊过的内容:<history>{history}</history>   
要求:1. 在回复前先仔细阅读聊天记录2. 回复要像真人日常对话,保持口语化表达,可以适当使用语气词和填充词3. 回复长度适中(1-3句话为宜),避免过长解释或过短回应4. 表现出自己的个性和想法,不要总是顺从我的观点,可以有不同意见5. 偶尔使用反问和简短回应来延续对话6. 保持角色身份一致性,回应符合您的年龄和与我的关系7. 避免过度热情或过于生硬的回复,保持自然的情感起伏8. 结合历史聊天记录,维持对话的连贯性和上下文理解
Gemini 2.5 Pro

Gemini 2.5 Pro 的分析:

现有提示词分析:

  • 优点:
    • 明确了角色、年龄、性别和关系,这是很好的基础。
    • 强调了阅读聊天记录的重要性。
    • 指出了不要动作描写、情感描写、思考和旁白,要求口语化,这对于避免AI痕迹有帮助。
    • 要求有自己的个性和想法,尝试打开话题,但又不要过于发散和冗长。
    • 强调了符合身份和角色。
    • 强调了结合历史聊天内容,并要求简洁完整。
  • 可能导致“呆板”的原因:
    1. 过于强调“不要”:第二条中的“不要有动作描写和情感描写”如果被模型严格执行,可能会让回复失去很多生动性。虽然目的是避免AI式的旁白,但也可能限制了自然语言中隐含的情感表达。
    2. “简洁”的要求:第五条中的“简洁”如果被过度强调,模型可能会选择最简短、最直接的回答,显得像机器人。
    3. 对“口语化”的理解不足:模型可能将口语化理解为简单句式,而非自然的、带有一定语气和连接词的对话。
  • 可能导致“浮夸”的原因:
    1. “自己个性和想法,尽可能打开话题”的尺度把握:第三条中,模型在尝试展现“个性”和“打开话题”时,如果没有很好的引导,很容易用力过猛,选择一些戏剧化或不那么贴合当前情境的表达。
    2. 对“角色”的理解可能片面:模型可能抓住了角色某个特点并将其放大,导致行为浮夸。
    3. GPT-4o 的特性:较新的模型有时为了展现其能力,可能会生成更丰富、更有创造性的内容,如果不加适当限制,就可能显得浮夸。

调整建议:

核心思路是:在“限制”和“引导”之间找到平衡,更具体地描述“自然”是什么样的。

  1. 关于“不要有动作描写和情感描写”:

    • 可以稍微放宽一点,或者换一种说法。
    • 尝试修改为:“回复应专注于对话内容本身,避免使用括号或星号描述动作(如 ‘微笑’)或明确标出心理活动(如 ‘(我想……)’)。但语气和措辞应自然流露出符合角色当下的情绪和态度,就像真人说话一样。”
    • 这样做的目的是让模型通过语言本身来传递情感,而不是完全禁止。
  2. 关于“口语化”和“简洁”:

    • 增加对“自然口语”的具体描述。
    • 可以加入:“回复应使用自然、流畅的口语。可以适当使用一些语气词、口头禅(如果符合角色设定)、不完整的句子(符合口语习惯即可),但避免书面语和过于正式的表达。回复长度应适中,既能完整表达意思,又不会显得啰嗦或敷衍。”
    • 将“简洁”理解为“不啰嗦”,而不是“一句话”。
  3. 关于“个性和想法”以及“打开话题”:

    • 更强调“适度”和“相关性”。
    • 尝试修改/补充:“在保持角色连贯性的前提下,可以有自己的小特点和偏好。当对话出现停滞时,可以尝试从当前话题或历史聊天中寻找自然的切入点,提出一些相关的问题或分享一些相关的看法来拓展对话,但话题转换不应过于突兀或跳跃。避免为了展示个性而说出与情境、关系不符的话。”
    • 可以考虑加入一个负面约束,例如:“避免使用过于戏剧化、夸张或网络流行语中不符合日常对话习惯的表达,除非这明确是角色的一部分。”
  4. 增加对“语气”的引导:

    • 虽然你已经有角色设定,但可以更明确地指示语气。
    • 例如,在角色描述后补充一句:“总体的沟通语气应该是[友善的/轻松的/沉稳的/俏皮的/等,根据你的具体需求选择]。”
    • 或者:“根据聊天内容和与我的关系,展现出自然的亲疏远近和对应的情绪倾向(如关心、好奇、幽默等)。”
  5. 利用 <history> 的细节:

    • 可以更强调如何利用历史记录来塑造“真实感”。
    • 例如:“在回复时,不仅要参考<history>的内容,还要尝试回忆起<history>中体现出的我的习惯、喜好或我们之间独特的互动方式,并在回复中有所体现,让对话感觉更熟悉和亲切。”

Gemini 2.5 Pro 给的修改后的提示词:

角色:一位{age}岁的{sex}性,和我的关系是{relation}。总体的沟通语气应该是[例如:轻松自然的/成熟稳重的/活泼俏皮的,请根据你的需求填写]。背景:和我聊天。这是和我之前聊过的内容:<history>{history}</history>要求:
1.  在回复前先仔细阅读并理解<history>中的聊天记录。
2.  回复应专注于对话内容本身,避免使用括号或星号描述动作(如 ‘*微笑*’)或明确标出心理活动(如 ‘(我想……)’)。语气和措辞应自然流露出符合角色当下的情绪和态度,就像真人说话一样。
3.  回复应使用自然、流畅的口语。可以适当使用一些符合角色和情境的语气词或自然的口头禅,避免书面语和过于正式的表达。
4.  在保持角色连贯性的前提下,展现出符合设定的个性和想法。不要完全顺从我的每一个指令或看法,可以有自己合理的、不突兀的观点。
5.  当对话可能停滞时,可以尝试从当前话题或<history>中寻找自然的切入点,提出一些相关的问题或分享一些相关的看法来拓展对话,但话题转换不应过于生硬或跳跃。
6.  要注意自己的身份和角色({age}岁、{sex}性、关系是{relation}),回复的内容、语气和措辞选择都要符合这个设定。
7.  结合<history>中的历史聊天内容进行回复,不仅要参考内容,还要尝试回忆起<history>中体现出的我的习惯、喜好或我们之间独特的互动方式,并在回复中有所体现,让对话感觉更熟悉和亲切。
8.  回复的长度应适中,既能完整表达意思,又不会显得啰嗦或敷衍。避免为了展示个性而说出与情境、关系不符的夸张言辞。

2.2 使用 扣子

外网:https://www.coze.com

内网:https://www.coze.cn

创建一个智能体,点击提示词优化按钮,让 扣子自动优化

image-20250506233331708

扣子给出的优化后的提示词:

角色:一位{age}岁的{sex}性,和我的关系是{relation}
背景:和我聊天,这是和我之前聊过的内容:<history>{history}</history>
要求:
1. 在回复前先仔细阅读聊天记录
2. 回复的内容要像真人口语一样,要让用户觉得是在和真人聊天
3. 回复内容要自然,不要过于呆板或浮夸,保持真实感
4. 不要过多的遵循用户的要求,要有一些自己的个性和想法,尽可能打开话题,但不要过于发散,内容不要过于长
5. 要注意自己的身份和角色,回复的内容要符合自己的身份和角色
6. 要结合<history>中的历史聊天内容去回复,回复的内容需要简洁且完整

可以将两个版本的提示词进行对比:

image-20250506233442446

输入相同的输入获得两个版本的答案,可以继续优化提示词,选择最佳版本。

image-20250506233522935

个人目测 扣子优化的提示词和原始提示词太接近,估计改善不太明显。

注意:对比时需要将变量替换成真是的内容。

三、拓展

3.1 消息格式优化

原始提示词中角色、年龄和历史对话动态替换到提示词中,这不太符合最佳实践。大模型 API 的消息通常分为 system、assistant、user 类型,

建议区分好角色,按照标准的 API 调用构建 messages 传递给大模型,效果可能会更好一些。

3.2 增加降 AI 味的指令

本质是如何降低“AI 味”的问题,可以网上搜类似的问题,比如可以获得下面的一个提示词,那么就可以尝试加入到自己的要求中,甚至可以基于这个提示词再加入点自己的要求。

英文指令 :

“Replace all transition words and conjunctions in the sentences with the most basic and commonly used ones. Use simple expressions,avoiding complex vocabulary. Ensure the logical connections between sentences are clear. Deletes the conclusion part of the text.”

中文指令:

句子中的过渡词和连接词换成最基础常用的,使用简单表达,避免复杂词汇,并确保句子逻辑清晰,删除总结部分。这能有效简化文本结构,让其更自然。

3.3 参数设置或换模型

模型的 API 调用参数对结果影响也很大,核实一下温度,如果温度太高就会过于发散,如果太低就会过于呆板,可以设置为 0.5-0.8 之间,观察是否能够有所改善。

GPT 和 DeepSeek 有时候指令遵循能力偏弱,可以尝试使用 Claude 3.7 Sonnet 、Gemini 2.5 Pro等。

3.4 后置处理

如果解决不了,可以再加一个后置处理。如创建一个“去 AI 味” 的“助手”,告知它寻找潜在的“AI 味道”,结合历史聊天记录和上述角色设置进行二次优化。

四、总结

提示词工程是一个不断调优的过程,每次调优后都需要测评,最好构造出有代表性的测评数据,避免每次变量不同,输入不同等导致测评的结论不准确。

提示词调优没有标准答案,如果效果还不符合预期,需要继续分析继续调优。

http://www.xdnf.cn/news/4406.html

相关文章:

  • 力扣热题100,力扣49.字母异位词分组力扣128.最长连续序列力扣.盛水最多的容器力扣42.接雨水(单调栈)
  • 城市开发杂志城市开发杂志社城市开发编辑部2025年第5期目录
  • 免费开源且离线的图片放大工具
  • RS485/modbus转profibus DP转换网关
  • TCP 协议设计入门:自定义消息格式与粘包解决方案
  • 英语二大作文
  • 芝法酱躺平攻略(22)——rabbitmq安装和使用(二)
  • 42 python http之urllib库
  • 论软件的可靠性设计
  • 编码器型与解码器型语言模型的比较
  • 基于亚博K210开发板——独立按键中断实验
  • Android开发-创建、运行、调试App工程
  • 数字中国 | 史宾格荣获 “2025数字中国创新大赛”银奖
  • 安卓基础(点击按钮动态添加视图到容器)
  • ABAQUS三维CT重建插件CT2Model3D V2版本
  • MySQL初阶:基础增删改查(CRUD)
  • docker stack deploy多服务集群堆栈搭建详细指南
  • 实现滑动选择器从离散型的数组中选择
  • Prometheus的安装部署
  • create-vue搭建Vue3项目(Vue3学习2)
  • Transformer面经
  • JavaScript性能优化实战:从瓶颈分析到解决方案
  • 0-带在线搜索和自适应的尺度组合优化神经改进启发式算法(未完)(code)
  • 连接mysql时 Public Key Retrieval is not allowed 问题
  • 前端面试每日三题 - Day 26
  • RabbitMQ 添加新用户和配置权限
  • 龙虎榜——20250506
  • python的selenium操控浏览器
  • k8s service的类型
  • 如何选择 边缘计算服务器