千呼萬喚,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任務。
也就是說用戶上傳的各種文件Code Interpreter 都能進行解讀,甚至可以是壓縮文件zip包或者整個程式碼庫!有Code Interpreter 的早期用戶指出,該功能在理解程式碼重點方面完成的相當好,很多人都直接把它當作了程式碼版的ChatPDF或者ChatDOC來用。
除了完美的閱讀理解能力,Code Interpreter 還能做到基於數據的圖表生成。比如它可以在沒有幾乎任何指導的情況下,理解文件內容是關於全球溫度數據的,並且成功識別每一個年份,然後繪製出一張圖表。
Twitter上還有人貼出了在5分鐘內就完成對特斯拉股票數據分析的例子,附帶各種豐富的圖表,這些都是一鍵生成的,如果換成Excel,一般需要數小時。
下面是用Code Interpreter直接生成常態分布的10000個隨機數,用戶要做的只是用英語告訴ChatGPT。
有人會說生成圖表這種還不算什麽獨家秘技,但要是 Code Interpreter 可以在讀了一篇關於如何繪制圖表的論文後,自己升級了自己的結果呢? Ethan Mollick就給了這樣一個例子。
在給打開Code Interpreter功能的ChatGPT餵了一篇關於「如何製作更好的散佈圖」的論文後,果然系統反饋了一張升級版、更清晰標注的散佈圖。
不僅出圖快,學習速度更快,這樣的 Code Interpreter你怕不怕?
這些功能的實現意味著 Code Interpreter 讓ChatGPT 不僅深度理解複雜文本內容,還能夠進行轉化。
這對整個數據行業的運作模式都是顛覆性的。然而不只是數據,Code Interpreter在程式碼方面同樣有心得。它不僅能夠理解程式碼,還能夠執行。
這裡面想象空間就很大了,正如 Andrej Karpathy所強調的,需要一些時間來充分發揮Code Interpreter的潛力。
結合Code Interpreter,升級版ChatGPT可剪影片、製作遊戲
Twitter上的用戶已經是馬不停蹄的玩出各種版本。比如透過提供ChatGPT的數據直接創建一個 XGBoost 預測模型,並且可以優化叠代,你所需要做的僅僅是告訴ChatGPT進行調整參數的行動即可。
這是對Code Interpreter程式碼執行能力的一個很好的展現。
再比如 Ethan Mollick就讓 Code Interpreter 用 Python複製自己的Stata格式文件,並且以CSV格式輸出。這個過程中Ethan Mollick所做的就是上傳文件,用英語告訴它該做什麽(out put it as a CSV file.),剩下的事情「升級版」ChatGPT完全自己完成了。
這種代碼級的理解甚至還涉及到一些跨模態領域,比如ChatGPT可以進行一些基礎影片剪輯,還能把GIF和靜態圖片透過放大縮小、轉移視角等方法變成一個短影音。
在Ethan Mollick提供的另一個例子中,他上傳了關於美國海岸燈塔位置的CSV文件,並要求ChatGPT生成它們在地圖上的所有位置並閃爍,ChatGPT成功做到了這一點。
下圖為一張GIF圖片。
而目前為止(這個功能才上線了兩天時間)最讓人驚訝的是,有人甚至用 Code Interpreter製作一個遊戲!
Twitter用戶@icreatelife寫了一行要求ChatGPT生成遊戲程式碼的 prompt,然後一套完整的遊戲程式碼就出現了。
透過Code Interpreter製作遊戲,步驟為何?
具體的步驟是這樣的。
第一步,寫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的原理看上去簡單得多。
當用戶發起請求的時候,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也不為過了。
本文授權轉載自:網易科技
責任編輯:蘇祐萱