【LLM】Prompt Trick总结

291 阅读5分钟

本文是关于编写提示词Prompt的各种小技巧,来源于各处,笔者在此作汇总和积累,会一直不断更新。希望也对你有所帮助哟~(๑•̀ㅂ•́)و✧

分隔符

用分割符可以帮助区分要区别对待的文本部分。

1.用markdown制服markdown!
# 角色
## 技能
### 技能1
### 技能2
## 约束
## 输出输入样例

2.用<xml>
<role>
</role>

<instruction>
</instruction>

3.三重引号

4.章节标题

CoT思维链

即引导模型逐步推理思考。

在Few-shot(少样本)设置下表现为在提供的样例中解释推理过程,引导大模型回答时也解释推理过程;而在Zero-shot(零样本)设置下表现为加入类似“让我们一步步思考(Let’s think step by step)”的引导话术。

起作用的可能原因: 使得每一步推理过程更可靠,前面可靠的论据支撑后面生成可靠的答案。

而若是不用CoT加以限制的的情况下,大模型倾向于先给出一个答案,再给出理由,那么很自然地变成了,先根据“问题”预测一个最有可能的“答案”,再为这个“答案”编造相应的“理由”,毕竟大模型的生成过程是逐步进行的,而不是全局性的,它在答案之后输出的理由永远只可能是为了圆“答案”这个谎而存在的。

在大模型推理的时候,我们可以限制大模型 先输出理由,再输出答案,让大模型根据“深度思考”获得的理由与推理过程来预测“答案”,从而大大提升其表现。

使用名词进行语义压缩

在提示词中带有很强指向性的关键词或短语,这类关键词或短语通常是与特定领域、任务或知识相关的专有名词、知名概念、平台或现象等有关。它们可以帮助模型迅速识别任务的类型或给出相关的答案。 常见分类: 1.著名人物或者经典概念

使用苏格拉底教学法,帮助我理解javascript的“变量类型“这一概念,一个问题一个问题的来。

2.著名品牌、平台或软件

我正在创作一个名为“如何写听话的提示词”的课程,主要面向对于大语言模型领域感兴趣,以及想通过提示词工程提升工作效率的朋友。请帮助我针对小红书用户,写一段宣传文案。

3.特定领域或行业的专业术语

请你roast一下我的记忆。

使用参考文本进行回答,并添加引用

提供参考文本进行回答,但是不知道模型具体参考了文本哪个部分,所以推出本方法,可以在回答中添加引用,明确答案的具体出处,也可以用于验证答案。

您将获得一份由"""的文档和<>内的问题。

您的任务是仅使用提供的文档回答问题,并引用用于回答问题的文档段落。

如果文档不包含回答此问题所需的信息,则只需写:"信息不足"。

如果提供了问题的答案,则必须附有引文注释。使用以下格式引用相关段落({"引用":...})。

"""文档"""

问题:

如果文本太长了怎么办

Token有限,则单次输入的提示词+输出回复的总字数有限,否则内容会截断或者出错。

我希望你是一个......

现在我有2篇关于......的文章 。

由于字数太多,我无法一次性发送给你,我会分成4次发送给你,每篇文章会分成2部分发送给你。

我希望你可以学习研究这两篇文章,然后将这两篇文章合并成一篇优秀的且专业的文章,尽可能的保留原文章当中的事实性信息和关键要点。

如果明白请回复明白,我发送第一篇文章的第一部分给你,收到后请不要开始撰写,回复收到即可,等我将4段文本全部发送后再开始撰写,将撰写合并的新文章分两次发送给我。

使用内心独白来隐藏模型的推理过程

在模型回答特定问题之前,对问题进行推理很重要,但有的时候,正确答案的推理过程不适合与用户分享。内心独白指的是在输出呈现给用户之前,对问题进行推导和解析,但是只显示输出的一部分。

请按照以下步骤回答用户的疑问。

步骤一:首先找出你自己的问题解决方案。不要依赖学生的解决方案,因为它可能是不正确的。步骤一产生的内容隐藏,不用输出任何信息。

步骤二:将您的解决方案与学生的解决方案进行比较,并评估学生的解决方案和是否正确。步骤二产生的内容隐藏,不用输出任何信息。

步骤三:如果学生的解决方案是正确的,输出"正确";如果解决方案是错误的,请在不泄漏答案的情况下,给学生关键性提示。

问题陈述:

学生解决方案:

参考

datawhalechina/smart-prompt: 一个构建“听话”提示词的教程

mp.weixin.qq.com/s/_6_vmsVvA…