AGI系列(2):掌握AI大模型提示词优化术,从容应对各种提问场景

2024-05-27 00:44

本文主要是介绍AGI系列(2):掌握AI大模型提示词优化术,从容应对各种提问场景,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在上一篇大模型提示词的文章中,笔者介绍一种通用提示词优化的方法,这种方法基本上可以覆盖大部分人的一般场景需求。
没看到上文的读者,可以通过如下链接去看下:
👉👉👉 AGI系列(1):掌握AI大模型提示词优化术,提问准确率飙升秘籍
但是总有些小场景的需求,是没法满足的,或是差强人意的,对于这块漏洞,在本文中,我们也把它补上。

对于这块的处理,笔者在参考了国外最新的大语言提示工程相关的论文,其中提炼出了26条建议,其均是对大模型的回复准确率有所提升,堪称覆盖各种场景。

读者在阅读之后,在为大模型编写简单提示词时,可以按需取用:

  1. 如果你想要简洁的回答,不用太客气,直接说就行,不用加上“请”、“如果你不介意”、“谢谢”、“我想要”等客套话。

  2. 在提问时说明目标受众,例如,告诉 LLM 你的受众是该领域的专家。

  3. 把复杂的任务分成几个简单的小问题,逐步解决。

  4. 用肯定的语气说“做某事”,避免用否定语气说“不要做某事”。

  5. 当你需要更清楚或深入了解某个话题时,可以这样提问:

  • 用简单的语言解释[具体话题]。
  • 向我解释,就像我 11 岁一样。
  • 向我解释,就像我是[领域]的新手一样。
  • 用简单的英文写[文章/文本/段落],就像你在向 5 岁的小孩解释。
  1. 加上“如果有更好的解决方案,我会奖励 xxx”。
  2. 用具体的例子来提问(即使用几个示例来引导)。
  3. 在你的提问前写上“###指示###”,如果相关的话,再加上“###示例###”或“###问题###”,然后再写你的内容。用空行分隔指示、示例、问题、背景和输入数据。
  4. 使用“你的任务是”和“你必须”这样的短语。
  5. 使用“你将受到惩罚”这样的短语。
  6. 使用“像人一样自然地回答问题”这样的短语。
  7. 用引导词,比如“一步步来思考”。
  8. 在提问中加上“确保你的回答没有偏见,避免刻板印象”。
  9. 让 LLM 向你提问,直到它有足够的信息来回答你。例如,“从现在起,请你问我问题,直到你有足够的信息……”。
  10. 如果你想测试对某个话题的理解,可以这样说:“教我[定理/话题/规则],最后加个测试,等我回答后告诉我是否正确,但不要提前给答案。”
  11. 给 LLM 指定一个角色。
  12. 使用分隔符。
  13. 在提问中多次重复某个特定的词或短语。
  14. 将链式思维(CoT)和少量示例的提示结合使用。
  15. 使用输出引导语,在你的提问结尾加上预期回答的开头部分。
  16. 想写详细的文章、段落或文本时,可以这样说:“请为我写一篇详细的[文章/段落],内容涉及[话题],并加入所有必要的信息。”
  17. 如果你要修改特定文本但不改变风格,可以这样说:“请修改用户发送的每个段落,只需改进语法和词汇,使其听起来自然,但保持原有的写作风格,确保正式的段落仍然正式。”
  18. 当你有复杂的代码提示需要分成不同文件时,可以这样说:“从现在起,每当你生成跨多个文件的代码时,生成一个[编程语言]脚本,以自动创建指定的文件或修改现有文件以插入生成的代码。”然后提问。
  19. 当你想用特定的词、短语或句子来开始或继续一段文字时,可以使用以下提示:“我提供给你开头部分[歌词/故事/段落/文章…]: [插入歌词/词语/句子]。请根据提供的词语完成它,并保持一致的流畅性。”
  20. 明确指出模型必须遵循的要求,以关键词、规则、提示或指令的形式。
  21. 想写与提供的样本相似的文本时,可以这样说:“请根据提供的段落[/标题/文本/文章/答案]使用相同的语言。”

其中对提示词回复表现最优的是:第14, 26条

次之的是:第2, 5,9, 15,16, 20, 21, 24, 25;

再次的就是余下的。

各位在遇到提示词问题时,可按需取用。

这篇关于AGI系列(2):掌握AI大模型提示词优化术,从容应对各种提问场景的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1006049

相关文章

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX