password
URL
type
status
date
slug
summary
tags
category
icon
周起始
标签
是否汉化
阅读提示
核心看点:
- 通过实际案例演示,如何从用户期望的 1 个样例出发,通过与 LLM 进行多轮互动,逐步生成高可用的结构化提示词
- 文末「推荐阅读」中,附有相关 OpenAI 官方指引、ICLR 论文等,以供拓展学习
适合人群:
- 初步了解结构化提示词的用户(如果还不知道什么是结构化提示词,推荐阅读:结构化提示词系统论述: 构建高性能 Prompt 之路)
- 在实际运用时,不知道怎么写出能够让AI生成符合内心预期结果的提示词的用户
引言
一个精彩的 Prompt 是驱动 AI Agent 稳定运作的核心。
例如,我们常见的”小红书爆文生成AI”提示词,包含了”二极管标题法进行创作”、”最省力法则和及时享受”这样精确、巧妙的提示。
高质量的Prompt极度依赖用户通过逻辑思考,从知识经验(KnowHow)中抽象表达出关键方法与要求。这也是大多数人明知LLM能完成很多任务,却无法有效利用AI提高效率的原因。
阅读本文后,你只需使用1-2个初始样例,就能较为轻松地引导AI自动定制出完美的提示词。
为了方便记忆,本文将采用“样例驱动的渐进式引导法”,代称这个 Prompt 创作方式。
什么是“样例驱动的渐进式引导法”
样例驱动的渐进式引导法,就像让 AI 主动来读懂你的想法。以 1-2 个正向样例作为起点,通过与 AI 的多轮对话,引导 AI 从样例中提炼隐含的生成要求,逐步完善提示词。
例如,当你教AI仿写一篇爆文时,无需详细解释文章结构或写作技巧,只需提供一个优秀的样例。AI会自动分析这个样例,理解其中的精髓,然后生成更符合自身运作方式的指令。
这不需要用户具备专业的 Prompt 工程知识,也不需要用户“痛苦”地提炼“Know How”。仅仅只需要利用 AI ,就能让 AI 自动生成精彩的 Prompt。
它的核心步骤包括:
- 构建初始样例: 创建一个符合你期望输出的具体例子。
- 评估样例,尝试提炼模板: 让 AI 分析和理解样例的结构和关键元素,并以专家视角尽可能地优化样例。
- 固定模板,强化要求说明: 基于对初始样例的理解,让 AI 提出一个通用模板。通过测试 Prompt,验证模板的可靠性。
- 生成结构化提示词: 将优化后的模板转化为结构化的提示词。在用户适当调整并确认后,即可投入使用。
在这个过程中,用户的角色主要是:
- 提供尽可能与自己预期一致的初始样例
- 判断 AI 的输出质量
- 反馈改进建议,提供行动引导
这种方法的优势在于简化了提示词设计的过程,让非专业用户也能创建高质量的Prompt。通过引导AI进行分析和优化,用户可以专注于判断输出质量和提供反馈,而不需要深入理解复杂的Prompt工程技巧。
接下来,我将通过一个实战案例:可以快速学习任何知识概念的”知识闪卡AI”,来逐步分享我的运用过程。这将帮助你直观地了解如何使用样例驱动的渐进式引导法来设计高质量的提示词。
渐进式引导法的实战分享
下面直接进入实战内容的分享,希望通过每一步翔实的步骤记录,为读者提供有参考价值的信息。
需求来源
在跨行摸索 AI 的过程中,我常常遇到从未接触过的新名词和新概念。作为喜欢“跳兔子洞”的学习者来说,连续接触新知识,虽然很有趣,但也降低了学习效率。
为了加深知识记忆,我通常使用“费曼学习法”,搜集相关知识,并总结自己的知识卡片。但整个流程中,搜集知识和输出卡片内容依然会消耗大量时间。
为了提高效率,我想让 AI 能够按照我的预期,自动根据给出的主题制作知识闪卡。
构建初始样例
构建初始样例,是整个方法中最基础、关键的一步。
即使无法预先为 AI 总结出生成预期内容的方法论与要求,我依然建议你需要构建/找到与自身预期最相近的初始样例。(如果你都不知道你要的是什么,又怎么指望 AI 能够读心呢🤣)
刚好在做这个案例(知识闪卡生成)前,我在学习“数据向量化”的概念,并整理了一张知识闪卡。
它通过“主题名称、标签分类、一句话应用总结、渐进式原理说明、相关场景、举例说明”,能够非常快速地形成新知识的大致概念。所以,我也希望AI 能够按照我的输出风格、思考逻辑,来替我生成知识闪卡。
评估样例,尝试提炼模板
与 AI 开始对话
单凭个人努力,想独自产出一个高质量的样例并非易事。就如我在构建上面的初始样例后,不确定它与优秀的知识卡片还有多大差距。
幸运的是,我们可以借助擅长扮演专家角色的AI来改进初始的正向样例。
我选择使用Claude 3.5进行对话(读者也可以尝试GPT-4等其他AI工具),输入以下的初始指令:
以下是 AI 返回的内容:
我们可以通过AI的回复,侧面印证AI当前对样例的理解与建议。
提炼初始模板
当确保AI基本理解了我们的样例与需求目标时,我们就进入下一步”提炼初始模板”:
多轮反馈,直至达到预期
不过 AI 可能仍然会犯错,输出要求外的内容,这是很正常的情况。所以需要发起多轮的对话引导,使得 AI 不断修正自己的理解,直至双方达成共识。
用例测试,看看 AI 是否真正理解
找 1~3 个用例,让 AI 根据模板,尝试生成对应的知识卡片:
以下是 AI 的回复:
在这一步, 需要读者根据自身需要,根据结果验证 AI 是否能够按照预期生成目标内容。
如果不能,则需要我们和 AI 继续探讨不符合预期的地方,并要求调整(比如:
我想要能够生成 3-5 个关联知识;渐进式原理说明,我觉得需要更加的通俗易懂;请你根据我的反馈再调整一下
)。注:用例测试和多轮反馈的步骤比较灵活,你可以根据需要,在这两个环节内自由进行反馈,调整 AI 的理解与输出。
像图中金字塔原理的知识卡片生成结果,已经非常符合我的预期,所以就可以进行下一步指令。
固定模板,强化要求说明
由于当前的模板主要限定了结构,但对每个模块中的生成风格和内容逻辑没有详细规定,因此当将 Prompt 应用于全新的 LLM 对话时,由于缺乏之前样例的理解,生成的结果可能会出现较大的偏差。
所以,接下来,我们需要 AI 进一步固定模板,强化说明模板的填写要求。
AI 会反馈如下结构的内容:
虽然已经很不错,但我依然建议你(像你的老板、客户一样)多问几遍 AI,让其多次反思:仅靠当前的模板,是否足以支持它稳定输出与上方样例预期一致的结果。
这时,你会惊喜的发现,AI 终于把自己安排的明明白白:
于是,我们得到了一条完整的模板及要求说明。
得益于模板的模块化结构和清晰的条理,我们可以根据实际需要,在对应的模板内容和填写说明中,轻松地微调具体要求,使其更加符合我们的心意。(比如微调生成的例子数量、说明的字数等)
(当然,你也像可以这样,直接替 AI 修改模板)
这比我们一开始直接自己撰写模板要求,可简单了太多。
生成结构化提示词
不用过早的生成结构化提示词,这应该经过上述步骤后, AI 理解所有规范与要求后再做的事
现在,终于到了最后一步,让 AI 给自己设计一套 Prompt!
你可以参考我的方式,让 AI 参考已有的结构化提示词 ,生成我们真正需要的 Prompt。
不过,在这一步中 AI 输出的 Prompt 中并没有附上模板内容、模板填写说明,所以我很怀疑不能达到我的 Prompt 要求。
再次反馈引导,提示AI 需要在 Prompt 中包含模板信息。
以下是 AI 的调整结果:
就此一套高度可用的 Prompt,就被我们打磨出来了!!!
补充说明:
- AI一次性输出过长 Prompt ,输出的格式会有一定的问题
注:在上图中,我已经微调了 Prompt 的格式。一般都需要用户在生成提示词的这一步,自行微调 Prompt 的格式,尤其是 Templates 的中的””” “””符号的框定与#
标题符号的使用。
- 生成提示词的这一步,同样也可以让 AI 再进行多轮反思优化
验证提示词效果
如果提示词效果不符合预期,可以和 AI 再进行几轮对话,调整输出结果。最终通过询问AI“怎么样修改现有的 Prompt,可以让你稳定输出当前的预期”,来进行 Prompt 的迭代。
得到 Prompt 后,可以新开 1 个 AI 对话,把 Prompt 输入到对话中,开始验证 Prompt 的可用性和稳定性。
例如输入
MECE 法则
,进行测试,AI 制作闪卡如下:可以看到,仅靠着 Prompt ,整个知识卡片的生成的结果,能够快速帮助我们理解一个全新的知识概念,完美符合预期,大功告成~
总结
在上述案例中,该方法的核心要点在于,充分发挥 AI 自身的逻辑分析以及抽象总结能力,主动从用户所提供的样例表象中总结出方法论。用户只需对 AI 提供的方法论正确与否进行判断,零星、分散地提出自身的意见,便能够推动 AI 不断进行反思,总结出更为优质的内容生成方法与要求,进而为 AI 提示词爱好者提供一种门槛较低的提示词生成途径。
可以说,在某些特定场景下,样例驱动的渐进式引导法,的确能够让 AI 主动理解我们的需求,且不再依赖 Prompt 工程师的知识洞察和思维素质,自动化地提炼出高可用的提示词🥳。
一点补充:提示词递归
LLM 具有上下文长度限制。在长对话中,特别是使用渐进式引导法时,由于对话轮数的增加(用户输入 + AI回复的累积),可能会触碰到长度限制。这可能导致AI遗忘早期的对话内容,进而影响输出质量。
所以需要引入“提示词递归”的概念与方法。我们在长对话中定期总结和重新引入关键信息,确保AI不会遗忘重要的上下文。
具体步骤如下:
- 初始提示:开始对话时使用清晰、具体的初始提示。
- 定期总结:在对话进行中,定期总结已讨论的关键点。
- 重新引入:将总结的信息重新引入到新的提示中。
- 细化和拓展:基于之前的回答,逐步细化或拓展问题。
- 验证和优化:确保新的提示词在不同情况下都能引导AI生成高质量内容。
例如:
推荐阅读
- Chain complex prompts for stronger performance – Anthropic
- Claude 官方手册中,提出“链式提示”的方法理念,推荐将复杂的任务拆解为多个步骤,一步步指引 AI 完成子任务。
- 好处:
- Accuracy: Each subtask gets Claude’s full attention, reducing errors. 准确率:每个子任务都能得到 Claude 的全神贯注,减少错误。
- Clarity: Simpler subtasks mean clearer instructions and outputs. 清晰性:更简单的子任务意味着更清晰的指令和输出。
- Traceability: Easily pinpoint and fix issues in your prompt chain. 可追溯性:轻松定位和修复提示链中的问题。
- Strategy: Split complex tasks into simpler subtasks – Open AI
- ChatGPT 官方手册中,也提出“将复杂的任务分解成更简单的子任务”的理念。
- Least-to-Most Prompting Enables Complex Reasoning in Large Language Models
- 如果你恰巧想要更加深入的研究,我推荐你阅读这篇已在 ICLR 2023 上发表的论文。
- 它提出了 Least-to-Most Prompting(LtM-最少到最多提示) 提示词策略。
- LtM 同样通过将复杂问题分解成一系列更简单的子问题,然后依次解决这些子问题,从而实现对复杂任务的推理。
- 在文本理解和文本生成场景中,表现出了优秀的效果。
离开乏味的皮囊,自由的灵魂在路上
- Name: Alan Hsu
- Tag: 随感、技术、经验、旅行、推荐、生活、音乐、电影 etc.
- Email:xulanzhong521gmail.com
- Twitter:@AlanHsu521
- Telegram:@AlanHsu521
- WeChat: Alan_Hsu_521
- Github: https://github.com/xsoway/
- Blog: https://xmylog.com
- Author:Alan_Hsu
- URL:https://xmylog.com/article/articles_prompt_engineering
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts