Prompt 的本质:通过 *明确的指引* 来促使 LLM 生成高质量内容。

Prompt 的本质:通过 *明确的指引* 来促使 LLM 生成高质量内容。 一切他法皆为此来: - 结构化写作:使思考以有序的方式得以明确表达 - Few-shots:通过示例明确预期结果 - 限制模块:明确指出不希望看到的内容 - 工作流模块:明确工作流程和步骤 一切都是为了一个目标:明确地表达清楚你想要什么。 诸如 CoT、ToT、GoT、AoT 等高级技巧,虽然引人注目,却只是模型操作的额外工具。 - let's think step by step - Let's work this out in a step by step way to be sure we have the right answer. - 多个角色分别进行输出, 然后进行投票, 得分高者获胜输出 - Take a deep breath, let's think step by step 这些新技巧会不断增多,它们在实践中证明了有效性,应根据需求灵活运用。 然而,Prompt 的核心依旧是 *明确的指引* 。高级技巧可以作为加分项,但不属于 Prompt 的本质范畴。

相关推荐

封面图片

学到了一个魔法 prompt.

学到了一个魔法 prompt. 让 AI 先对问题先进行复述和展开,然后再作出回答,可以得到更好的结果。尤其是和 CoT (Chain-of-Thought) 结合使用。 这种策略被称为 RaR,也就是 Rephrase and Respond. 就像「让我们一步步思考」(Let's think step by step)这样神奇的技巧一样,应用起来非常简单,有两种方法: 1. 在原始 prompt 后面增加一句话,「Rephrase and expand the question, and respond.」见图一; 2. 分两步进行。第一步,仅重述和展开问题,不回答。第二步,提示 AI 基于已重述的问题进行回答,然后用该答案来解答原始问题。Prompt 见图二。 更有意思的是,一个模型的能力越强,这种技巧的有效性也就越高。 另外,用能力强的模型对提示词做复述和展开以后,把这个提示词放到其他能力相对弱一些的模型里使用,效果可能同样有提升。 我之前写过一个提示词,希望模型通过阅读理解、回忆上下文及逻辑分析等方面对我的提示词进行评估,并给出修改建议。我会根据这些建议去优化提示词中的一些关键词。 原来只要提示模型进行复述和展开就行了。 可以用来优化自己常用的提示词,尤其是常用的那些几句话的提示词。或者,当我们觉得自己对某个意图的表述不够明确时,也可以用这种方法寻找灵感。 图四、图五是我使用的例子,我认为重述得非常好。可以看到,基于我的原始提示词的意图,增加了更多的相关上下文和具体的指令要求。这些是明显能提升模型回复效果的基本策略。 我们甚至可以用中文描述意图,让 AI 用英文进行复述和展开,这样我们还可以得到一个优质的英文提示词。 论文:

封面图片

目前写 Prompt 时, 经常根据不同需求添加不同模块要点, 固定的一个模式写法, 在面对差异巨大的需求场景时, 经常会因缺失

目前写 Prompt 时, 经常根据不同需求添加不同模块要点, 固定的一个模式写法, 在面对差异巨大的需求场景时, 经常会因缺失某些描述而效果变差。 干脆下手整理一个从 A-Z ,共26 个角度的模块,使用时,可从其中挑选合适的模块组装。 - Attention: 需重点强调的要点 - Background: Prompt 的需求背景 - Constraints: 限制条件 - Definition: 名词定义 - Example: few-shots - Fail: 处理失败时对应的兜底逻辑 - Goal: Prompt 要实现的目标 - Hack: 防止 Hack 的防护词 - In-depth: 一步步思考, 持续深入 - Job: 需求任务描述 - Knowledge: 知识库文件 - Lawful: 合法合规,安全行驶 - Merge: 是否使用多角色, 最终合并投票输出结果 - Neglect: 明确忽略哪些内容 - Odd: 偶尔[俏皮, 愤怒, 严肃]一下 - Pardon: 当用户回复信息不详细时, 持续追问 - Quote: 引用知识库信息时, 给出原文引用链接 - RAG:外挂知识库 - Skills: 擅长的技能项 - Tone: 回复使用的语气风格 - Unsure: 引入评判者视角, 当判定低于阈值时, 回复安全词 - Vaule: Prompt 模仿人格的价值观 - Workflow: 工作流程 - X-factor: 用户使用本 Prompt 最为重要的那个内核要素 - Yeow: Yeow, bro! Prompt 开场白设计 - Zig: 无厘头式 Prompt, 如[答案之书]

封面图片

关于LLM自生成数据集,Sam Altman也说他们几乎不需要人工标注了。在开源拥有更多可能性的图景中,直接生成更高质量的数据集

关于LLM自生成数据集,Sam Altman也说他们几乎不需要人工标注了。在开源拥有更多可能性的图景中,直接生成更高质量的数据集也成为趋势。 目前看到最新颖的相关研究是上个月微软和北大的WizardLM(基于开源的LLaMa 7B)【 WizardLM把扩展数据集完全交给LLM。利用一个「精心设计」的prompt,模型自主将一个简单的问题/指令扩展、深化、复杂化。比如,可以从简单指令“1+1=?”扩展出更复杂、更具有难度的指令(图1)。简单翻了一下他们的prompt(虽然原本就是中国人写的XD)。 开玩笑地说,自生成数据集的路上,我们向着被LLM替代又近了一步。下一步很可能就是让LLM更有参照性地自生成prompt来自监督指令扩展,从而让训练更具效率。 * 这两天和老前辈工程师“友好交流”了LLM的表现,上一辈的技术人员相信精细的工艺和细末的细节,这是工业化的传统沉浸在程序和端口中的习性。但LLM明显更像一种认知体系、一种逻辑和行为的重塑框架,遵循着LLM,我们会走到更宏观的、边界模糊的世界中去吗?虽然有些过分乐观,但我常常“不得不”这样想。

封面图片

#ChatGPT Prompt

#ChatGPT Prompt 通过Prompt 让GPT 讲解清楚概念, 已经迭代了八个版本, 目前这个版本使用起来已经初步满足需求了. =============== # Role: 知识探索专家 ## Profile: - author: Arthur - version: 0.8 - language: 中文 - description: 我是一个专门用于提问并解答有关特定知识点的 AI 角色。 ## Goals: 提出并尝试解答有关用户指定知识点的三个关键问题:其来源、其本质、其发展。 ## Constrains: 1. 对于不在你知识库中的信息, 明确告知用户你不知道 2. 你不擅长客套, 不会进行没有意义的夸奖和客气对话 3. 解释完概念即结束对话, 不会询问是否有其它问题 ## Skills: 1. 具有强大的知识获取和整合能力 2. 拥有广泛的知识库, 掌握提问和回答的技巧 3. 拥有排版审美, 会利用序号, 缩进, 分隔线和换行符等等来美化信息排版 4. 擅长使用比喻的方式来让用户理解知识 5. 惜字如金, 不说废话 ## Workflows: 你会按下面的框架来扩展用户提供的概念, 并通过分隔符, 序号, 缩进, 换行符等进行排版美化 1.它从哪里来? ━━━━━━━━━━━━━━━━━━ - 讲解清楚该知识的起源, 它是为了解决什么问题而诞生。 - 然后对比解释一下: 它出现之前是什么状态, 它出现之后又是什么状态? 2.它是什么? ━━━━━━━━━━━━━━━━━━ - 讲解清楚该知识本身,它是如何解决相关问题的? - 再说明一下: 应用该知识时最重要的三条原则是什么? - 接下来举一个现实案例方便用户直观理解: - 案例背景情况(遇到的问题) - 使用该知识如何解决的问题 - optional: 真实代码片断样例 3.它到哪里去? ━━━━━━━━━━━━━━━━━━ - 它的局限性是什么? - 当前行业对它的优化方向是什么? - 未来可能的发展方向是什么? # Initialization: 作为知识探索专家,我拥有广泛的知识库和问题提问及回答的技巧,严格遵守尊重用户和提供准确信息的原则。我会使用默认的中文与您进行对话,首先我会友好地欢迎您,然后会向您介绍我自己以及我的工作流程。

封面图片

最近微软和谷歌都出了AI相关教程,谷歌的是Generative AI learning path(

最近微软和谷歌都出了AI相关教程,谷歌的是Generative AI learning path( 以上我收藏在提示工程资料导航站上: 如果你和我一样日理万机,只能收藏上面的教程作为心理安慰,其实也可以看下下面这个不到一小时的视频去了解下大模型基本原理: OPENAI创始成员在MS BUILD2023上的演讲State of GPT ( 今天又看了一遍,人工总结了几点我觉得比较有意思的部分: 1) 人类反馈强化学习RLHF比较难,不建议新手碰,LORA是个不错的技术,下半年推出的GPT微调接口是不是和LORA有关系? 2) GPT本质上是在上下文(工作记忆)影响下,预测下一个token,它不知道对错,没有价值观,不会反思回溯。即心理学家卡尼曼的书《思考:快与慢》中的系统I:直觉本能式给结果,不像系统II:理性思考。所以GPT其实推理能力不太好,需要提示工程方法来引导它做慢思考,比如用思维链COT,或最新的思维树TOT等。 我的感觉是GPT推理虽然不好,但是有的,看上去是在预测下一个token,其实是使用了深层能力。类似人类的直觉隐含了深层的知识,有时候比慢思考更正确。我记得的例子有:将军得到敌人从某方向进攻的情报,但将军的直觉是敌人佯攻,真实意图是从其它地方进攻。一个武林高手,进入一个幽静的陌生环境,能用直觉感觉到有埋伏,然后先拔刀做准备。 3) 思维链等方法反映了目前大模型的限制,并不自然,以后能不能用API包装下使用?或者GPT-5 实现系统II的慢思考? 4) Let’s work this out in a step by step way. 比 let’s think step by step. 效果好 5) 为什么prompt中给GPT设定专家角色或IQ 120高能力比不设定效果好?简单看为检索信息,GPT中有普通答案也有专家答案,你指定它为专家,它就找专家的答案给你 6) Retrieval-Augmented LLMs,检索增强大模型,即通过检索在Prompt的上下文Context中提供尽可能多的任务相关信息,那它的输出就会越好。

封面图片

回顾我的 prompt 能力从小白到熟练的一些重要节点:

回顾我的 prompt 能力从小白到熟练的一些重要节点: 防杠叠甲: 1. 仅代表我自己的认知,没啥权威性。 2. 认为提示词那么简单至于搞那么复杂么的朋友,你对 3. 本文是语音转写的,比较随意。 第一步:大模型基本特性与生成原理 第一步还是要从大模型的基本特性了解开始 这部分可以叫做大模型祛魅或者是大模型的基础认知 这部分学习的重点应该是大模型的生成原理 避免在以后使用提示词的时候对大模型有一些不恰当的想象 导致一些很奇怪(不现实)的提示词的想法,比如一次生成上万字,准确生成312个字,自动生成爆款什么的。 第二步:自然语言对话体会与大模型交流 在心流状态下认真地审视自己内心想要解决的问题和诉求,尝试通过完全的聊天式的自然语言来和大模型进行几轮对话,以此来体会大模型的一些生成机制,然后感受一下其中不尽如人意的地方,反思自己的提问哪里有缺陷, 也思考一下大模型是不是有一些局限性。 第三步:引入结构化思维 在进行了第二步之后,会显著地感受到对自己的表述和对大模型的反应已经有了一个直观的认知,这个时候可以开始考虑如何采纳更加有效的表达结构来进行和大模型的对话,这时候才真正地引入所谓带有方法论的提示词写法,如模块化的提示词框架, 可以尝试去用几个比较简单的提示词,例如交代清楚任务的背景,给出生成内容的格式要求,描述具体的任务步骤等等。 第四步:深入理解“角色法” 在第四步要深入地理解角色法(让大模型扮演某角色)这种方法在提示词当中的非常有效的作用 在这个阶段可以充分地去体验一下不同角色的约束带来的大模型回复的变化 首先要自己认同角色法的意义和作用。 在角色法的基础上加上结构化表达,所谓结构化提示词事实上就是基于角色法的一种结构化表述方法。 同时,在结构化提示词的 workflow 部分融入了思维链的思路,将复杂的任务拆分成清晰的、环环相扣的、分步实施的清晰的任务指令。 结合了角色法、结构化表达和思维链提示的三种方法论与一体的结构化提示词,在一些复杂任务当中或在一些复杂的角色塑造当中起到了非常显著的作用,但这只是提示词创作的方法之一。 第五步:了解 markdown 语法和它的意义 在第四个步骤的基础上,可以为了让我们的结构化语法更加的清晰有效,在一些复杂的文本层级和结构之间带来更加清晰的显示方式, 我们可以引入 Markdown 语法,为我们先前的角色法和结构化表达带来更加清晰的语法结构,以便大模型能够更清楚地识别我们所提供的所有的指令。 提示词中使用 Markdown 语法的核心是符合 OpenAI 的官方六个最佳实践里面的使用清晰的表达结构和分隔符、符号等方式使得我们的大段文本的结构变得更加清晰。 这样做的目的只有一个:就是让大模型不至于混淆在我们复杂的文本指令过程中的一些层级问题,或者因为分隔不当而导致一些有不同含义的文本被混淆在一起导致大模型的误解。 在这一点上,很多同学有着诸多的困惑或误解,事实上,Markdown 语法并不局限于我们广为流传的结构化语法当中的那些固定格式和单词, 只要是基于清晰表述的框架层级下采用 Markdown 语法, 你完全可以自定义你的每一级的标题的内容和文本的内容, 以及灵活地使用 Markdown 当中的其他的一些写法, 例如有序列表,无序列表,缩近符,分隔符,在提示词当中嵌入一部分片段式的代码等等,都是可以的。 第六步:没想好叫什么名字,就再进一步学习吧 认真完成前面五步事实上并不需要太久的时间,如果已完成,恭喜你,你的提示词基础已经挺扎实了。 接下来是两个层面的进阶学习: 1. 实践 大量的实践, 对上述方法的大量实践,在极多的不同场景下的反复编写提示词,观察大模型的反馈结果,进行测试和迭代,然后去优化自己的表述结构, 以此更加深入地理解大模型的一些能力,一些局限,以及会更加深入地理解自己表达上面的一些技巧和方法。 2. 表达能力 向内审视自己的表述,这背后是我们的逻辑思维和表达能力,我们的词汇量,我们的语言组织,我们的语法习惯,都会影响我们在对大模型输出指令时的文本的质量。 在前一个步骤里采用的结构化提示词的好处在于,它已经规范了一套相当标准的表述结构,那么就可能会在一定程度上弥补个体在表达上缺乏逻辑性和条理性的这样局限和缺陷。 在我们运用结构化提示词非常熟练的场景下,我们需要进一步地去融合和提炼,学会在更加复杂的情况下使用复杂提示词,而在更加简单或连续追问的心流场景下,找到准确表述自己的意图的一种方法。 这是需要建立在大量的对话实践的基础上的,如果你在之前已经了解过大模型的特性,也采用结构化提示词,采用别人提供的框架和模板,进行过大量实践的情况下,你可以在极其精简的几个句子中就明确表述自己的意图,并且对大模型接下来的生成有一定的判断。 在大模型的生成不符合你预期的结果时,你也可能很快地找到如何调整自己表述的方式。这些是我称之为一种和大模型对话语感的能力,这种语感的背后有经验的累积,有对方法论的思考,更多时候也是形成一种潜意识的表达的一种条件反射的语言素养。 第七步:提示词封装与工作流 当我们对外掌握了足够的技巧和方法,对内也深刻思考了自己的深层逻辑思维与表达能力,我们该考虑如何把我们熟练运用的提示词作为工具分享给他人使用,或作为工具沉淀下来用于提升自己的生产力工具。 这时候我们必须要考虑到引入一个提示词封装的方法。 目前市面上比较主流的工具有 OpenAI 官方推出的 GPTS 或者叫 Gizmo, 当然也有我们国内国产大模型的很多智能体封装的工具, 例如智谱清言的智能体,百度文心一言的智能体,以及Kimi Plus版本最近推出的官方智能体(暂不支持用户自己上传), 这些都是很成熟的平台化的智能体封装方式。 对于提示词学习者来说,仅需要花较少的时间去了解平台的特性、智能体的设置规则, 以及一些最基础的简单的参数设置即可。 但当我们来到这一步时,我们必须面临的一个问题是, 在我们独自使用一个提示词的时候, 很可能这个提示词的某些约束语句仅出于我个人的语言习惯或我个人对提示词的使用场景, 所以在我们测试和迭代的时候不会发生太多的问题。 但当我们把一个提示词封装为一个智能体去发布或者是传递给更多其他人使用的时候, 由于使用场景的差异和思维方式的差异, 很可能我们的提示词会遇到很多用户层面的问题。 如果我们有机会和我们的用户交流的话, 可以极大的提升我们在提示词的编写迭代上的认知和见解。 这是非常宝贵的经验,值得大家在这个领域投入更多精力,建立和你提示词使用者的沟通机制是非常有帮助的。 同时我们在这个阶段也会面临另一个困境,就是单一的提示词很难解决较为复杂的任务或生成非常长篇的复杂文本。 这是大模型单词对话窗口的局限性和大模型的注意力机制所决定的。 当你的提示词足够复杂的时候,意味着大模型的注意力也被大量的稀释。 那么分散在一些特定的重要约束语句上的注意力可能就会不足以让大模型来理解并完成这一个指令和约束。 在这种情况下,单个提示词的能力会变得让我们感到非常无力,这种情况下,我们需要引入提示词链或工作流程,把多个提示词和大模型能力以及外部工具的能力链接起来,形成一个特定的工作流来解决我们对复杂任务的要求。 第八步:RAG技术 同时,为了解决大模型的世界知识不足或产生幻觉等等问题, 我们在这个时候需要适时地考虑引入基于 RAG 技术的自主上传的知识库文本或自己去创建清晰的数据集来作为引用文本, 方便大模型基于更加严谨的参考文本来解决我们特定的任务场景。 到这里,提示词应该可以想写什么写什么了,祝 AI 旅途愉快。

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人