極客網·人工智能2月26日 在軟件開發(fā)領域,AI工具越來越流行。去年GitHub發(fā)布報告稱,有了AI輔助工具,開發(fā)者編程速度提高55%。
但是,AI工具輔助編寫的代碼是不是更好呢?GitClear對2020年1月至2023年12月間編寫的1.53億行代碼進行檢查發(fā)現(xiàn),相比以前,編寫之后修改的代碼行數(shù)明顯增加,2024年相比2021年增加了一倍。
換言之,有了AI工具,雖然編程速度加快了,但在第一次編寫時錯誤也大大增加了。形象地說,用AI輔助編寫代碼,就像聘請一名短期合同工為你工作,他關心的是如何編寫冗長的代碼,而不是保證代碼的可維護性。
AI會復制原有代碼的錯誤
開發(fā)者安全公司Snyk在報告中指出,GitHub AI編程輔助工具Copilot并不安全,如果已有代碼庫本身存在安全問題,工具編寫的代碼同樣也會不安全。
Snyk在2月22日的報告中指出,Copilot會復制代碼中存在的安全問題,如此一來,已有安全隱患會讓Copilot代碼更加不安全。
市場上已經出現(xiàn)不少生成式AI編程工具,比如亞馬遜CodeWhisperer,ChatGPT等?,F(xiàn)有工具的最大問題在于:它無法理解語義,所以無法對代碼作出評判。
GitHub Copilot從海量過往代碼中學習,形成特定模式和結構,然后生成代碼片段。這套學習方法有一定優(yōu)勢,但也有一個缺陷。Copilot代碼可能會復制已有安全漏洞,或者復制相鄰文件中的不良案例。
如何降低影響呢?Snyk給出一些建議:包括開發(fā)者手動檢查代碼;安全團隊應該設立SAST護欄;開發(fā)者應該遵守安全編程指南;安全團隊應該給開發(fā)團隊培訓,將每個團隊的積壓問題分類,按優(yōu)先級排序;執(zhí)行團隊應該強制設置安全護欄。
一般來說,平均每個商務軟件項目的第一手代碼都會有40個漏洞,當中約三分之一都是高危漏洞。AI生成工具會復制這些漏洞,影響惡劣。跨站腳本攻擊(cross-site scripting,XSS)、路徑穿越(Path Traversal)、SQL注入、硬編碼加密密鑰等安全問題比較常見。
所以,行業(yè)幾乎有一個共識:就眼下來看,AI輔助編程還沒有迎來黃金時代,AI還不夠好。
但AI輔助編程未來可期
GitHub CEO Thomas Dohmke不久前接受采訪時表示:“開發(fā)者已經進入AI時代。現(xiàn)在的問題已經很明確,你準備以多快的速度上船?你是不是準備繼續(xù)沉醉于過去,站在歷史錯誤的一邊,忽視生產力提升的大好機遇?”
GitHub Copilot實際上歸微軟所有,最新財報顯示,最近一個季度Copilot付費用戶數(shù)已經突破130萬,相比前一個季度猛增30%,已經有5萬家企業(yè)使用Copilot。
Thomas Dohmke稱,平臺上用戶編寫的代碼約有一半是AI生成的。Thomas Dohmke認為,社區(qū)已經普遍接受一個觀點,即AI生成代碼需要人類程序員監(jiān)督審核。
值得一提的是,新手程序員特別喜歡使用Copilot,因為它能協(xié)助解決編程難題。
隨著編程自動化程度的增加,代碼中的錯誤可能會越來越多,這點其實已經引起爭論。Thomas Dohmke稱,自Copilot引入之后錯誤增加數(shù)量比較“正?!?,沒有證據(jù)證明AI導致錯誤猛增。
真是這樣嗎?未必。新手程序員大規(guī)模使用AI,一旦出現(xiàn)錯誤,新手可能無法發(fā)現(xiàn),整個代碼的質量可能會下降。
微軟對AI工具充滿期待,除了編程,它還希望Copilot能幫助用戶寫郵件、制作電子表格、分析Office文檔。微軟甚至還為Windows PC鍵盤增加一個“Copilot”按鍵。谷歌也在開發(fā)類似工具。
微軟CEO納德拉在最近的財報會議上表示,圍繞GitHub Copilot和它的生產力問題,我們已經看到很多的證據(jù)和數(shù)據(jù),結果不錯。納德拉預計其它Copilot應用也會帶來良好效果。
總之,目前Copilot還是新生事物,相信再過一段時間,當我們擁有更多數(shù)據(jù),就能對上述問題有更深刻理解。(小刀)
(免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現(xiàn)的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。 )