如何调教 AI 给你打工?提示词(Prompt)的秘密

**第一步,**把你觉得不错的文案 “喂” 给 AI,并且要明确让 AI 学习这个文案,我们需要明确对 AI 说:“接下来我会发给你一个文案学习,目的是建立爆款文案模型,你学习完,只需要回复:已学习。文案如下:”

**第二步,**在 AI 回复了 “已学习” 后,我们要开始让 AI 来给这个文案的文笔文风建立模型。

**第三步,**一般来说 AI 这时候总结得并不好,我们需要让 AI 更进一步地学习并更改自己的答案,这时候我们可以给 AI 一个框架。当然这一步也可以直接融合在上一步里面。

**第四步,**我们让 AI 来给每个部分分配权重。

**第五步,**我们给这个模板命名,让 AI 能快速调取。

下面举几个应用例子:

对于很多相对格式化,不要求较高创造力的文案领域,AI 的内容已经达到了基准线之上,剩下的还可以通过人工修改。

你也可以继续对这个模型进行微调,比如要求 AI 写得更富创造力,或是 “喂” 给 AI 更符合你需要的初始文案,可以依据这个训练思路、框架来训练更适合你的文章模型。

最后,这个训练模型的链接如下,感兴趣的朋友可以试试:

https://chat.openai.com/share/787b114c-4e09-4356-8811-2f8dc2b987ad

基于这种训练思路,网友们还开发出很多有意思的场景,可以一试:

2

一个订餐机器人模型(通过代码实现)

如何利用 ChatGPT 构建一个订餐机器人?我们可以通过 Prompt Engineering 来实现。

这个订餐机器人案例来自 DeepLearning.ai 的课程。DeepLearning.ai 创始人吴恩达与 OpenAI 开发者 Iza Fulford 联手,推出了一门面向开发者的 Prompt Engineering 课程。吴恩达是 AI 领域的明星教授,是斯坦福大学计算机科学系和电气工程系的客座教授,曾任斯坦福人工智能实验室主任。

ChatGPT 是一个聊天对话的界面,我们可以由此构建一个自定义功能的聊天机器人,比如给餐厅的 AI 客户服务代理,或是 AI 点餐员等角色。

但由于这是商用场景,我们需要 ChatGPT 的回复精确而稳定,这时候用计算机语言比纯文本更为合适,所以我们需要先部署 OpenAI Python 包。

对于这种自定义聊天机器人模型,本质上我们是要训练一个这样的机器人:它能够将一系列消息作为输入,然后把模型生成的消息输出。在这个例子中,用的是 GPT-3.5,3.5 在现阶段可能更适合商用,因为 GPT-4 太贵了。

**这个订餐机器人的应用场景是一家披萨店,所实现的功能是:首先问候顾客,然后收集订单,并询问是否需要取货或送货。**如果是送货,订餐机器人可以询问地址。最后,订餐机器人会收取支付款项。

在实际的对话中,订餐机器人会根据用户的输入和系统的指示来生成回应:

用户说:“嗨,我想要订一份比萨饼”

订餐机器人会回应:“很好,您想订哪种比萨饼?我们有意大利辣肠、奶酪和茄子比萨饼,它们的价格是多少”

在整个对话过程中,订餐机器人会根据用户的输入和系统的指示来生成回应,从而使对话更加自然流畅,同时又避免在对话中插入明显的提示词信息。

首先,我们定义 “帮助函数”,它会收集用户消息,以避免我们手动输入。这个函数将从用户界面中收集提示,并将它们附加到一个称为上下文(context)的列表中,然后每次都会使用该上下文来调用模型,这里面包括了系统信息,也包括了菜单。

ChatGPT 的反馈和用户的反馈都会添加到 context 中,这个 context 会变得越来越长。这样一来,ChatGPT 就拥有了它所需的所有信息,来决定下一步该怎么做。以下是 context 所部署的提示词:“你是订餐机器人,一个收集比萨饼店订单的自动服务。你首先问候顾客,然后收集订单,并询问是否要取货或送货。”(详细见下图)

如果实际运行起来,将是:用户说 “嗨,我想要订一份比萨饼”。然后订餐机器人说:“很好,您想订哪种比萨饼?我们有意大利辣肠、奶酪和茄子比萨饼,它们的价格是多少”

由于提示词里面已经包含了价格,这里会直接列出。用户也许会回复:我喜欢一份中号的茄子比萨饼。于是用户和订餐机器人可以一直继续这个对话,包括是否要送货、需不需要额外的配料、再次确认是否还需要其他东西(比如水?或是薯条?)……

最后,我们要求订餐机器人创建一个基于对话的、可发送到订单系统的摘要:

在最后这个输出环节,输出的内容包括:产品大类(披萨、配料、饮品、小吃……)、类型、大小、价格、是否需要配送及地址。由于我们希望结果是完全稳定、可预测、不需要任何创意性的,所以我们会把 temperature 设为 0。最终可以直接把这样的结果,提交给订单系统。

由于避免这篇文章里全是代码,相信大家也不愿意在手机上看到密密麻麻的代码,我们只把要点放在这里。如果你想进一步学习,可以观看这个详细教学视频:

[视频详情](javascript:😉 https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/

3

一些关键原则与技巧

最后,我们来总结一下两个关键原则,以及大语言模型目前的局限性,你需要知道大语言模型能力目前的下限在哪里,更有助于寻找具体的应用场景。

两大原则是:编写清晰具体的指令、给模型充足的思考时间。

原则一:编写清晰具体的指令。

这个原则强调了在使用 ChatGPT 等语言模型时,需要给出明确具体的指令,清晰不等于简短,过于简短的提示词往往会让模型陷入猜测。这个原则下有 4 个具体策略:

1)使用定界符清楚地限定输入的不同部分。

定界符可以是反引号、引号等等,核心思想是要清晰地标识输入的不同部分,有助于模型理解和处理输出。定界符就是为了让模型明确知道,这是一个独立的部分,它能够有效避免 “提示注入”。所谓提示注入,是指在一些用户新添加输入的情况下,可能误产生一些冲突的指令,导致结果不对。

2)要求结构化输出:为了使解析模型输出更容易,可以请求结构化输出。

在提示词中,你可以明确:生成三个虚构的图书标题,以及它们的作者和流派,使用以下格式提供:书籍 ID、标题、作者和流派。

3)要求模型检查是否满足条件。

如果任务有假设条件并且这些条件不一定被满足,那么可以告诉模型首先检查这些假设条件,如果不满足则指示出来,并停止任务直接反馈,以避免意外的错误结果。

比如在以下例子中:我们将复制一段描述如何泡茶的段落,然后再复制提示词,提示词是如果文本包含一系列指示,请将这些指示重写为以下格式,然后写出步骤说明。如果文本不包含一系列指示,则只需写下 “未提供步骤”。

4)小批量提示:在要求模型完成实际任务之前提供执行任务的成功示例。

这个策略简单而重要,就是我们在提示词中,可以包含一个正确的示例。比如我们要求模型用风格一致的口吻来回答,输入的任务是 “以一致的风格回答问题”,然后提供了一个孩子和祖父之间的对话示例,孩子说:“教我什么是耐心”,祖父用类比的方式回答。

现在我们要求模型用一致的语气来回答,当下一个问题是:“教我什么是韧性”。由于模型已经有了这个少量示例,它会用类似的语气回答下一个任务,它会回答:“韧性就像能被风吹弯,却从不折断的树”。

原则二:给模型充足的思考时间。

如果模型因急于得出错误的结论,而出现了推理错误,应该尝试重新构造提示词,核心思想是要求模型在提供最终答案之前,先进行一系列相关推理。这个原则下有 2 个策略:

1)指定完成任务的步骤:

明确说明完成任务所需的步骤,可以帮助模型更好地理解任务并产生更准确的输出。

2)指导模型(在急于得出结论之前)制定自己的解决方案:

明确指导模型在做出结论之前,自行推理出解决方案,可以帮助模型更准确地完成任务。

附加讨论:如何看待模型的局限性?

目前大语言模型商用最大的问题是 “幻觉”。因为在其训练过程中,大模型被暴露于大量知识之中,但它并没有完美地记忆所见到的信息,也并不清楚知识边界在哪里。这意味着大模型可能会尝试回答所有问题,有时会虚构出来一些听起来很有道理,但实际上不正确的东西。

一种减少幻觉的策略是,首先要求大语言模型从文本中,找到所有相关的部分,然后要求它使用那些引文来回答问题,并将答案追溯回源文件,这种策略可以减少幻觉的发生。

今天这篇文章比较实操,我们通过 2 个案例(一个纯文本、一个通过编程),来解释了 Prompt Engineering(提示工程)一些更深入的应用。

像 GPT-3.5、GPT-4 这样的大语言模型,它什么都懂,但恰恰也是因为太广泛,而导致如果你不给它提示的话,你得到的回答经常是车轱辘话。

这时候 Prompt(提示)的重要性不言而喻,并且不仅仅是一个词,或是一个简单的句子,如果你想实现更复杂的功能,也同样需要更复杂的提示词。

Prompt 也需要大家开脑洞,想出更新奇或是更适合自己的玩法,它的 “独家性” 也很强。比如之前获奖的《太空歌剧院》,作者号称自己花了 80 多个小时、900 多次迭代才出来这幅作品,至今也拒绝共享 Midjourney 用了什么提示词。

当然,Prompt 本身,可能只是一种阶段性的需求,Sam Altman 曾说:五年之后,可能不再需要提示工程师这个职位,因为 AI 会产生自我学习的能力。但不可否认的是,这个 “阶段性需求”,是真正助力 AI 切入商业各个环节的重要利器。

我们现在也不需要从零开始摸索,国内外有很多不错的 Prompt 社区,大家都在交流提示词使用心得,甚至列出了有哪些当下热门的提示词,我们会在文末附录中列出。

从创业 / 投资角度说,如今大家都在讨论应用层的机会到底在哪里,常去这些提示词热门网站看看,也许能从那些新发布的热门提示词中,找到一些应用场景的创新灵感。看得再多,不如下场一试。

附录:一些提示词讨论网站

1、 AI Prompts 社区:

https://flowgpt.com/

(一个海外热门的提示词网站,可以按热度排序,覆盖场景非常齐全。)

2、 Writing Prompts on Reddit (r/WritingPrompts):

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

  • 18
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值