Prompt 工程实验复盘:温度、Top-P 与 RAG 的实测笔记

举报
yd_230305343 发表于 2026/10/27 00:22:33 2026/10/27
【摘要】 这篇笔记来自最近一周的几组对照实验,问题都来自真实调用:同一份提示,为什么换个参数、换个写法,输出就判若两人?先说结论:参数决定输出的“性格”,提示决定输出的“格式”,而检索与行动循环决定它能不能“说对事”。一、temperature:1 与 0.1 是两种性格用同一道“给一款笔记应用写三条宣传语”测试。temperature=1 时,三次运行几乎不重样:有走情感路线的,有玩谐音梗的,其中一...

这篇笔记来自最近一周的几组对照实验,问题都来自真实调用:同一份提示,为什么换个参数、换个写法,输出就判若两人?先说结论:参数决定输出的“性格”,提示决定输出的“格式”,而检索与行动循环决定它能不能“说对事”。


一、temperature:1 与 0.1 是两种性格

用同一道“给一款笔记应用写三条宣传语”测试。temperature=1 时,三次运行几乎不重样:有走情感路线的,有玩谐音梗的,其中一次还把“云端同步”写成了“云端漫步”——有创意,但需要人工挑。temperature=0.1 时,三次输出高度一致,措辞稳妥,适合写接口说明、故障排查清单这类容错率低的文本。我的用法是:头脑风暴开高,结果交付开低;如果一次调用就要直接上生产,0.1 远比 1 省心。


二、top_p:截断不是降温,是划线

top_p=0.9 与 temperature=1 搭配时,输出仍有变化,但离谱的词基本消失了;top_p=0.1 时,即使 temperature=1,输出也立刻收敛,几乎像 0.1 的温度。区别在于机制:temperature 是给所有候选词重新分配概率,top_p 是直接把累计概率之外的长尾词砍掉。实测体会:想保留多样性又不想翻车,调 top_p 比一味压温度更划算;两个参数同时拉到最低,等于双重上锁,适合格式固定的抽取任务。


三、少样本提示:格式对齐最便宜的办法

让模型按固定 JSON 输出时,零样本提示经常多出解释文字、少个字段。给了两个“输入—输出”示例后,字段名、顺序、空值写法一次对齐,后续十次调用零返工。关键是示例要覆盖边界:给一个正常样本,再给一个字段缺失的样本,模型才知道缺失时该填 null 而不是编造。少样本不是教知识,是立规矩,示例越像真实数据,效果越稳。


四、CoT:只用在需要算、需要推的地方

链式思考在多步算术、条件排查这类任务上提升明显:让模型先列已知条件、再分步推导,错误率肉眼可见地下降。但在写宣传语、做开放式总结时,CoT 反而会把简单回答拖长,还容易在中间步骤自我说服、编出不存在的前提。我的判断标准是:答案能一步直达就不用 CoT;需要中间结论才能得出最终结论时,再让它一步步来。


五、RAG:分段、检索、增强、生成,四步缺一不可

一次问答里,我让模型直接回答公司内部产品的退货政策,它答得流畅自信,却把 7 天说成了 30 天——典型的含糊响应:语气肯定,事实错误。改成 RAG 后流程是四步:先把文档切成带标题、按语义边界分段的块;再用问题向量检索最相关的三段;然后把这三段原文拼进提示做增强;最后才让模型基于材料作答,并要求答不出就说不知道。这次它准确引用了 7 天政策。教训是:RAG 的价值不在“用了向量库”,而在分段质量与“无依据不回答”的约束;检索回来的材料不对,后面写得再漂亮也是错的。


六、ReAct:思考—行动—观察的循环

需要查资料、调工具的任务,单次生成不够用。ReAct 让模型先思考“下一步缺什么”,再行动(调用搜索或接口),然后观察返回结果,决定是继续查还是作答。实测中它会在搜索结果不符时换关键词再查,而不是像纯生成那样一次编到底。代价是调用次数和延迟上升,循环还要设上限,防止它在查不到时无限兜圈。适合的场景是:答案不在模型脑子里,而在某个工具或数据库里。


复盘下来,Prompt 工程没有银弹:温度与 top_p 管随机性,少样本管格式,CoT 管推理,RAG 管事实,ReAct 管行动。先想清楚任务缺的是哪一块,再动对应的旋钮,比把所有技巧堆在一起有效得多。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。