AI 提示工程:什么是提示工程以及如何驾驭 AI

AI 提示工程封面图:什么是提示工程以及如何从 AI 引擎中获得好结果

AI 已经无处不在!无论你看向哪里,几乎生活的每一个方面都有新的人工智能工具。从 ChatGPTAutoGPTMidjourneyDall-EGitHub Copilot,你可以构建、编码、获取答案,甚至创造出美丽的艺术品……至少我们中的一些人可以做到。

为什么有些人使用生成式 AI 时能获得比其他人更好的结果呢?为什么有些人创作出的艺术品堪比卢浮宫的作品,而其他人得到的却接近一团糟呢?

这一切都归结于你使用的输入。这种输入被称为“提示”。提示是你提出的问题,或者你用来创造某样东西的文字。那些“精心制作”提示或对其输入策略性考虑的人称之为“提示工程”。

什么是提示工程?

提示工程指的是以一种特定的方式设计提示,以便从 AI 获得更好的结果。

创建 AI 系统的人,如 OpenAIGoogle 等许多其他组织,甚至在聘请“提示工程师”来帮助训练他们的模型。一些“创造者”甚至在 Etsy 这样的平台上出售他们的 Midjourney 提示。

简而言之,AI 系统就像数据一样:垃圾进,垃圾出。如果你有一个糟糕的输入,你可能会得到一个糟糕的结果。提示工程在很大程度上受到上下文的影响。

AI 中的上下文

GitHub donuts

上下文是我们得到的结果中最大的问题之一。例如,如果我在 Google 上搜索“甜甜圈”(或“doughnut”🍩),我可能会得到各种各样的结果;从甜甜圈食谱,到甜甜圈的图片,或者在哪里可以买到这种美味的甜点。这是因为我没有给搜索引擎提供其他的上下文。当然,Google 会使用诸如我的以往搜索历史和我的位置等信息来帮助确定结果,但仅此而已。

搜索引擎对“甜甜圈”一词的解释可能意味着任何东西,从形状,到 Slack 插件,应用程序,或者这些在 GitHub Universe 2022 上提供的美味 GitHub 甜甜圈

例如,如果我想找一个关于在 Blender 中创建甜甜圈 3D 模型的教程,那么如果我只输入“甜甜圈”,可能不会显示我想要的搜索结果。我需要更具体。像“甜甜圈 Blender3D 教程”这样的搜索会为我提供更准确的结果。

当涉及到 AI 时也是如此。你需要为 AI 提供足够的上下文,以便你能获得你想要的更好结果。

聊天应用的提示工程

很多人向我们展示了来自 ChatGPT 的一些疯狂结果。虽然它们并不总是准确的,但 ChatGPT 在一件事上做得非常好:文案。它在编写良好、结构合理、流畅的句子方面简直令人惊叹。其结果易于阅读,听起来真的很棒。但获得准确的回复则是另一回事。例如,人们尝试使用 ChatGPT 写历史论文,虽然论文可能读起来不错,但可能并不历史准确。比如,如果你让 ChatGPT “写一篇关于中国衰落的2000字论文”,它会为你写一篇关于中国衰落的2000字论文。但这不一定是事实上正确的。

ChatGPT bio response

虽然某些内容可能读起来不错,但可能并不是事实上正确的。提示:我没有博士学位 😉

这是因为 ChatGPT 正在从多个来源收集信息并将它们混合在一起。这些来源本身可能并不准确。ChatGPT 也不知道你指的是中国的哪一次衰落。因此,它很容易错误地交叉引用日期。通过以对话方式向 ChatGPT 提供信息,然后让它写一篇2000字的论文,你将获得更好的结果。

我到底是什么意思呢?有些人认为 ChatGPT 是一种单向的、对话式的、单一输入方式获取信息的方法。但事实并非如此。它之所以称为“聊天”,是有原因的。进行对话,细化你的问题,为你的回应提供上下文。

例如,如果我想要关于“NDC 会议”的一段旅行报告,我不会以“为 NDC 写一段旅行报告”开始我的 ChatGPT 对话。相反,我会先弄清楚 ChatGPT 对 NDC 了解多少,一路上提供上下文。你提供的输入极大地决定了输出。这就是为什么有些人能够获得非常好的结果,而其他人则不能。

ChatGPT response

没有任何上下文,ChatGPT 不知道我指的是哪个 NDC

另一个例子:如果你即将参加一次工作面试,并希望得到一些建议,只是让 ChatGPT “给我一些准备工作面试的提示”,会给你一些好的回应,但远非具体。相反,像“我即将在一家 AI 创业公司面试软件开发职位,请你给我一些建议如何准备面试?”这样的提问会给你更加量身定制、个人化的结果。就像如果你让一个专家在舞台上对1000人的观众给出答案,他们可能会提供一些通用的内容,以便每个人都有所收获。但如果你一对一地问同一个人,他们很可能会向你提出一些后续问题以了解你的情况,因此提供更加个人化、具体的答案。

艺术应用的提示工程

你可能已经看到一些人使用 Stable Diffusion 应用创作出的美丽艺术品。然后,还有一些艺术品看起来就是“不对劲”。很多时候这归结于上下文。例如,如果我使用 Night Café(我最喜欢的生成器之一),只输入“狗”这个词,我得到的是这样的:

Image description

使用 Night Café 生成的图片,提示词为“狗”

这里有一些随机的“狗”字作为标志,前景中有一个奇怪的狗,而且颜色非常奇特。现在,如果我想象的是一张成年德国牧羊犬在阳光明媚的公园里的照片般的图像,那可能不是我会得到的。AI 没有那个上下文。它不能读懂我的思维(至少现在还不能!)。当你想要创造艺术品时,你需要描述你脑海中想象的图像。你提供的细节越多,输出就越好。这就是其中的难点。许多稳定扩散应用都有限制字符数。因此,你需要在制作你的提示时有意义且策略性地选择你的词语。

与 ChatGPT 相似,你需要不断重新制作你的提示并对其进行细化。基于聊天的 AI 有一个优势,即你可以继续对话并不断给 AI 更多的信息和不同的问题,以获得好的回应。虽然一些艺术生成器允许你“重新混合”你的输出,但它仍然依赖于一个新的提示。因此,你在不断等待输出,看看哪些不符合,然后发送一个经过调整的新提示。有些用户在 Midjourney 上花费了数小时,接收输出并重新制作他们的提示,以产生一些令人惊叹的作品。这全都是练习的问题。这就是为什么一些创作者在 Etsy 上出售他们的提示!

AI generated combat rabbit

由我的朋友 Jean 使用 Midjourney 制作的 AI 生成的战斗兔艺术品

可以肯定的是,如果你想要创作出一些高质量的艺术品,不要期望只花几秒钟写一个提示,点击“创建”按钮,然后看到一幅莫奈的作品。不!相反,你需要投入时间(和金钱)来创建数百个艺术作品,每次迭代都重新工作你的提示,以便创作出你的杰作。

代码的提示工程

我不打算花太多时间讨论如何为 GitHub Copilot 这样的东西制作好的提示。

我想说的是,类似于 ChatGPT,GitHub Copilot 依赖于上下文。仓库中写了哪些其他代码?文件的扩展名(因此是哪种语言)是什么?GitHub Copilot 为你创作了什么其他内容?你在代码中加入了哪些评论?所有这些都会帮助 GitHub Copilot 为你合成更准确的代码。

把它想象成这样:如果你写了一条评论,表示你想创建一个使用后端数据并解决特定问题的复杂函数,你可能不会仅仅通过一个评论就获得好的回应。就像你的代码(至少应该是)被分解成许多函数,带有(希望)许多有用的评论一样,GitHub Copilot 在你分解问题时工作得更好。

与 GitHub Copilot 相比,ChatGPT 和其他聊天应用更重视你对聊天所做的最后一条评论;也就是说,你最后添加到对话中的信息。然而,GitHub Copilot 始终考虑所有上下文以产生更好的代码结果。

  • 文件扩展名是什么

  • 项目中有哪些其他文件

  • 你如何编写其他评论

  • 其他代码是如何构建的

  • 你输入的评论是什么

  • 你输入的代码是什么

更好的提示工程

归根到底,从任何类型的生成式 AI 获得好结果取决于你——提供输入的人。正如我在开始时所说:垃圾进,垃圾出。因此,在制作你的提示时,请考虑以下重要提示:

  • 提供好的上下文;给出示例和关于你想要实现的目标的信息

  • 具体;如果是针对特定受众,请明确说明

  • 分解问题

  • 在询问问题时要清晰。如果得到的回复听起来不对,请澄清

  • 重新表述细化你的提示

最后,总是、总是验证你从 AI 接收到的信息。当谈到艺术生成器时,这一点不那么重要,但如果你在查看代码和信息时,这一点很重要。检查你收到的代码是否按照你的意图工作。验证提供给你的书面信息的准确性。

记住,无论发生什么,你仍然是掌舵者。你仍然负责,并且你有最终决定权,决定使用和分享哪些艺术品、代码片段和信息。

  • 27
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值