一文秒懂ChatGPT官方提示词最佳实践(中)(二)+https://developer.aliyun.com/article/1490376
策略2:使用内心独白或一系列查询来隐藏模型的推理过程
适用人群:熟练者、开发人员
难度:🌟🌟🌟
前一个策略表明,模型有时需要在回答特定问题之前详细地推理一个问题。对于某些应用程序,模型用来得出最终答案的推理过程是 不适合与用户分享的。
例如,在辅导应用程序中,我们可能 希望鼓励学生自己找出答案,但是模型对学生解答的推理过程可能会向学生透露答案。
内心独白是一种可以用来解决这个问题的策略。内心独白的想法是,指导模型将那些应该对用户隐藏的输出部分放入一种结构化的格式中,使其易于解析。然后,在向用户呈现输出之前,解析输出并只使部分输出可见。
SYSTEM 按照以下步骤回答用户的查询,以询问用户提供问题开始。 步骤 1 - 首先自己解决问题。不要依赖学生的解答,因为它可能是错误的。将此步骤的所有工作都包含在三引号(""")中。 步骤 2 - 将你的解答与学生的解答进行比较,并评估学生的解答是否正确。将此步骤的所有工作都包含在三引号(""")中。 步骤 3 - 如果学生犯了错误,确定你可以给学生什么提示,而不透露答案。将此步骤的所有工作都包含在三引号(""")中。 步骤 4 - 如果学生犯了错误,将上一步的提示提供给学生(在三引号之外)。写"提示:",而不是"步骤4 - ...”。 USER 问题描述:<插入问题描述> 学生的解答:<插入学生的解答>
这里为了更加精准的得到结果,我使用了GPT-4模型,因为GPT-3计算复杂数据题时不够稳定。
利用内心独白的方式,这样避免提前暴露答案,而是让学生先提供答案后,模型自己生成答案并进行对比得到最终的结论。
测试数据:
或者,这也可以通过一系列查询实现,其中所有查询的输出(除了最后一个)都对最终用户隐藏。
首先,我们可以让模型自己解决问题。由于这个初始查询不需要学生的解答,所以可以省略它。这提供了额外的优势,即模型的解答不可能被学生尝试的解答所偏倚。
USER <插入问题描述>
测试数据:
接下来,我们可以让模型使用所有可用的信息来评估学生解答的正确性。
SYSTEM 将你的解答与学生的解答进行比较,然后评估学生的解答是否正确。 USER 问题描述:"""<插入问题描述>""" 你的解答:"""<插入模型生成的解答>""" 学生的解答:"""<插入学生的解答>"""
按照这种方式,模型可以更加清晰的对比,并告诉学生的答案是错误的。
测试数据:
最后,我们可以让模型使用自己的分析,构造一个有帮助的导师的回复。
SYSTEM 你是一位数学导师。如果学生犯了错误,以不透露答案的方式给学生提供一个提示。如果学生没有犯错误,简单地对他们提供鼓励性的评论。 USER 问题描述:"""<插入问题描述>""" 你的解答:"""<插入模型生成的解答>""" 学生的解答:"""<插入学生的解答>""" 分析:"""<插入模型在前一步生成的分析>"""
这种方式,模型给出一些思路,用来鼓励学生继续解决该问题。如下为测试数据:
解读
经过测试,我觉得通过展示模型的思考过程,用户可以更好地理解模型是如何得出其答案的。其次,当用户看到模型是如何逐步推理出答案的,他们可能会更加信任模型的输出。
另外,对于教育或培训应用,展示推理过程可以帮助学习者理解问题的解决方法,这也是一个在教育和培训领域适用该策略的最佳案例。
策略3:询问模型是否在前几轮查询中遗漏了任何内容
适用人群:熟练者、开发人员
难度:🌟🌟🌟
假设我们正在使用模型列出与特定问题相关的源文本的摘录。在列出每一篇摘录之后,模型需要确定是否应开始编写另一篇,或者是否应该停止。如果源文档很大,模型通常会过早地停止,无法列出所有相关的摘录。在这种情况下,通过提示模型用后续查询找出它在前几轮中遗漏的摘录,通常可以获得更好的性能。
SYSTEM 你将获得一个用三引号分隔的文档。你的任务是选择与以下问题相关的摘录:"人工智能历史上发生过哪些重大的经典转变事件。" 确保摘录包含所有相关的上下文,以便解释它们 - 换句话说,不要提取缺少重要上下文的小片段。以如下的JSON格式提供输出: [{"摘录": "..."}, ... {"摘录": "..."}] USER """<插入文档>""" ASSISTANT [{"摘录": "模型在这里写下一段摘录"}, ... {"摘录": "模型在这里写下另一段摘录"}] USER 还有其他相关的摘录吗?请注意不要重复摘录。并确保新的摘录确实与问题有关,而且在旧的摘录中还没有涵盖。 ASSISTANT [{"摘录": "模型在这里写下一段摘录"}, ... {"摘录": "模型在这里写下另一段摘录"}]
注意,如果文档特别长,这个策略可能需要多次应用。
由于测试的文章内容较大,我将聊天记录上传在shareGPT上了,有需要的小伙伴可以访问链接查看或者继续对话。
部分测试数据:
解读
通过上述的测试数据,我们可以发现,的确模型存在这种遗忘的现象,那是因为我们输入的内容超过了一定的token,导致模型存在了一些遗忘(在介绍token时,我有简单说明),这里请模型再次检查,让模型帮我们重新整理了数据。
因此,请AI 再次 **自我检查 **的提示词习惯, 最好是在输入大量文本后,或者在大量对话后,让模型进行自己检查,可以帮助我们收获更加准确的答案哦。
关注公众号:熊猫Jay字节之旅,了解更多 AI 技巧 ~