本文目录
每当有人告诉我说ChatGPT没什么用时,我总认为他们只是不知道如何写出提示词。好的提示词是体验人工智能神奇和平庸差距的关键。Michael Taylor撰写了一篇提示词终极指南非常具有指导意义,我把这篇文章深入翻译了与你分享。
OpenAI创始人Sam Altman在 2022 年 10 月表示:"我认为5年后我们就不用做提示词工程了。" OpenAI 的既定目标是打造人工通用智能(AGI):一台能像人类一样完成各种任务的计算机。当它达到那个水平时,我们就可以用自然语言让计算机做任何事情,它将足够聪明,能够预测我们的需求。
不过提示词工程短期内不会消失,这是一项重要技能。严格来说,即便你身边的每个人都已经达到了 AGI 的水平——但他们仍然需要得到正确的提示词。
每次你跟设计师做简报、教实习生如何用 Excel、或是向经理做报告时,你都在传达一个提示词。每个管理者都是提示词工程师,运用沟通和数据分析技能将团队协调到一致的目标上。就连你的雇佣合同也是一种提示词:它用标准化的语言模板,让你的行为与公司的商业目标保持一致。
或许5年后我们不会叫它"提示词工程",但我们总是需要用某种机制来指导AI和人类共事。那些精通这项技能的人,将比那些不精通的人占据优势。接下来,让我们用 5 个简单原则,来探讨如何为文本设计提示词,并学习图像生成的基础。
撰写提示词的五大步骤
随着AI模型变得更加成熟,一些实用的通用原则已经浮现。这些原则不仅适用于 AI,也适用于人类,这绝非巧合。随着模型逐渐接近人类智能,对它们有效的方法,也会与对人类有效的方法趋同。
我最早在 2022 年 7 月整理了这些提示词工程原则,令我欣慰的是,它们与 OpenAI 一年后发布的提示词工程指南非常接近。这些原则如下:
- 给出方向:详细描述所需的风格,或参考相关的角色。
- 指定格式:定义要遵循的规则,建立回应的结构。
- 提供示例:提供一系列正确完成任务的测试案例。
- 评估质量:识别错误,评估回应,测试哪些因素会影响性能。
- 分工合作:将任务分解为多个步骤,针对复杂目标串联起来。
你可以将这些原则作为检查清单,在优化提示词时对照执行。如果前几个原则就能让你得到满意的结果,那后面的就不用做了,除非你需要提示词非常稳健可靠。如果你打算每天使用它,或是把它用在产品中,那稳定就是必须的。
我们用 ChatGPT Plus (GPT-4) 做个示范,从一个简单但常见的任务提示词开始:
在这个例子中,我们要将主题换成"用时间分块法提高效率"。把大括号里的主题变量替换进模板。
ChatGPT 根据主题写了一篇博客文章,但不值得发表。如果我们只是照搬 ChatGPT 的默认答案而不加入任何自己的内容,那对互联网毫无益处。所以,让我们回到我们的原则上来。
1.给出方向:详细描述所需的风格,或参考相关的角色
在提示词工程中,模仿名人风格是个常用技巧。给人类布置任务时也常这么做。比如,品牌方通常会给代理商一份风格指南,在设计广告时遵循。ChatGPT 也一样:它需要知道你喜欢什么风格。
我们几乎可以模仿训练数据里出现过的任何风格。如果某种风格在网上有多个示例,出现的可能性就更大。在这个例子中,我们想模仿前海军陆战队员、《极端责任心》一书作者 Jocko Willink 的风格。
ChatGPT 被训练成要避免侵犯版权,总是到处加警告和免责声明。我们得想点办法绕过去,比如特别说明不要提 Willink 的名字。它在开头还是输出了免责声明,但正文的质量比之前高多了。
这已经比泛泛而谈的提示词效果好。通过指定一个角色,我们为 ChatGPT 提供了特定视角。不管我们最后采不采用这种军事风格,起码找到了些灵感,为内容增色不少。
接下来,我们可以更有创意地把从 Jocko Willink 身上提取的要素拆解开,与其他风格重组,创造出新的东西。首先,我们需要把具体要素细化成要点,用以下提示词:
一旦我们知道自己喜欢的风格是由什么构成的,就可以用这些要素创造新内容。比如,我们可能喜欢 Jocko 文章中励志的部分,但目标读者是科技从业者,更喜欢轻松的基调,有流行文化梗。我们可以相应修改写作风格要点,然后插入到提示词中。
这需要一些实验。你经常会发现 ChatGPT 会竭力讨好你。不断尝试用不同方式在提示词中描述你的风格,最终你会找到更准确的表达。
2.指定格式:定义要遵循的规则,建立要求回应的结构
给 ChatGPT 方向能提高输出质量,至少能让它有别于现有内容。但仅靠方向通常不足以得到你想要的确切输出格式。用之前的提示词,生成的博客文章才 500 字左右,对 Google 排名来说太短了。
就像你要告诉作者字数和结构一样,你也要告诉 ChatGPT 你的文章需要多长。很遗憾,ChatGPT 的数学能力出奇地差,数不清字数,所以我们得求助于提示词工程的小技巧。先让它生成个大纲。然后提示词它用最少数量的段落来写每一节。你得不到精确字数,但差不多能控制在合适的范围内。
这样生成的博客文章超过了 700 字,比之前长了 40%。我们很快会讨论如何进一步加长,不过目前这个长度已经不错了。
对大多数需求来说,给出方向和指定格式就够了。我很少需要用到接下来的原则。但如果我们不只是要写一篇博客文章,而是要写100篇、1000篇,那就应该进一步优化提示词。如果多花点时间在提示词上,就能让每篇文章的流量提高10%到20%,积累到几百上千篇,就会带来几十万的访问量。此外,在文章生成后编辑错误需要花费数千美元,而减少错误可以省下这笔钱。
3.提供示例:提供一系列正确完成任务的测试案例
AI研究人员发布新模型或技术时,通常会把性能细分为"零样本"、"少样本"或"多样本"。"样本"是指给模型看的正确完成任务的例子数量。有研究表明,在提示词中哪怕只加一个例子,准确率就能提高10%到45%。如果你的数据点不到2000个,在提示词中提供示例,效果甚至能超过微调定制模型。
在提示词中加一个示例,将准确率从10%提高到45%。
通常,举你喜欢的例子,比描述你为什么喜欢更容易。但找到好例子可能代价高昂——你需要调研、撰写或生成样本,在用于产品时还要处理提示词(截至2024年1月,OpenAI API每1000个token收费0.03美元,大约是3/4个单词)。
加入示例也意味着在创造力和可靠性之间权衡(它正确执行指令的频率)。你提供的示例越多,ChatGPT就越会遵循你的指引,从而提高回答的可靠性。如果示例太多或者不够多样化,你可能会限制模型回答的创造力。值得尝试不同策略,找到恰当的平衡。
你加入的示例不一定非得来自现实。它们可以是从以前你喜欢的ChatGPT回答中精心挑选的,这叫合成数据。在这个例子中,我先用番茄工作法的主题运行了提示词。然后我让ChatGPT把它扩展五次,直到超过1000字。我把这个新的、更长的示例文章插入时间分块的提示词里,开始得到更长的回答。
4.评估质量:识别错误,评估回应,测试哪些因素会影响性能。
这一步是转折点——让你从提示词过渡到提示词工程。对大多数需求来说,给出方向、指定格式和提供示例就够了。你通常可以到此为止。但我合作的很多客户打算把提示词投入生产,要么作为团队日常使用的模板,要么作为客户要跑成千上万次的产品功能。
当你要大规模使用提示词时,你需要知道它在多种极端情况下会有什么表现。如果ChatGPT每10次就出现一次幻觉,在你的博客里编造个假数据怎么办?重要的是要有个体系来发现和追踪这类情况。
对AI工程师来说,这通常意味着实现Weights and Biases或LangSmith之类的日志系统,但也可以像把回答复制粘贴到Google表格里,数一数它出错的频率那么简单。一旦你开始跟踪回答,就可以通过AB测试不同策略来优化提示词,减少错误或提高质量。我们的提示词里有好几个变量可以测试:我们可以看它在不同主题上的表现,调整写作风格,或插入一两个示例文章。我们可以试着在提示词开头加一句"你是个专家代笔人",或者大写加粗"把它写得很长,否则我要丢饭碗了"。
意外的是,情感诡计似乎对LLM也管用。当我加上那句大写加粗、诉诸情感的话时,回答平均长了13%,这个Google表格模板有记录。有研究表明,LLM会对情感刺激做出反应——不管好坏,它在模拟人脑。在训练数据里,它可能见过大写情感表达后面往往跟着更用心的回答,所以它会尝试模仿。
对提示词进行AB测试的简易Google表格模板
评估阶段最难。衡量性能可能既耗时又棘手。比如,如果我们要用同一提示词的两个变体,对5个不同主题做AB测试,我们就得读10篇博客文章,才能主观判断哪个更好。我们在乎的东西有好几样,需要检查写作风格、吸引力、虚构的统计数据或引用等。
一旦你有一套可靠的评估指标,在修改提示词时就真的能改进结果。否则你就只是在猜,提高和降低结果的可能性一样大。由于这个过程有一定随机性,每次给ChatGPT相同提示词,你得到的结果都会有所不同。你需要多次运行提示词,以确保上次的结果不是运气好(或不好)。
最重要、最可靠的评估来源是人工评分——由提示词工程师、团队中的领域专家和第三方付费审查者进行手动审查——但这也是最耗时、最昂贵的。通常,这种方法会与更自动化的评估指标相结合,比如用代码以 BLEU、ROUGE 或 embedding distance 等指标来编程式计算分数,甚至让 GPT-4 来评估自己的工作。让 LLM 给自己的作业打分听起来很疯狂,但有证据表明它在某些形式的评估上已经达到了人类水平。而且它往往效果不错,因为对模型来说,发现现有文本中的问题要比生成新文本容易得多。
5.分工合作:将任务分解为多个步骤,针对复杂目标串联起来
任何认真尝试用AI自动化任务的方法都不能只依赖单一提示词。自狩猎采集时代以来,分工就一直在提高人类生产力,在我们现代经济中,你很难找到一个人能完全独立制造出任何产品。没理由对 LLM 抱有不同期望,当它试图同时做太多事情时,往往会给出混乱的结果。
在我们的文章写作任务中,我们可以通过将提示词分成两步来获得更好的效果:
- 生成大纲
- 逐一写作每一节
这样我们就有机会在文章生成之前审查大纲并做出修改。
大纲的好处是我们可以与 ChatGPT 协作,在不喜欢某一节、想包含重要内容或需要纠正错误时,给它内联反馈。这让我们对它的输出有更多控制,最终让成品更人性化,因为有了我们持续的贡献。这个AI写作系统仍然比我们自己写文章容易得多,现在只需 10-15 分钟而不是 4-8 小时。
在这个例子中,所有任务都在同一上下文窗口或聊天会话中完成,但对于更长或更复杂的任务,你可能需要启动一个新会话。这次聊天的输出将作为链条中下一环节的输入,可能涉及校对或核实最终结果,而不带第一次聊天会话的上下文(以避免影响评分)。
此外,为了让文章更有价值,我们可能会要求 ChatGPT 在另一个会话中浏览网页或总结文档,然后将其作为这个会话的输入。尽管限制一直在变化,GPT-4 目前对聊天会话有 10 万个 token 的限制,大约相当于第一本《哈利波特》的篇幅。
总有一天,我们可能会把决定下一步关注哪个子任务的权力委托给 LLM。我们甚至可以让它检查自己的工作。这是 AutoGPT、Baby AGI 和 Autogen 等自主代理项目以及 ChatGPT 功能(如代码解释器)背后的思路。它们以循环方式运行,规划、执行、检查自己的工作,如果出错就重试。不幸的是,这些代理目前还不可靠,成本高昂(因为要通过 API 付费),而且需要很多技术专业知识来设置。如果 GPT-4.5 或 GPT-5 在推理能力上有显著提升,这一类产品的受欢迎程度可能会爆炸式增长。
这甚至适用于图像生成
到目前为止,我们讨论的是文本生成和 LLM,但这些原则也适用于其他模态,如图像、视频和音频。同样的技术适用于各种模型,包括 DALL-E、Midjourney 和 Stable Diffusion。DALL-E 3 已经集成到 ChatGPT 中,LLM 实际上在为你编写提示词方面做得很好。然而,你仍然应该基于你的设想。运用提示词原则来引导模型产生更有创意的输出。
我们可以用学到的提示词工程原则来让它更有趣一些。我想要 Corporate Memphis 风格的东西(1.给出方向),设计类似这个例子(3.提供示例)。我还要确保输出是插图(2.指定格式)。
这张图已经足够好了,但我会让 ChatGPT 告诉我它用的提示词,然后用另一个模型试试(5.分工合作),因为我更喜欢 Midjourney 的美学。Midjourney 给了我四个选项(4.评估质量),并且可以针对提示词的每个部分不断迭代,直到我对结果感到满意。
工作的未来
我相信,你在这篇指南中以及在与AI模型的实验中学到的大部分技能,都可以迁移到未来。它们将成为一门新管理科学的核心,为一个你拥有的人工同事比人类同事还多的时代而设计。我将其称为新泰勒主义,以科学管理之父弗雷德里克·泰勒的名字命名。
泰勒开创了科学方法来确定人们完成一项给定工作需要多长时间,以便优化他们的生产力。他的理论被称为科学管理,在整个 20 世纪初推动了生产力的提高。基于任务的效率分析在当今各行各业普遍存在。然而,由于泰勒主义倾向于使工人非人化、忽视他们的需求并将其视为机器的一部分,因此它已经不再受欢迎。
对于真正作为机器的工人来说,这并不是一个问题(至少在它们变得有知觉之前)。无论一项任务多么重复或无聊,ChatGPT 都会毫无怨言地执行一百万次。更妙的是,你可以用无法对人类工人使用的方式来 A/B 测试你给 ChatGPT 的指令:用这种方式做 100 次,用另一种方式做 100 次,然后比较结果。
我相信,我们正处于一个新的生产力时代的边缘,组织设计将达到前所未有的新水平。我已经看到提示词工程在起到强力催化剂的作用——当你使用AI自动化任务时,你被迫思考成功是什么样子。这也导致你改变衡量人类完成任务的成功方式。在许多情况下,我看到它引发了对人类能力潜力的更大挖掘,同时将人类转移到更有趣、更有创意、更具战略价值的任务上。
颠覆即将到来,而且分布不均。正如每一次新的技术变革一样,将会有赢家和输家。好消息是,这项技术向所有人开放:你用自然语言使用它。提示词工程是一项独特的技能,因为AI正在慢慢学习所有其他技能。通过与AI更有效地合作,你将获得比以往任何时候都更高的杠杆影响力。
References:
- The Ultimate Guide to
Prompt Engineering:every.to/p/the-ultimate-guide-to-prompt-engineering
欢迎加我微信mindhack,回复「深度思考」,加入我的深度思考群,围观更多关于AI、新个体创业、自我发展的话题,和我一起跑步迈进AI时代。