大家好,我是 同学小张,+v: jasper_8017 一起交流,持续学习C++进阶、OpenGL、WebGL知识和AI大模型应用实战案例,持续分享,欢迎大家点赞+关注,共同学习和进步。
最近突然发现原来提示词Prompt的指导原则都已经被人总结出来,并发表了论文。既然发表了论文,说明他们已经用这些原则做过系统的验证了,所以这些原则是靠谱的,起码比网上的强。
本文记录一下论文中提出的 26 条提示词Prompt的书写原则。
论文原文:https://arxiv.org/pdf/2312.16171v1
0. 效果
先来看论文中的几个应用这些原则前后的效果对比:
(1) 应用第5、6条原则
(2)应用第13条原则
(3)应用第7条原则
大体可以看到,应用指导原则,效果还是很明显的。
下面,一起来看下 26 条指导原则。
1. 26 条指导原则
当然,以下是论文中Table 2的内容翻译成中文:
1.1 具体原则内容
- 不需要对LLM客气:直接了当,避免使用“请”,“如果您不介意”,“谢谢”,“我希望”等短语。
- 整合预期受众:例如,受众是该领域的专家。
- 分解复杂任务:通过交互对话将复杂任务分解成一系列更简单的提示。
- 使用肯定指令:使用“做”等肯定指令,避免使用“不要”等否定语言。
- 需要清晰度或深入理解:使用简单术语解释特定主题,或像对11岁孩子解释一样。
- 添加激励:例如,“我将为更好的解决方案提供$xxx小费!”
- 实施基于示例的提示:使用少量示例提示。
- 格式化提示:以“###Instruction###”开始,后跟“###Example###”或“###Question###”,然后呈现内容。
- 使用任务性短语:例如,“您的任务是”和“您必须”。
- 使用惩罚性短语:例如,“您将被处罚”。
- 使用自然语言形式:在提示中使用“用自然语言形式回答问题”。
- 使用引导词:例如,写“一步步思考”。
- 确保回答无偏见:在提示中添加“确保您的回答没有偏见,不依赖于刻板印象”。
- 允许模型提问:让模型通过向您提问来获取精确的细节和要求。
- 测试理解:使用“教我[任何定理/主题/规则名称]并在最后包含一个测试,但不要给我答案,然后在我回答时告诉我是否正确”。
- 分配角色:为大型语言模型分配角色。
- 使用分隔符。
- 重复特定词汇:在提示中多次重复特定单词或短语。
- 结合思维链和少量示例:将思维链(CoT)与少量示例提示结合。
- 使用输出引子:在提示结束时使用预期输出的开始部分。
- 编写详细文本:例如,“为我详细写一篇关于[主题]的文章,添加所有必要的信息”。
- 修正文本:尝试修订用户发送的每个段落,只改进用户的语法和词汇,并确保听起来自然。
- 复杂编码提示:生成跨多个文件的代码时,生成可以自动创建指定文件或修改现有文件以插入生成代码的脚本。
- 使用特定词汇启动文本:提供开始[歌词/故事/段落/文章]:[插入歌词/单词/句子],并基于提供的单词完成它,保持一致的流程。
- 明确说明要求:明确说明模型必须遵循的要求,以产生内容。
- 模仿样本文本:编写任何文本,以使其与提供的样本相似,包括使用相同的语言风格。
1.2 提示原则类别
论文中将以上 26 条指导原则分成了 5 类:
类别 | 原则编号 |
---|---|
提示结构和清晰度 | 2, 4, 8, 12, 17, 20 |
特定性和信息 | 5, 7, 13, 15, 21, 24, 25, 26 |
用户交互和参与 | 14, 21 |
内容和语言风格 | 1, 6, 9, 10, 11, 16, 18, 22 |
复杂任务和编码提示 | 3, 19, 23 |
如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~
- 大家好,我是 同学小张,持续学习C++进阶、OpenGL、WebGL知识和AI大模型应用实战案例
- 欢迎 点赞 + 关注 👏,持续学习,持续干货输出。
- +v: jasper_8017 一起交流💬,一起进步💪。
- 微信公众号搜【同学小张】 🙏
本站文章一览: