本文来自微信公众号:品玩 (ID:pinwancool),作者:薛良Neil,头图来自:视觉中国
千呼万唤,Code Interpreter 插件终于全面上线了,OpenAI宣布,它的Beta版向所有ChatGPT的付费用户(即ChatGPT Plus)开放。
作为官方插件,Code Interpreter 最早在今年年初开放给非常有限的用户使用,当时它强大的能力就引发了一波关注小高潮。
过去的这几个月,有关于GPT4.0所谓“智能水平”下降的传言不绝如缕,有说随着用户规模扩大,模型能力下降的,也有说是计算资源实在不够,OpenAI做了一些干预调整。
但无一例外,大家对Code Interpreter的印象都非常好,而这次Code Interpreter 全面公测之后,大家对于它的美誉度更是蹭蹭上涨。
认证资料为AI从业者的Twitter用户@moritzkremb 直接宣称,Code Interpreter 就是戴着插件面具的GPT 4.5!
实际上持这种观点的不在少数。总结了8个Code Interpreter案例,浏览量超过百万级别,认证资料显示为AI创业者的@minchoi 也在推文中表示,有传言GPT4 加上Code Interpreter 其实就是GPT4.5。
更有人表示,有没有Code Interpreter 简直就是两个模型!因为有了Code Interpreter 的新ChatGPT可以给十五万字的书来写大纲了!这和一直有字数限制的CHatGPT本体实在是差太多。
作为一个插件,Code Interpreter 有什么魔力?
什么是 Code Interpreter?
顾名思义,Code Interpreter这个名字直接翻译过来意思是代码解释器,但它实际在做的工作其实刚好和这个名字相反——略去代码过程,通过自然语言交互,直接得出结果。
沃顿商学院用了Code Interpreter几个月的教授Ethan Mollick写了一篇入门指南,他对Code Interpreter最大的感想是,连prompt都可以不要了,你要做的就是和AI讨论你在GPT 4.0上上传和下载的内容本身(100MB以内),通过自然语言就可以。
所有复杂代码环节和需要精心设计prompt,在Code Interpreter 的帮助下都可以大幅略去。对用户来说,本质上Code Interpreter就是介于自然语言和代码语言之间的媒介,而这个媒介经过OpenAI的训练,拥有智能能力,又由于OpenAI开放了上传下载文件接口,这个媒介可以理解更复杂、冗长的资料。
用OpenAI联合创始人Andrej Karpathy 的话说,Code Interpreter是你的个人数据分析师,你可以用它读取上传文件、执行代码、生成图表、统计分析等等。
比如直接从PDF提取所有的文字,只用一句话,ChatGPT就能自己完成OCR任务。
截图自Twitter用户@DataChaz
也就是说用户上传的各种文件Code Interpreter 都能进行解读,甚至可以是压缩文件zip包或者整个代码库!有Code Interpreter 的早期用户指出,该功能在理解代码重点方面完成得相当好,很多人都直接把它当作了代码版的ChatPDF或者ChatDOC来用。
除了完美的阅读理解能力,Code Interpreter 还能做到基于数据的图表生成。比如它可以在没有几乎任何指导的情况下,理解文件内容是关于全球温度数据的,并且成功识别每一个年份,然后绘制出一张图标。
截图来自Twitter用户@hausfath
Twitter上还有人贴出了在5分钟内就完成对特斯拉股票数据分析的例子,附带各种详实丰富的图表,这些都是一键生成的,如果换成Excel这一般需要数小时(数据分析师瑟瑟发抖)。
下面是用 Code Interpreter 直接生成正态分布的10000个随机数,你要做的只是用英语告诉ChatGPT。
截图来自Twitter用户@DataChaz
有人会说生成图表这种还不算什么独家秘籍,但要是 Code Interpreter 可以在读了一篇关于如何绘制图表的论文后,自己升级了自己的结果呢?Ethan Mollick就给了这样一个例子。
截图自Twitter用户@emollick
在给打开了Code Interpreter功能的ChatGPT喂了一篇关于如何制作更好的散点图的论文后,果然系统反馈了一张升级版、更清晰标注的散点图。
不仅出图快,学习速度更快,就问这样的 Code Interpreter你怕不怕?
这些功能的实现意味着 Code Interpreter 让ChatGPT 不仅深度理解复杂文本内容,还能够进行转化。
这对整个数据行业的运作模式都是颠覆性的。然而不只是数据, Code Interpreter 在代码方面同样有心得体会。它不仅能够理解代码,还能够执行代码。
这里面想象空间就很大了,正如 Andrej Karpathy所强调的,社区需要一些时间来充分发挥Code Interpreter 的潜力。
被玩坏了的 Code Interpreter
Twitter上的大家自然已经马不停蹄地搞起事情来了。
比如通过提供给ChatGPT的数据直接创建一个 XGBoost 预测模型,并且可以优化迭代,你所需要做的仅仅是告诉ChatGPT去进行调整参数的行动即可。
截图自Twitter用户@TechMemeKing
这是对Code Interpreter 代码执行能力的一个很好的体现。
再比如 Ethan Mollick就让 Code Interpreter 用 Python复制了自己的Stata格式文件,并且以CSV格式输出。这个过程中 Ethan Mollick所做的就是上传文件,用英语告诉它该干什么(out put it as a CSV file.),剩下的事情“升级版”ChatGPT完全自己完成了。
截图来自Twitter用户@emollick
这种代码级的理解甚至还涉及到一些跨模态领域,比如ChatGPT可以进行一些基础视频剪辑,还能把GIF和静态图片变成通过放大缩小、转移视角等方法变成一个短视频。
在Ethan Mollick给的另一个例子中,他上传了关于美国海岸灯塔位置的CSV文件,并要求ChatGPT生成它们在地图上的所有位置并闪烁,ChatGPT成功做到了这一点。
注意,这是一张GIF图片!
截图自Twitter用户@emollick
而目前为止(这个功能才上线了两天时间)最让人惊讶的是,有人甚至用 Code Interpreter 制作一个游戏!
Twitter用户@icreatelife写了一行要求ChatGPT生成游戏代码的 prompt,然后一套完整的游戏代码就出现了。
截图自Twitter用户@icreatelife
截图自Twitter用户@icreatelife
具体的步骤是这样的。第一步,写prompt:write p5.js code for Asteroids where you control a spaceship with the mouse and shoot asteroids with the left click of the mouse. If your spaceship collides with an asteroid, you lose. If you shoot down all asteroids, you win! I want to use my own textures for the spaceship and for asteroids.
翻译:编写 p5.js 代码,在小行星中用鼠标控制一艘宇宙飞船,然后用鼠标左键单击小行星来射击小行星。如果你的宇宙飞船与小行星相撞,你就输了。如果你击落了所有小行星 ,你赢了!我想用我自己的纹理来制作宇宙飞船和小行星。
第二步,去创建草图,然后从 GPT-4 复制粘贴代码。
第三步,生成纹理文件。
第四步,将文件名替换为自己的文件名。
最后,运行程序!
这个开发的简单程度几乎等同于经典的“把大象装进冰箱总共分几步”,实际上如果不是要使用自己的纹理样式,这个游戏的开发过程就只剩下输入prompt,然后复制代码,替换文件名并运行这样寥寥几步!
尤其特别值得一提的是,如果程序运行中出现了错误,@icreatelife 强调你可以要求ChatGPT去修复,方法就是把错误代码复制粘贴到对话框中——这和询问人类程序员的方法是一模一样的。
而在某些例子里,Code Interpreter甚至可以自己修复代码!
更有想象力的未来
能够做到这一切神奇功能,还得回归到Code Interpreter的原理——相比于功能,Code Interpreter的原理看上去简单得多。
当用户发起请求的时候,Code Interpreter会生成一个沙盒环境来执行命令,这个环境里包括了一个Python解释器、库和临时的磁盘空间,在执行完成后,Code Interpreter会直接输出结果,这些结果在基于ChatGPT界面的所有函数中都可以使用,于是复杂任务就能被很好拆解。
作为最早使用Code Interpreter 功能的人之一,Ethan Mollick对它的能力进行了一个小概括:Heading towards a world of coding by intent. 迈向意图编码的世界。
你想要做什么,Code Interpreter用代码帮你实现。
这也就意味着,编程的成本变得无限低,人人可以用自然语言来自由编程。
甚至,如果你没有任何编程基础,还可以让ChatGPT来教你!你只需要给它的prompt里说“现在假设你是一位编程老师”即可,上文设计游戏的@icreatelife 就是这么做的。
用户用自然语言告诉ChatGPT最终需要的结果,Code Interpreter 在运行代码的过程中如果遇到错误会自己进行修正,直到产生符合要求的答案。
就生产力方面而言,这当然意味着对程序员工作的大减负,因为写代码实际上已经自动化了。加上对文件内容本身的理解以及对数据、图标的分析能力,Code Interpreter 将对程序员、数据分析师等许多行业造成大冲击,这也是有人愿意称它为GPT4.5的原因——它实在是太强大了,人们对它的能力认知可能还需要有一个逐步提高的过程。
但另一个方面,除了对就业市场的潜在影响,更为重要的是——拥有了代码能力的ChatGPT,实际上可以借助Code Interpreter找到降低和消除机器幻觉的路径。
自然语言在描述世界的过程中可能出现种种不准确、谬误和自圆其说的地方在代码面前都不存在,因为代码本身是基于精确规则运行的,这其中绝少有似是而非的空间。因此借助Code Interpreter 来消除大模型的“胡言乱语”这个思路将变得十分有吸引力。
如果代码让大模型变得更精准,那某种意义上说也就是让大模型更诚实了,从这个意义上说,把Code Interpreter称之为GPT4.5也不为过了。
本文来自微信公众号:品玩 (ID:pinwancool),作者:薛良Neil