GPT 上神器 Code Interpreter 的三大超級特性
前天下午,收到任鑫同學(xué)的微信消息。他終于不用眼紅我,可以自己玩 Code Interpreter 啦。很開心地,他被 GPT 萌到了:
(資料圖片)
我也很開心呀:不再是寫一次 Code Interpreter 就要遭一次恨,獨樂樂不如眾樂樂。默默用了兩個半月后,我終于可以好好和大家一起來探索這個神器啦。
用 Code Interpreter 來做數(shù)據(jù)分析、圖像視頻文件轉(zhuǎn)化之類的功能就不贅述了,這兩天看朋友圈很多人摸索得很歡呢。這篇文章簡要分享下我認為 讓?Code Interpreter?具備強大能力的三個重要特性:
1. 排查問題自我糾錯
2. 接收百兆以內(nèi)大文件并對文件進行分析
3. 把運行代碼的沙盒環(huán)境用作大容量記憶體
1. 排查問題自我糾錯
自我糾錯是 Code Interpreter 最重要的特性。大語音模型需要通過接收反饋來迭代進化更好地完成任務(wù),而代碼運行結(jié)果就是最好不過的全自動反饋。
四月初我在 GPT 的幫助下寫代碼,還時不時有“與其費勁打字,不如自己敲代碼”的感嘆。老華有個特別經(jīng)典的比喻——就像主管帶新人,常會有“擼起袖子我自己來”的沖動。
有了 Code Interpreter 后,就不需要我教,它能自己在運行過程中發(fā)現(xiàn)錯誤并自動修正了。它甚至?xí)鲃訉?test case 并通過運行結(jié)果來找出代碼中的邏輯錯誤。下面這個例子來自我五一節(jié)時的實驗,受之啟發(fā)后來我請 GPT 幫我寫代碼,也常要求它配上對應(yīng)的測試用例。
“下屬”聰明了,很多任務(wù)我就可以非常偷懶地扔給它。例如解讀一個層次非常深、前后內(nèi)容還有相互引用的 json 文件、提取其要素轉(zhuǎn)化成表格。我不需要解釋這個文件是什么結(jié)構(gòu)、各字段分別是什么意思,只要說清楚自己最終想要的結(jié)果就足夠。
等它翻來覆去嘗試了十來遍搞定問題后,我讓它把代碼重新整理成函數(shù),就可以直接復(fù)制粘貼到我自己的項目中。我曾說自己的代碼有 60%?是 GPT 幫助完成的,其中一半以上用的就是這招。
在 GPT 完成了上述任務(wù)后我想起還有一個文件,扔給它做補充,再扔一個新的測試數(shù)據(jù)讓它運行做檢查。它依舊完成得很好。曾見過它拿新的數(shù)據(jù)運行代碼時報錯,就自動對代碼添加例外情況的防護。
這篇文章中我讓 GPT 從需求到文檔到測試用例到代碼一氣呵成,靠的也是 Code Interpreter。
總之,有了 Code Interpreter 后 GPT 能通過運行代碼來獲得反饋,從而自動糾錯,這是超級厲害的一項能力。GPT 寫代碼自動化了。
2. 接收大文件并分析
很多時候我會把 Code Interpreter 當(dāng)成 ChatPDF / ChatDOC 來用。
等它分析完成后,就可以讓 GPT 像?ChatPDF?/?ChatDOC?那樣給你解釋內(nèi)容:
它的強大之處在于你可以上傳一整個?zip 包,然后隨時按需指定文件要求解讀。
你甚至可以把完整代碼庫扔給它,讓它帶著你一點點讀懂代碼。比如下面的截圖,來自于我讓它帶著我讀 langchain 源碼。
它對關(guān)注重點的選擇很準確,是個優(yōu)秀的代碼閱讀者。
現(xiàn)在唯一的缺陷是還不夠流暢需要我時不時敲個“繼續(xù)”。如果它能不斷自己自動執(zhí)行,我只要等分析完畢后來看報告,那就更美妙了。
3. 把沙盒用作大容量記憶體突破 token 數(shù)限制
Code Interpreter 背后是 Jupyter Notebook,這個運行沙盒的內(nèi)存有多大,我們就可以讓它記住多少內(nèi)容,后面隨時調(diào)取,只要把希望它記住的內(nèi)容塞到函數(shù)或變量里就好。
例如我之前寫的這篇文章,每一個表情包繪制都是一個獨立的函數(shù),最終它能將這些函數(shù)組合起來,創(chuàng)作一個表情包劇本。若非“靠程序來記住上下文”的特性,GPT 真沒能力把這個劇本一口氣畫下來。
向上滑動閱覽
也就是說,如果我們讓 GPT 分步驟完成任務(wù)時,可以把中間過程保存在某些函數(shù)/變量中,在需要的時候提取出來用,這樣 GPT 的長度限制就變成了 jupyter notebook 的內(nèi)存限制,上百兆,超級大呢。
當(dāng)然,這需要針對使用場景做專門的設(shè)計。我還沒有想過通用的方案,也許你可以試試看?當(dāng)然,通用方案,也可以用 openai 的 api 接口來實現(xiàn)一套。可是在 chat 界面里用更方便:有什么特別的需求,想改隨時能自由改。
--------
以上就是我最喜歡的三大超能力。日常使用最多的是第一項,有大量潛力沒挖掘的是第三項。現(xiàn)在大家都有?Code Interpreter 了,很想知道你們都是怎么玩的呢。請關(guān)注我的公眾號,加個星標,咱們多多交流呀。
相關(guān)文章
能運行代碼的 GPT 那是真的王炸呀
當(dāng) AI 開始自動思考和行動——讓 GPT 左右互搏會發(fā)生什么
我敢肯定你沒這么玩過 GPT