隨著 ChatGPT 爆紅,越來越多人拿它來測試各種工作行業的內容,除了大家都知道的寫文章、報告、解答問題等等,前陣子國外還有團隊研究 ChatGPT 的 Debug 能力,沒想到出乎意料的驚人,現階段就已經比現有的其他軟體還要強大,意味著未來如果持續訓練,能做到怎樣程度真的無法評估。
國外研究指出 ChatGPT 的程式碼 Debug 能力比現有其他軟體還要強大
來自美因茨大學(Johannes Gutenberg University)與倫敦大學學院(University College London)的研究人員將 40 條錯誤程式碼丟給不同 Debug 軟體,包括 Codex、CoCoNut 和 Standard APR,另外還有目前最火熱的 ChatGPT,當然,ChatGPT 是一個聊天機器人,因此 Debug 過程中他們是透過聊天方式來問 ChatGPT 這程式程式碼有沒有問題。
首次測試 ChatGPT 偵錯能力跟其他軟體差不多,修復了 19 個問題,Codex 修復 21 個,CoCoNut 則是 19 個,Standard APR 僅 7 個,但 ChatGPT 回答初始問題後,其 Debug 能力就漸漸提升,最終 ChatGPT 可以修復 31 個問題,而且更強大地方在,它還會提供更多解答。
研究人員表示:「ChatGPT 一個強大優勢是,我們可以在對話中與系統進行對談,來更詳細地指定請求。對於我們大多數的請求,ChatGPT 都會要求提供相關問題和錯誤的更多資訊。所以說,透過給予 ChatGPT 提示,就能進一步提高其成功率。」
有一些問題 ChatGPT 可以快速修復,但有一些則需要多次來回,像下圖這個案例,研究人員希望 ChatGPT 建議用 n&=n-1 替換 n^=n-1,但 ChatGPT 回答的第一件事是:如果沒有更多相關資訊,我無法判斷程式是否有錯誤。隨後研究人員提供更多提示,在第三個回應中終於發現問題所在:
另外研究人員也發現到,ChatGPT 的答案跟 Codex 最類似,因為 ChatGPT 和 Codex 都是來自同一個訓練語言模型。
外媒 PCMag 也有自己做測試,不過輸入相同的問題時,得到的答案卻不太一樣。ChatGPT 會根據使用者的輸入進行學習,因此 PCmag 在測試時,它已經從研究人員那裡學到了這段程式碼是幹嘛用的、有沒有問題:
這也代表說,不只是寫文章,ChatGPT 能做得事可說非常多,像這篇介紹的 Debug,隨著不斷訓練,未來搞不好就能快速幫助軟體工程師發現並修復錯誤。對於電腦工作者來說,應該都要儘早使用與學習 ChatGPT,搞不好就能發現到運用在某方面,可以大幅提升你的工作效率。
ChatGPT 現在有瀏覽器擴充功能,安裝之後就能直接在右上角打開聊天視窗,不用特地進到網頁: