編輯:蛋醬
兩天前,OpenAI 宣佈要在一週之內將官方外掛 Code Interpreter 通過設置中的 Beta 面板向所有 ChatGPT Plus 使用者提供。
這個訊息讓很多人激動了起來,畢竟此前 Code Interpreter 一直處於封閉測試階段,只有一小部分使用者真正使用過。這些內測使用者用它來資料分析、創建圖表、編輯檔案、執行數學運算等,反響普遍不錯。
大家沒有等太久,今天,Code Interpreter 已經正式開放。
不過對於很多使用者來說,如何讓 Code Interpreter 物盡其用,還得好好研究一番。
以下是一些內測使用者晒出的示例,為大家提供一些參考。
「博士期間幾周才學會的東西,AI 幾秒就完成了」
賓夕法尼亞大學沃頓商學院的教授 Ethan Mollick,是一位擁有數月 Code Interpreter Alpha 版本試用經驗的 ChatGPT Plus 使用者。他對 Code Interpreter 的評價還是比較高的,稱之為「用過的最有用、最有趣的 AI 模式」。
Ethan Mollick 明確表達了兩點感想:1)Code Interpreter 工作得非常好,不像外掛那樣完全是偶然的;2) 提示製作通常是沒有必要的,使用者只需與 AI 討論程式碼或資料以及想要什麼就可以了。
「Code Interpreter 延續了 OpenAI 長期以來給東西起可怕名字的傳統,因為這對那些根本不懂程式設計的人來說可能最有用。它允許現有的最先進的 AI GPT-4 上傳和下載資訊,並在一個連續的工作空間為你編寫和執行程序。這使得 AI 可以做各種以前不能做的事情,並在曾經 ChatGPT 不可能做到的方方面面發揮作用。」
為了幫助大家快速上手,Ethan Mollick 教授撰寫了一篇指南,傳授了自己使用 Code Interpreter 的經驗與心得。
我在讀博士時花了幾周時間才掌握的東西,AI 在幾秒鐘內就完成了,而且通常比我預期的人類分析員的錯誤要少。但對我來說,同樣清楚的是,人類不會被 Code Interpreter 所取代。相反,AI 做的是我們一直希望自動化能做的事情 —— 把我們從工作中最惱人、重複的部分中解放出來,這樣我們就可以專注於關鍵的事情。通過簡化分析過程,我可以做更多、更深入、更滿意的工作。我的時間變得更有價值,而不是更少,因為我可以專注於重要的事情,而不是死記硬背。
Code Interpreter 補上了 ChatGPT 哪些短板?
具體來說,Code Interpreter 為 AI 提供了一個解決問題的通用工具箱(通過用 Python 寫程式碼),一個可以使用的大記憶體(能夠上傳高達 100MB 的檔案,而且這些檔案可以是壓縮形式),並以發揮大型語言模型優勢的方式將該工具箱整合到人工智慧中。
這解決了以前版本的 ChatGPT 存在的一些問題:
1、Code Interpreter 允許 AI 做數學題(非常複雜的數學題)和做更精確的文字工作(比如實際計算段落中的字數),因為它可以編寫 Python 程式碼來解決大語言模型在數學和語言方面的固有弱點。而且它真的很善於使用這個工具,如下所示:
同樣的 prompt,Code Interpreter 的字數統計結果是 104 個詞。
2、 Code Interpreter 降低了幻覺和迷惑的概率。當 AI 直接與 Python 程式碼一起工作時,程式碼有助於讓 AI 保持「誠實」,因為如果程式碼不正確,Python 會產生錯誤;而且由於程式碼操作的是資料,不是 LLM 本身,所以沒有錯誤被 AI 插入到資料中。當然這也不完美,AI 仍然會產生幻覺(它似乎經常認為自己能看到它能生成的圖形,而這種模式的 ChatGPT 不會),但這些錯誤不太常見,而且不太可能影響程式碼或資料本身。
3、Code Interpreter 讓人工智慧的用途更加廣泛。很多問題都可以用程式碼來解決,GPT-4 非常善於找出何時以新穎有趣的方式使用 Code Interpreter。例如,使用者要求它用程式碼向一個懷疑者證明地球是圓的,Code Interpreter 會提供多個論據,將文字與程式碼、圖像結合起來。
4、使用者不必程式設計,因為 Code Interpreter 可以代替做所有的工作。之前的很多 LLM 都能寫程式碼,但你必須自己運行和調試。對於以前從未真正使用過 Python 的人來說,這很難,而且要和 AI 來回糾正錯誤。現在,AI 會糾正它自己的錯誤並給到你輸出。
5、它給了你更多的 AI Moment。任何使用過 GPT-4 的人都可能遇到過至少幾個時刻,感覺就像機器裡確實有一個幽靈。實際上大家也知道這是一種幻覺,而且 LLM 根本就沒有知覺或思維,但這些時刻是對更智慧的 AI 的未來的一瞥,有時令人激動,有時令人不安。Code Interpreter 提供了相當多「很奇怪」的時刻。
比如 Ethan Mollick 曾要求 AI「用程式碼調用各種情緒狀態」或者「給我看一些不可能用程式碼做的事情,並演示一下」。這裡可以看到「使用你可用的繪畫工具,通過創建一個圖像,創造一個全新的備忘錄。讓它與你作為 AI 與人類合作的經驗相關」的結果:
如何使用 Code Interpreter 處理資料
Code Interpreter 是一個令人印象深刻的「資料科學家」,能夠將定量分析的許多複雜事物自動化,並且能夠對資料採用非常複雜的方法。為了說明這一點,Ethan Mollick 從一個有趣的資料集「Super Heroes」開始。
上傳資料很容易,即使是像 ZIP 檔案這樣的壓縮資料,只要點選加號按鈕就可以了:
你應該在資料中加入一個初始提示,但它可以是相當少的,Ethan Mollick 用的 prompt 是這裡有一些關於超級英雄力量的資料,翻看一下,告訴我你發現了什麼」,然後得到了不錯的結果。如果你有一個資料字典,也可以直接粘貼進去。AI 很善於僅從上下文中找出資料的含義和結構。
可以注意到,Code Interpreter 與其說是提示製作,不如說是與 AI 進行對話,把它當作一個分析師和它交談。
事實上,也有兩個例外情況,其中提示的製作似乎很重要:首先,AI 有時會忘記它能做的事情(如製作 GIF 或 3D 圖),你可能需要鼓勵它(「你能製作 GIF,請試試」);其次,你會希望 AI 在自己的工作上有所改進。只要求它對這個結果做進一步的測試」或「使這個圖更漂亮」,一般來說這樣就可以了。
目前,資料已經載入完畢了,可以讓 GPT 做資料分析工作中最糟糕的部分了:資料合併和清理。
Code Interpreter 將以一種「相當複雜」的方式自動處理這一切,但直接詢問通常會有幫助,就好像你在指導一個人類資料分析師一樣。你還會注意到,該系統的工作方式是無情的,在發現錯誤時就會糾正自己的錯誤。例如,它注意到列的名稱有誤,並修正了這個問題。
不過這也說明,建議使用者仔細檢查結果和過程,而不是盲目地相信 AI。
接下來開始進行分析,AI 似乎對分析方法很了解。提示是「我對做一些預測性建模感興趣,比如根據其他因素預測一個英雄可能擁有的力量。我們應該如何處理這個問題?」
然後 Code Interpreter 構建了一個隨機森林!不過也可以看到為什麼有專家的人為監督是很重要的,因為作者不同意它通過使用數值化資料的平均值來計算缺失資料的決定。如果是作者自己,會放棄這些資料,但好在可以要求 AI 改變其方法,或討論其他的選擇。
AI 能夠進行許多其他分析(畢竟它只是在寫 Python 程式碼),但它選擇有意義的分析方法的能力常常給人留下深刻印象。例如,這裡有一個關於超能力的網路分析,提示是「你能不能進行另一個真正複雜和有趣的分析」:
但 Code Interpreter 最令人印象深刻的一點是,它以非常人性化的方式對資料進行「推理」。當被問及網路分析的結果時,得出了有趣的結論:英雄通常擁有的一組能力本質上是視覺的(因為它們來自漫畫書),適合某些原型,並且最適合構建持續的冒險。
這種互動性能力在視覺化階段仍然有效,你可以與 AI 來回溝通,要求改進和改變。例如,提示「創建一個互動的儀表板,至少有 6 個有洞察力的圖表,包括一個 3D 的圖表。讓儀表板變得漂亮。」
Code Interpreter 先是產生了一個儀表盤,但不太符合作者想要的,所以他直接說「讓這個更好,包括更多的名字」等等。然後 Code Interpreter 給出了一個可下載的互動式儀表盤檔案,只要把它放在網路瀏覽器中就可以了 —— 可下載的輸出也是 Code Interpreter 的另一個妙用方法。
20個奇妙用例
在資料分析之外,Code Interpreter 還有很多妙用。在Twitter上,一位名叫「Chase Lean」的網友收集了 20 個用例,讓我們也來學習一下有什麼新玩法:
1、從圖像生成視訊
首先,上傳想要製作動畫的圖像:
然後要求 AI 從左到右為這張食物圖像製作動畫。通過修改提示,可以創建自己的動畫。點選回車,30 秒即可獲得視訊:
想讓圖像變小,就告訴 GPT 將其大小調整為 50%;想讓視訊從下往上平移,將提示改為「 Start: Bottom → Center → Top: End」;想讓視訊的速度提高 2 倍,將幀的步長從 8 像素改為 16 像素。
2、從圖像摘取文字
3、智慧地理解、分析和解釋資料
4、用現實物理模擬硬科幻
初始 prompt:「我們將扮演一個科幻場景。我將成為隊長。問題是:你必須使場景中的每個挑戰都包含你將用程式碼模擬的真實物理效果。」
5、從圖像中提取調色盤
Code Interpreter 能從圖像中提取顏色以創建調色盤.png,並在記憶體耗盡時自動壓縮大型圖像:
6、生成二維碼
7、將動圖轉為視訊
使用 Code Interpreter,可以在 ChatGPT 中將上傳的 GIF 轉換成更長的 MP4 視訊並慢速縮放。
8、分析期權資料以確定最佳合約
用 Code Interpreter 來分析 7 月 21 日到期的 AAPL 的期權:
首先,在設置中啟用 Code Interpreter;然後,上傳資料檔案。在這個例子中,資料是一個 CSV 檔案:
9、分析音樂偏好
使用 Code Interpreter 分析 300 小時的 Spotify 收藏夾播放列表,從 Spotify API 中匯出,並運行多維 PCA 和 t-SNE 分析,總結音樂品味。
10、對房地產資料進行資料分析
11、生成並繪製隨機資料
12、生成矩陣雨的 GIF 動畫
13、清理資料、資料分析和視覺化
使用 Code Interpreter,你只需要上傳資料,提供簡單的英文指示,就可以完成清理資料、在 autopilot 上生成視覺化圖表的所有工作。
14、創建燈塔位置圖
上傳美國每個燈塔位置的 CSV 檔案之後,Code Interpreter 可以創建這些燈塔位置的 GIF 地圖,雖然地圖非常暗,但每個燈塔都在閃爍。
15、將資料轉換為網頁
提供一個未經加工的 UFO 目擊事件的資料集,Code Interpreter 就能生成了一個功能齊全的 HTML 熱圖。下面是一個靜態版本(它還可以很容易地創建任意多的版本):
16、使用 Python 複製 STATA 程式碼
Code Interpreter 能夠利用舊的 STATA 檔案和程式碼,用 Python 複製它們:「這裡有一個 stata do 檔案和一個 dta 檔案。複製分析。」、「現在用 CSV 檔案給我。
17、下載並分析比特幣資料集
Prompt:「Seasonally decompose the price since 2011」
18、犯罪資料趨勢視覺化
19、生成基因共表達的熱圖
20、分析鐵達尼號資料集
上傳鐵達尼號資料集,要求 Code Interpreter 進行一個完整的資料探索性分析。輸出結果包括:
1、資料的簡要概述;
2、乘客類別的分佈圖;
3、各組的存活率圖;
4、相關矩陣圖;
5、資料洞察。