万用提示语:为什么Prompt Engineering与苹果捷径是创建AI应用的关键?结合它们,AI应用创新效果翻倍!
这是已发布的YouTube视频的、更为详细的文字版。YouTube视频可以点击链接:https://youtu.be/B3MlZ2oaepk
ChatGPT加上Siri和iOS捷径,就能做出效果不亚于商业的AI应用。这次跟大家分享的就是AI应用之一,ChatGPT帮你做决策。
现在很多的AI应用,其实核心技术就是背后的ChatGPT这样的大语言模型。那么,我们也有ChatGPT,我们要想做一个适合自己用的AI应用,其实缺的就是个界面而已。而 Apple 的捷径,就是一个可以做出AI应用的界面,而且关键是,不会编程的小伙伴也能上手。
今天跟大家分享的,就是如何借鉴好的商业应用的点子,使用捷径做出类似效果的个人专属AI应用。其实重点并不是捷径,而是其中更重要的,Prompt Engineering也就是提示工程的技术。
我们先看一个帮你做决策的商业应用,这是我很早以前就发现的一个有点意思的网站,叫做Rationale,我们先来简单看看。
以上就是Rationale的界面,你可以在 1 处选择四种分析模型中的一种,然后在 2 处输入你需要进行分析的问题,比如我测试的例子就是选择了两种分析模型,一种是优点缺点,一种是SWOT,来分析 “我应该购买油车吗,尽管电动汽车目前很流行?”这个问题。
好,这就是Rationale的功能,那么,ChatGPT我们有,分析模型我们有,更重要的是,Prompt Engineering的技术我们也有,我们能不能就用ChatGPT达到类似的效果呢?答案是肯定的。
首先,我们先不着急使用捷径,先来看一个简单的方法,只用ChatGPT。
链式PROMPT - ChatGPT 网页版
好,这是我设计好的Prompt,大家看到这里的7,说明已经改过第7版了,不过相比捷径部分呢,ChatGPT这里还算简单些。
好,我们先看PROMPT:PROMPT要求ChatGPT根据用户提供的信息,按照我提供的PROMPT格式,生成一个帮我解决问题的PROMPT,然后再去执行所生成的新的PROMPT。
这种用一个Prompt根据设定的条件写出一个新的Prompt,再让ChatGPT去执行的方法,我把它叫做链式PROMPT或者叫做PROMPT生成器。就跟AutoGPT似的,一个GPT给另外一个GPT分配任务。
PROMPT运行之后,你可以给ChatGPT全部信息,也可以只给部分信息,缺失的信息就由ChatGPT去自动补充完整。这里就是使用链式PROMPT的重点所在了:之所以需要使用链式PROMPT,就是因为需要PROMPT去动态生成信息,而不是简单地组合用户输入的信息。把用户输入的完整的信息组合成一个PROMPT,和用户输入的部分信息然后自动补全缺失信息之后再组合成一个PROMPT,这是两个难度级别的事情。
输入部分信息的时候,我们可以不必严格指明我们给的是哪一类信息,ChatGPT很聪明,他知道哪些是哪些,当然如果能指明更好。比如:
之后,ChatGPT就会执行生成的PROMPT,看看结果,是不是也很不错了:
虽然我让ChatGPT不要给我普遍已知的信息,但是实际上差不多还是普遍已知的信息,于是我就说了他一句“我认为你分析的结果还是一些普遍已知的内容”,ChatGPT就赶紧认错,然后给我提出了一堆更深入的问题。
好,这里有个重点,要想得到满意的结果,你往往需要与ChatGPT进行多次沟通,因此,仅仅是收集成千上万的现成的PROMPT,而不去了解如何写好一个PROMPT,并不能给你在AI领域带来多大的竞争优势,因为收集,是所有人都会干的事情。
好,接下来,我们就用捷径把这个过程给包装一下,这样我们就拥有了一个AI决策系统。而且,关键是你稍微修改一下PROMPT,就能让他做到帮你写文案、出主意等等。
链式PROMPT - ChatGPT捷径版
既然是捷径,我们就不能每次用的时候拷贝粘贴PROMPT,那显得太老土不够高级。因此我们首先就需要使用捷径,组装出我们的第一个PROMPT来,就是这样的的PROMPT:
请做为一位资深的高级 PROMPT Engineer,按照以下“PROMPT格式”以及“用户提供的信息”,帮我设计一个指导GPT-4完成任务的完善的PROMPT。
PROMPT格式:
请做为一位资深{角色},使用{模型}分析模型,帮我对{问题}进行深度分析并指导我做出最终的决策。
上下文:{上下文}。
Let's think step by step.
用户将会提供以下信息,用户的输入以三个双引号分隔(例如:"""<用户输入>"""):
{角色}= """Role""" <能够解决问题的领域专家,如果是空白,你需要根据{问题}的内容自动指定所需专家>
{模型}="""AnalysisModel""" <辅助决策及分析问题的模型,比如:SWOT,Pros & Cons等等,如果模型选择的是"""我不知道""",你需要根据{问题}的内容自行选择合适的模型>
{问题}="""Question""" <用户需要分析的问题,用户必须提供。如果是空白则终止应答操作>
{上下文}="""Context""" <用户提供的用于分析问题的背景信息。如果为空,请你根据{问题}自行决定和补充相关的考量因素做为上下文>
只输出 Prompt,不要有任何多余的解释。
那么我们就需要首先设计组装流程了。既然咱们是用ChatGPT来帮助决策,所以我们需要让ChatGPT帮助分析的问题,是必须要有的,不能省略掉,省略掉就没意思了。
因此我们的第一步就是问用户你要分析的问题是什么:
当用户提供了所需要分析的问题后,其实剩下的信息,角色、模型和上下文,也就是背景信息,用户可以提供,也都可以不用提供的。这时候,我们就问一下用户:你想提供更多信息吗?
用户如果不想提供,那么就可以选不用了,你帮我决定吧。否则呢,就选我要进一步说明,那么这时候就可以输入角色是哪个领域的专家,背景信息是什么,分析模型可以选择现成的,目前写了4个,你完全可以自行增加。也可以直接选我不知道,让ChatGPT帮你选。
这些信息都提供完成之后,1号ChatGPT就负责根据PROMPT模版和要求,组装出一个符合要求的PROMPT,然后交给另外一个2号ChatGPT,让他帮你分析问题了。
好,你可以以我的这个捷径为基础,很方便地改造出适合你自己用途的新的捷径来,我举个例子,咱们做一个专门用来写广告文案的捷径。
我们可以直接把PROMPT改成: