这些时日,关于 ChatGPT 的话题甚嚣尘上,不过吾辈保守,在探得几项实际应用之后,才着手制作自动化动作,终有此文。
ChatGPT 并未直接提供 API,但背后的一系列 GPT 模型可以调用(尽管和 ChatGPT 有所相同)。这篇文章介绍了一个与 GPT 沟通的 Shortcuts 动作,你可以用一种类似于 Siri 的方式和 GPT 交流,打字或语音均可;聊天记录会保存到 iCloud 中,方便以后查询。您可以在下面下载这个动作,并在 GitHub 上收到第一时间的后续更新。
至于 GPT 有什么用?新生事物总是如此:多数人总要等到开始对它征税的那一天才反应过来。1
如何使用
在我之前已经有不少人做了关于 GPT 的快捷指令动作,大面上的思路要归功于他们,我不敢夺人之美。但正如先驱之一 Joe 所指出的,这些快捷指令本身并不复杂,核心操作仍然是 GPT 完成的;我们所做的,主要是改善交互的细节工程。
下载 Shortcuts 动作之后,您至少需要配置三个地方。第一处是动作开头的文本框,用于填写您的 OpenAI token,你可以在这里获得 token。剩下两处均是设置聊天记录的存储位置,我没有特殊要求,默认将其存储在 Shortcuts 的 iCloud 文件夹中。
此外,你也可以给 GPT 设置一个快捷键(下图第四步),或者配合第三方自动化工具以便启用。如果在 iOS 上使用,可以在分享菜单中将动作添加至主屏幕,此时可以选择相册里的图片作为动作图标,我就事先从网上下载了一张 OpenAI 的图片,让桌面上的动作图标看起来更像回事。
一些进阶配置(不看不影响使用)
本文动作使用“Get contents of URL”模块与 GPT API 交互,已预先填写好必需的 参数,不过如果您有需要或兴趣,也可以尝试自信更改。主要可以改动的参数有两处,第一是语言模型“model”,默认是效果最好的 text-davinci-003,但未来 OpenAI 完全可能推出更好的模型,届时替换即可。另一处则是 token 的使用次数“max tokens”,最大可以填写 4000,我为避免朋友玩得太嗨而设成 1000,你可以把它调回去。
本文动作初衷在于简化交互,一方面可以连续不断地提问并查看回答,另一方面还会记录问答过程。总体上就是运行动作输入问题查看回复,并决定要不要继续提问。
输入问题时既可以直接打字,也可以使用系统的语音输入。管见以为,打字仍然是最主要的交互方式,尤其是想把 GPT 作为生产工具的人,就需要把问题写得尽可能精确,此时还是打字来得可靠。我以前写过一篇关于 Type to Siri 的文章2,以打字取代语音输入,目的就是不要让 Siri 会错意。当然,语音交互也不用排斥,只需要点一下键盘上的听写按钮或者在电脑上开启听写,后续交互就比较接近使用语音助手。
写好问题之后,如果你在电脑上,可以直接使用快捷键 ⌘Command-↩Return
进入下一步,还可以用 ⇥Tab
键在不同按钮间切换,不需要摸鼠标。一个人越是真心想把 GPT 当作生产工具,想必越是会喜欢这样的全键盘操作。本文动作的亮点之一是利用了迭代,即在一个 Shortcuts 动作结束后运行自身(当然事先会征求用户同意),这样就可以不断向 GPT 提问而无需反复手动运行动作;凡是需要反复运行的动作,都可以考虑一下迭代,而不必囿于传统的循环操作。
提问和回答都会自动保存在 Shortcuts 文件夹中,附有时间戳,以便以后查看。
用例展示
注:GPT 和 Siri 功能部分重叠,比如让它讲一讲某个明星的生平或者问一个术语的定义,两者给出的答案都还行,但显然不如直接去维基百科,因此这类功能不在本文讨论范围内。毕竟,在明明有好得多的传统方案时,却硬要使用一个新潮的蹩脚方案,这就会滑向宫崎骏的 电子手淫论 。GPT 和所有的传统工具都不一样。即便像是 DEVONthink 或者搜索引擎这样复杂的软件或服务,我们大概也知道它们有何用处。GPT 则不然,它的回复充满了不确定,即便同一个人连续问两次同一个问题,它也可能给出不同答案。
在我的实践中,GPT 主要有两个应用方向。第一类仍然是替代人类劳动,制作比较机械的产品,比如写代码或者扒谱子。前一个例子读者们可能已经习以为常,不过 GPT 的效果确实让人刮目,即便是比较小众的 AppleScript,GPT 也能写出可运行的代码。我最近甚至不得不在 RSS 订阅器中屏蔽 GPT
这一关键词,因为常看的几个论坛里,频传捷报的玩家凑两个足球队还有剩。
至于扒谱子,GPT 的效果也令人满意。打车时如果觉得电台音乐还不错,我会掏出 Shazam 识别一下,再问问 GPT 谱子是什么,下车后就能翻出口琴比划几下。代码和谱子的共同点是易于检验,代码只需要跑一下,谱子只需要哼几句,对错毕露。
让 GPT 做上述事情时,其实是把它视作人造人荷蒙克鲁兹:工作很机械,结果很确定,人类很懒惰,最后交给机器奴隶。
另一类用途,恰恰利用了 GPT 的薛定谔性格,并不追求预定的答案,而是希望 GPT 的虎狼之词能够给出一点启发。举个例子,我会让 GPT 帮我概括一下书籍或者电影的主要内容,然后避开这些观点(GPT:你礼貌吗)。
小结
上线不过几周,基于 GPT 的 ChatGPT 无疑已经成为整个年度最火爆的项目。我自然也收获了一连串的惊喜,否则也不会有心思给它做一个自动化动作。不过,GPT 距离“生产工具”还差得远,就我较熟悉的专业领域而言,它基本在说车轱辘话3;前文提及的代码,只是 work、但是很冗长,一些单行命令就能搞定的操作,GPT 往往会写上十几行;谱子倒是无可指摘,毕竟答案唯一。
当然,我个人的尝试非常有限,得出的只是一家之言。这也是我制作并分享 GPT Shortcuts 的目的:希望您在有人开始对它征税之前,就发现更好的用途。
本文由 GPT 撰写,Minja 对内容负责。开玩笑的 :p