有多少人期待过像贾维斯一样的强人工智能?尽管老实说看当下的技术离这一期待还很遥远,但用用类似 GPT-3 这样的技术去实现些朴素的愿望似乎并没有那么困难。
就在昨天,来自 Facebook 的 Elvis 在推特上发布了一个借助 OpenAI 的 GPT-3 模型接口完成的小项目,实现了 从自然语言到 Shell 命令的转换 。具体而言, 就是可以向 Shell 输入你想完成的任务描述,而通过模型就能将其直接转换为 bash 命令并执行 。
虽然这看起来这对具有 CLI 恐惧症的初学者十分友好,不过作者倒有强调这个项目并不是为了证明以后应该使用自然语言编程,而只是试验性的发现 使用 GPT-3 这样的 AI 模型完成一些需要严格遵循格式输出的任务具有非常好的效果 。
在作者提供的示例中我们看到,这个模型完成了各种各样的任务,有通过名称查找文件的:
- ~> find all files ending in .log in /var/log
- <~ find /var/log -name "*.log"
也有通过文件大小筛选文件的:
- ~> find all files in current directory bigger than 1GB
- <~ find . -size + 1G"
再像计算当下文件夹下的文件数量:
- ~> count number of files in current directory
- <~ ls | wc -l
以及排序这样简单的任务:
- ~> list files from biggest to smallest
- <~ ls -lSr
也有一些类似格式转换:
- ~> remux draft1.mp4 as mkv without encoding
- <~ ffmpeg -i draft1.mp4 -c:v copy -c:a copy remux.mkv
和生成图像:
- ~> crate a blank 200x200 png
- <~ convert -size 200x200 xc:white -background black foo.png
- ~> view foo.png impage
- <~ display foo.png
以及拆分pdf:
- ~> remux draft1.mp4 as mkv without encoding
- <~ ffmpeg -i draft1.mp4 -c:v copy -c:a copy remux.mkv
和打开浏览器这样更需要模型识别语义的任务:
- ~> open the Google Accounts page in my browser
- <~ xdg-open https://www.google.com/accounts/
甚至危险一点的格式化也能直接生成:
- ~> format the first partition
- <~ mkfs.ext4 /dev/sda1^C
但作者为了安全起见,在模型转换出代码后,需要人们判断是否执行:
- ~> format the first partition
- <~ mkfs.ext4 /dev/sda1^C
- <~ Canceled
除了这些功能之外,这个模型还能完成诸如发送邮件、下载文件、查询记录等等功能。不过有趣的是,作者在博文中讲,他最初的想法是构建模型完成自然语言与数据科学领域预处理工作代码间的转换, 即使用这种自然语言对话的方式完成预处理任务 (有点心动~),但作者发现基于 GPT 的模型无法下载类似 GDP 与人口这样的数据,也无法实现按最后一列降序排序这样简单的任务,因而放弃了这一想法。
同时,作者也发现,当他期望模型为他输出一张有三只长颈鹿的照片,模型也并没有实现,只是返回了一个空白的图像。
作者认为,这个模型很大程度上像是一种“ 怪异的谷歌 ”,它提供结果的模式只是基于大量的 Web 内容的归纳。 而对于一些它找不到答案的问题,作者发现模型甚至可以提供一些杜撰的结果 :
- ~> download IE5dom.exe
- <~ wget http://download.microsoft.com/download/3/4/1/3419d6e5-d0e4-4fde-b0e5-5b6a9c4d8e2d/IE5DOM.EXE
在这个例子中,尽管看起来这个网址十分逼真,但作者发现模型使用了一个虚假的 GUID ,其提供的网址也是无法打开的。
总之,尽管这个模型又贵又不可靠(需要 Open-AI 的 API key),但它至少代表了一种未来的方向与对类似 GPT-3 这种巨大模型意义的探索。在可见并可期待的未来,说不定当我们走进家门,真会听到一句“ Welcome Home Sir ”。
- Twitter:https://twitter.com/omarsar0/status/1384105945609826306?s=19
- Blog:https://riveducha.onfabrica.com/openai-powered-linux-shell