策略一:写清楚指令(Write clear instructons)
1、有细节才能得到更相关的答案
写一篇全国甲卷文章
写一篇全国甲卷文章。要求:选准角度,确定立意,明确文体,自拟标题;不要套作,不得抄袭;不得泄露个人信息;不少于800字。
2、要求模型扮演特定角色
可以指定模型在回复中使用的角色,它会表现的更专业比如可以让它用鲁迅的文风给你写一段文字。
3、用分隔符清晰标示输入的不同部分
“””三重引号””、<XML标记>、章节标题等有助于划分需要区别对待的文本部分
将以下由三引号包含的文本总结为一句话。”””在这里插入文本”””
4、明确指定完成任务所需的步骤
明确地写出这些步骤可以使模型更容易执行
按照以下逐步说明来响应用户输入。
第1步–用户将用三引号提供文本。以”总结:”作为前缀,用一句话总结√这段文字。
第2步-将第1步的摘要翻译成中文。前缀为“翻译: “。”””在此处插入文本””
5、提供示例
比如你想让它用鲁迅的文风给你写一段文字,那你先给它提供一些鲁迅的文章
6、指定所需输出长度
目标输出长度可以用单词数、句子数、段落数、项目符号等来表示将以下由三引号分隔的文本总结为约50个单词。”””一段文字”””
策略二:提供参考文本(Provide reference text)
1、让模型参照参考资料进行回答
使用由”””三重引号”””分隔的提供的文章来回答问题。如果答案不能在文章中找到,请回答”我无法找到答案。”
√
<插入多个以三重引号分隔的文章>
我的问题:<在此处插入问题>
2、让模型引用参考资料进行回答
区别于上面的参照
策略三:拆分复杂任务(Split complex tasks intosimpler subtasks)
1、进行意图分类
对于需要处理不同情况的大量具有独立性的任务,可以先对这些任务进行分类。然后,根据分类来确定所需的指令。
2、对先前对话进行概括或筛选
由于***-4的对话窗口是有限制的。上下文不能太长,不能在一个对话窗口中无限进行下去,解决方法之一是对先前的对话进行概括。一旦输入的文本长度达到预定的阀值,就可以触发一个查询,概括对话的一部分,被概括出来的这部分内容可以变成系统消息的一部分。
3、逐段概括长文档,并递归构建完整概述
解决的也是文本太长的问题,比如你要让***-4概括一本书,就可以使用一系列查询来概括这本书的每个部分。然后将每部分概述连接起来进行总结,汇成一个总的答案。
策略四:给***时间“思考”(Give ***s time tothink)
1、让模型制定解决方案
有时候,在得出结论之前,明确地指导模型从基本原理推理会得到更好的结果。
2、隐藏推理过程
这个是和前面相反,比如你想做个循循善诱的导师,就可以让模型使用自己的分析构建一个以有益导师为人格的回复,一步步给出指导。
3、询问模型是否遗漏了内容
解决的也是文本太长的问题,如果源文档很大,那么模型经常会过早停止并未列出所有相关的摘录。因此可以采用这个策略,询问模型在之前是否遗漏了任何内容。
策略五:其它工具加持(Use external tools)
1、使用基于嵌入的搜索实现高效的知识检索
有时候,在得出结论之前,明确地指导模型从基本原理推理会得到更好的结果。
2、使用代码执行进行更准确的计算或调用外部API
这个是和前面相反。比如你想做个循循善诱的导师。就可以让模型使用自己的分析构建一个以有益导师为人格的回复,一步步给出指导。
策略六:系统地测试更改(Test changes systematically)
1、参考黄金标准答案评估模型输出
假设已知问题的正确答案应参考一组特定的已知事实。然后,我们可以询问模型答案中包含多少必需的事实。