prompt方法论
https://www.zengqueling.com/pffl/
- [零样本提示]
- [少样本提示]
- [链式思考(CoT)提示]
- [自我一致性]
- [生成知识提示]
- [思维树(ToT)]
- [检索增强生成 (RAG)]
- [自动推理并使用工具(ART)]
- [自动提示工程师]
- [Active-Prompt]
- [方向性刺激提示]
- [ReAct框架]
- [多模态思维链提示方法]
- [基于图的提示]
prompt官方教程(基于GPT-4)
## 写清楚说明清晰
### 在您的查询中包含详细信息,以获得更相关的答案
### 要求模特采用一个角色
### 使用分隔符来清楚地指示输入的不同部分
### 指定完成任务所需的步骤
### 提供示例
### 指定输出的所需长度
## 参考文本
### 指导模型使用参考文本回答
### 指导模型用参考文本中的引文来回答
## 将复杂的任务拆分为更简单的子任务
### 使用意图分类来识别与用户查询最相关的说明
### 对于需要非常长对话的对话应用程序,总结或过滤之前的对话
### 分段总结长文档,并递归构建完整的摘要
## 给GPT时间“思考”
### 在匆忙得出结论之前,指示模型制定自己的解决方案
### 使用内心独白或一系列查询来隐藏模型的推理过程
### 询问模型是否在之前的通行证中遗漏了什么
## 使用外部工具
### 使用基于嵌入的搜索来实现高效的知识检索
### 使用代码执行来执行更准确的计算或调用外部API
## 系统地测试更改
### 参考黄金标准答案评估模型输出
1 写清楚说明详细(**占比80%**)
GPT无法读懂你的思想。如果输出太长,请要求简短的回复。如果输出太简单,请要求专家级写作。如果您不喜欢这种格式,请演示您想要看到的格式。GPT猜测你想要什么的次数越少,你得到它的可能性就越大。
2 提供参考文本
GPT可以自信地发明假答案,特别是当被问及深奥的话题或引用和URL时。就像一张笔记可以帮助学生在测试中做得更好一样,为GPT提供参考文本可以帮助以更少的捏造来回答。
【其他例子】https://mp.weixin.qq.com/s/GPXxiNBEkRbgMYmhWteSpQ
3 将复杂的任务拆分为更简单的子任务
正如软件工程中将复杂系统分解为一组模块化组件的良好做法一样,提交给GPT的任务也是如此。复杂的任务往往比简单的任务具有更高的错误率。此外,复杂的任务通常可以重新定义为更简单任务的工作流程,其中使用早期任务的输出来构建后续任务的输入。
4 给GPT时间“思考”
如果要求将17乘以28,你可能不会立即知道,但仍然可以随着时间的推移而解决。同样,GPT在试图立即回答时会犯更多的推理错误,而不是花时间来找出答案。在答案之前询问一连串的推理可以帮助GPT更可靠地找到正确答案。
5 使用外部工具
通过向GPT提供其他工具的输出来补偿GPT的弱点。例如,文本检索系统可以告诉GPT相关文档。代码执行引擎可以帮助GPT进行数学和运行代码。如果一项任务可以通过工具而不是GPT更可靠或高效地完成,请卸载它以充分利用两者。
6 系统地测试更改
如果你能测量它,提高性能就更容易了。在某些情况下,对提示的修改将在一些孤立的例子中实现更好的性能,但在一组更具代表性的例子上会导致整体表现更差。因此,为了确保变化对性能是净正的,可能需要定义一个全面的测试套件(也称为“评估”)。
总结:
细节法:给出更清晰的指令,包含更多具体的细节
分解法:将复杂的任务分解为更简单的子任务 (Let's think step by step, CoT,LangChain等思想)
记忆法:构建指令使模型时刻记住任务,确保不偏离任务解决路径(system 级 prompt)
解释法:让模型在回答之前进行解释,说明理由 (CoT 等方法)
投票法:让模型给出多个结果,然后使用模型选择最佳结果 (ToT 等方法)
示例法:提供一个或多个具体例子,提供输入输出示例 (one-shot, few-shot 等方法)
上面这些方法最好结合使用,以实现在复杂任务中实现使用不可靠工具(LLMs)构建可靠系统的目标。
补充说明:
大语言模型支持颜文字
Emoji、颜文字 Emoji (💰👨👩🎅👼🍟🍕) 表情符号也是可以使用并且非常准确的。因为 Emoji 只有一个字符,所以在语义准确度上表现良好。关于 emoji 的确切含义,可以参考Emoji List, v15.0 (unicode.org),同时 Emoji 在构图上有影响。
原创文章,作者:曾确令,如若转载,请注明出处:https://www.zengqueling.com/pgfjcg/