一個令人贊不絕口的代碼 Debug 神器!
“
閱讀本文大概需要 5 分鐘。
在編寫程序時,無論是對于初學者還是對于專業(yè)開發(fā)人員,都會花費大量時間來調(diào)試或修復源代碼錯誤,也就是 Debug。
這個過程繁瑣復雜,包括 Bug 復現(xiàn)和 Bug 定位等環(huán)節(jié)。如果有了自動化的 Debug 程序,就可以顯著提高編程實踐的效率。
近日,有開發(fā)者打造了一款可以在幾秒鐘內(nèi)修復并解釋問題代碼的 Debug 神器 —— Adrenaline 。
試用地址: https://useadrenaline.com/
該工具由 OpenAI Codex 提供支持,Codex 是 OpenAI 與 GitHub 聯(lián)合發(fā)布的 AI 代碼補全工具 GitHub Copilot 背后的技術(shù)支撐。
鑒于 Codex 的補全功能是基于 GPT-3 的,所以 Adrenaline 也多了一項特色 Debug 功能:解釋 Bug。
目前,Adrenaline 已經(jīng)開源。
GitHub 地址: https://github.com/shobrook/adrenaline
使用方法
請注意,使用 Adrenaline 的前提是,用戶必須從 OpenAI 控制臺提供自己的 OpenAI API 密鑰。這是為了防止 API 濫用。
要在本地運行,需要克隆存儲庫并運行以下命令:
npm install
npm run start-local
目前,Adrenaline 支持 Python、JavaScript、Java、Ruby、PHP、C++、C、Shell 多種編程語言。
調(diào)試過程如下:Adrenaline 將代碼和錯誤信息發(fā)送到 OpenAI 編輯與插入 API (code-davinci-edit-001),該 API 會發(fā)回可能修復錯誤的代碼編輯。建議的修復會像 diff 一樣在線顯示,帶有接受、拒絕或修改每個代碼更改的選項。
Adrenaline 不僅會為錯誤提出修復建議,還會使用 GPT-3 (text-davinci-003) 以通俗易懂的英語解釋錯誤:
該錯誤消息意味著無法計算 Granger 因果檢驗統(tǒng)計量,因為 VAR(向量自回歸)模型對數(shù)據(jù)有完美的擬合。
這意味著,數(shù)據(jù)的可預測性太強,VAR 模型無法找到變量之間的任何有意義的關(guān)系。要解決此問題,您可以嘗試使用不同的模型或調(diào)整 VAR 模型的參數(shù)。
如果代碼沒有引發(fā)異常,但可能仍然存在錯誤,Adrenaline 還可以使用 OpenAI Codex 掃描代碼以查找問題并提出修復建議。
作者:希望能引入 ChatGPT 助手
現(xiàn)在,Adrenaline 只是一個簡單的 Demo,僅僅展示了 AI 驅(qū)動 Debug 的可能性。但在作者的構(gòu)想中,未來的 Adrenaline 將會有更豐富的功能。
在項目主頁,作者也介紹了有關(guān)如何改進 Adrenaline 的一些想法:
-
客戶端智能(例如靜態(tài)代碼分析)可用于為 GPT-3 構(gòu)建更好的 prompt。
-
Adrenaline 不僅應該解釋錯誤,還應該提供一個 ChatGPT 風格的助手來回答有關(guān)錯誤的問題。
-
創(chuàng)建一個執(zhí)行此操作的 VSCode 擴展,將消除將代碼和錯誤消息復制粘貼到站點中的問題。
當然,ChatGPT 未必是完全正確的。有人問:如何處理來自 ChatGPT 的錯誤?
作者表示:「Adrenaline 不會總是正確地糾正你的錯誤,但它至少可以給你一個起點?!?/span>
參考鏈接:https://www.reddit.com/r/MachineLearning/comments/106q6m9/p_i_built_adrenaline_a_debugger_that_fixes_errors/
文中所提到的所有開源項目與工具,已收錄至 GitHubDaily 的開源項目列表中。該列表包含了 GitHub 上諸多高質(zhì)量、有趣實用的開源技術(shù)教程、開發(fā)者工具、編程網(wǎng)站等內(nèi)容。從 2015 年至今,累積分享 3500+ 個開源項目,有需要的,可訪問下方 GitHub 地址或點擊文末「閱讀原文」自取:GitHub:https://github.com/GitHubDaily/GitHubDaily
好了,今天的分享到此結(jié)束,感謝大家抽空閱讀,我們下期再見,Respect!

End
崔慶才的新書《Python3網(wǎng)絡爬蟲開發(fā)實戰(zhàn)(第二版)》已經(jīng)正式上市了!書中詳細介紹了零基礎(chǔ)用 Python 開發(fā)爬蟲的各方面知識,同時相比第一版新增了 JavaScript 逆向、Android 逆向、異步爬蟲、深度學習、Kubernetes 相關(guān)內(nèi)容,?同時本書已經(jīng)獲得 Python 之父 Guido 的推薦,目前本書正在七折促銷中!
內(nèi)容介紹:《Python3網(wǎng)絡爬蟲開發(fā)實戰(zhàn)(第二版)》內(nèi)容介紹

掃碼購買
