OpenAI 剛剛融資,就迫不及待開始證明自己了。
今日凌晨,OpenAI 宣佈推出類似 Anthropic 的 Artifacts 的應用 canvas,並稱「這是一種使用 ChatGPT 寫作和程式設計的新方式」。
在 Claude 中試過 Artifacts 的朋友都知道,這能極大提升 LLM 輸出結果的表現力,其支援輸出文字檔案、程式碼、網頁、SVG 等等。此前風靡一時的「漢語新解」便是基於 Claude 的 Artifacts 功能。但讓 ChatGPT 使用者感到遺憾的是,Artifacts 上線三個多月了,OpenAI 一直沒有跟進,以至於一些開發者自行開發釋出了自己的開源版本。
現在,使用者的呼聲終於獲得了響應,於是紛紛點贊。也有人開玩笑地表示 OpenAI 這是打不過 Claude 便加入。
已有使用者分享了自己使用 canvas 的驚喜成果,比如使用者 @bilawalsidhu 分享自己讓 ChatGPT 使用 ThreeJS 建立超立方體檢視器過程:
在 canvas 這個介面,你可以與 ChatGPT 一起完成寫作和編碼專案,而不再侷限於簡單的聊天。canvas 是一種新的互動方式,也是 OpenAI 推出 ChatGPT 以來的首個重大視覺介面更新。
canvas 會在單獨的視窗中開啟,方便使用者與 ChatGPT 一起協作完成專案。canvas 的 Beta 版本為使用者提供了一種全新的合作方式:你不僅能夠透過對話進行創作,還能與 ChatGPT 成為並肩作戰的夥伴,一起創造和完善。
canvas 由 GPT-4o 支援,在 Beta 期間可以在模型選擇器中手動選擇。不過,現在 Beta 版本只提供給 ChatGPT Plus 與團隊使用者。企業和教育使用者將在下週獲得訪問許可權。ChatGPT 免費使用者需要等到 canvas 正式釋出後才能使用。
我們先一睹 canvas 有哪些驚豔之處。
與 ChatGPT 更好地協作
和 ChatGPT 聊天對於我們來說已經是十分簡便的資訊獲取方式,這也包括寫作與編碼。不過當你想要及時對寫作內容或者編碼內容進行修改時,對話方式可能就顯得力不從心了。
canvas 的出現就是為了解決這個難題。
在這個新的介面中,你可以透過高亮的方式,告訴 ChatGPT 具體需要關注什麼,讓它更精準地理解你的用意。這就類似於編輯,你可以在全部上下文中具體地提出反饋和建議。
此外,你的調整方式也十分便捷,直接編輯程式碼或文字都不成問題。你的專案,你做主。canvas 還提供了快捷選單,可以讓 ChatGPT 幫你調整文字長度、除錯程式碼,或者快速執行其他實用操作。如果想要之前的版本,一鍵返回即可恢復。
寫作快捷操作,圖源:https://openai.com/index/introducing-canvas/
當 ChatGPT 發現某個場景中 canvas 能幫上忙時,它會自動開啟。你也可以在提示中直接加一句「使用 canvas」,這樣 ChatGPT 就會切換到 canvas 介面,幫助你更方便地處理現有專案。
canvas 的程式設計能力
程式碼是一個迭代過程,但是在聊天之中,很難跟蹤程式碼的改進過程。canvas 讓我們可以更輕鬆地跟蹤和理解 ChatGPT 的修改過程,OpenAI 也承諾「計劃繼續提升這類編輯過程的透明度」。
canvas 目前提供了以下程式設計快捷操作:
審閱程式碼:ChatGPT 可提供改進程式碼的行內建議;
新增日誌:插入 print 語句來幫助使用者進行除錯和理解程式碼;
新增註釋:為程式碼新增註釋,讓其更容易理解;
修復 bug:檢測和重寫有問題的程式碼,以修復錯誤;
支援多語言匯出:可將使用者的程式碼轉譯成 JavaScript、TypeScript、Python、Java、C++、PHP 等語言。
將模型訓練為協作夥伴
OpenAI 的研究團隊對 GPT-4o 進行了訓練,以使其能夠作為創意合作伙伴進行協作。該模型知道何時開啟 canvas,何時進行目標性編輯,以及何時需要完全重寫。同時,它還能夠理解更廣泛的上下文,從而提供精準的反饋和建議。
為了支援這一點,研究團隊開發了以下核心行為:
在寫作和編碼時觸發 canvas
生成多樣化的內容型別
進行目標性編輯
重寫文件
提供 inline 評論
OpenAI 透過 20 多項自動化內部評估來衡量進展,並使用了新穎的合成資料生成技術,例如從 OpenAI 的 o1-preview 中提取輸出,來對模型進行核心行為的後訓練。這種方法能夠快速應對寫作質量和新的使用者互動需求,從而無需依賴人工生成的資料。
對研發團隊來說,一個關鍵挑戰是何時觸發 canvas。OpenAI 訓練模型在像「寫一篇關於咖啡豆歷史的部落格文章」這樣的提示詞下開啟 canvas,同時避免對像「幫我做一道新的晚餐食譜」這樣的一般問答任務進行過度觸發。
在寫作任務中,他們優先改進了「正確觸發」的情況(以犧牲「正確不觸發」為代價),達到了 83%,相較於作為基線的零樣本提示詞式 GPT-4o 有了顯著提升。
值得注意的是,此類基線的質量對特定提示詞非常敏感。不同的提示詞可能導致基線在表現不佳的同時,呈現不同的錯誤分佈。
例如,在編碼和寫作任務中會出現「均勻地不準確」情況,導致不同型別的錯誤分佈和表現不佳的形式。在編碼方面,OpenAI 有意讓模型在觸發方面偏向保守,以避免干擾高階使用者的體驗。之後,OpenAI 也是承諾將繼續根據使用者反饋對其進行最佳化。
針對寫作和編碼任務,OpenAI 改進了準確觸發 canvas 決策邊界的能力,分別達到了 83% 和 94%,相較於作為基線的零樣本提示詞式 GPT-4o 有明顯提升。
第二個挑戰在於對模型在觸發 canvas 後的編輯行為進行調優,特別是決定何時進行目標性編輯,何時重寫整個內容。
OpenAI 訓練模型在使用者透過介面明確選擇文字時進行目標性編輯,否則就更傾向於重寫內容。隨著模型的不斷完善,canvas 的編輯行為也在持續演變。
針對寫作和編碼任務,OpenAI 優先最佳化了 canvas 的目標編輯功能。帶有 canvas 的 GPT-4o 在效能上比基線的提示詞式 GPT-4o 高出 18%。
最後,訓練模型生成高質量評論需要經過仔細的迭代。與前兩個可以輕鬆適應自動化評估並輔以詳細人工審查的案例不同,自動衡量評論的質量尤其具有挑戰性。
因此,OpenAI 使用人工評估來衡量評論的質量和準確性。他們所整合的 canvas 模型在準確性上比使用提示詞指令的零樣本 GPT-4o 高出 30%,在質量上高出 16%。
這表明合成訓練顯著提升了相較於帶有詳細指令說明的零樣本提示詞下的響應質量和行為表現。
canvas 目前仍處於早期測試階段,OpenAI 後續計劃快速提升其功能。
至於它和 Artifacts 究竟誰更能贏得使用者親睞,就讓我們拭目以待吧,相信剛拿了一大筆投資的 OpenAI 也應該不會讓使用者失望。