成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么人工智能生成的代碼不夠好?如何變得更好? 原創

發布于 2025-3-25 08:11
瀏覽
0收藏

我們是否過早地標準化了人工智能生成的代碼?以下是它的不足之處及改進方式。

近年來,大型語言模型(LLM)迅速興起,帶動了生產率的大幅提高。編程助手的蓬勃發展,數百萬個多行代碼塊通過按鍵便可輕松實現生成及合并。這一切就像變魔術一樣。但在每個人的內心深處都有一個揮之不去的想法——我真的能相信這段代碼嗎?

時至今日,質疑人工智能在軟件開發中的價值無疑是可笑的,因為它早已不可避免地根深蒂固。微軟報告稱,有1.5億開發人員使用GitHub Copilot。Stack Overflow在2024年的調查發現,61.8%的開發者在開發過程中使用人工智能。谷歌聲稱超過四分之一的新代碼是人工智能生成的。

簡而言之,人工智能生成的代碼已經成為常態!但它真的能勝任這項任務嗎?

AI生成代碼存在的問題

Exabeam首席產品官史蒂夫?威爾遜(Steve Wilson)表示:“讓我們面對現實吧!LLM不是軟件工程師。它們就像有著金魚記憶的實習生,雖然很擅長快速完成任務,但并不擅長追蹤大局。”

隨著對人工智能依賴的增加,這種“大局”正在被邊緣化。具有諷刺意味的是,根據《2025年軟件交付狀況報告》顯示,開發人員的總工作量正在增加——大多數開發人員需要花更多的時間來調試人工智能生成的代碼和解決安全漏洞。

Onymos聯合創始人兼工程副總裁巴瓦尼?萬加拉(Bhavani Vangala)表示:“人工智能的輸出通常相當不錯,但仍然不夠可靠。它需要更加準確和一致。開發者仍然需要審查、調試和調整它。”

為了改進人工智能生成的代碼,我們必須解決關鍵問題:不信任、代碼質量問題、上下文限制、幻覺和安全風險。人工智能顯示出令人難以置信的前景,但人類的監督仍然至關重要。

代碼膨脹和上下文限制

AI代碼完成工具傾向于從頭開始生成新代碼,而不是重用或重構現有代碼,從而導致技術債務。更糟糕的是,它們傾向于重復代碼,失去了代碼重用的機會,并增加了必須維護的代碼量。當冗長或低效的代碼增加了技術債務時,就會出現代碼膨脹和可維護性問題。

GitClear公司發布的《2025年AI Copilot代碼質量報告》分析了2.11億行代碼變化,并發現在2024年,重復代碼塊的頻率增加了8倍。研究還指出,除了增加不必要的技術債務之外,克隆的代碼塊還會造成更多的(高出15%到50%)安全漏洞。

這些問題源于人工智能有限的上下文。人工智能擁有的上下文無疑是越多越好,但提供給人工智能模型的信息量總是有限的。GitHub報告稱,Copilot Chat有一個64k-128k的令牌上下文窗口,相當于大約30到100個小文件或5到20個大文件。雖然上下文窗口正在增長,但它們仍然不足以掌握完整的軟件架構或建議適當的重構。

缺乏“大局觀”思維

雖然人工智能擅長模式識別,但它看不到代碼背后的“原因”,缺乏高級工程師所具備的全面背景和解決問題的能力,這限制了它在業務邏輯、用戶體驗或長期可維護性之間進行權衡的能力。

編碼本質上是一項創造性的、以人為中心的活動。人工智能無法創造以前不存在的新事物。而開發人員則可以利用創造力和對人類偏好的了解來構建專門為最終用戶設計的解決方案。

因此,在生成整個程序或需要更廣泛背景的領域,人工智能工具通常“浪費的時間多于節省的時間”。當它們被要求編寫較長形式的例程時,生成的代碼質量會顯著下降。

幻覺和安全風險

幻覺仍然是一個問題。Exabeam的威爾遜表示:“人工智能不僅會犯錯,而且會自信地犯錯。它將發明不存在的開源軟件包,引入微妙的安全漏洞,并一本正經地做這一切。”

這些錯誤通常源于糟糕的數據語料庫。人工智能在合成數據上的訓練可能會產生一個回音室,導致模型崩潰。

Crowdbotics研究與創新副總裁科里?海梅爾(Cory Hymel)同樣指出,缺乏高質量的訓練數據是最大的障礙。例如,GitHub Copilot使用的流行模型OpenAI Codex就是在包含錯誤的公開可用代碼上訓練的,這些錯誤會對模型質量造成影響。

安全漏洞是另一個問題。人工智能生成的代碼可能包含可利用的漏洞。雖然人工智能擅長修復漏洞,但它通常很難找到這些漏洞。OpenAI的一篇研究論文指出:“AI代理可以非常快地查明問題的根源,通過在整個存儲庫中使用關鍵字搜索來快速定位相關文件和函數——這一過程通常比人類快得多。然而,它們通常對問題如何跨越多個組件或文件的理解有限,并且無法解決根本原因,從而導致解決方案不正確或不夠全面。”

其他行業報告也發現了越來越多的人工智能缺陷。例如,Apiiro的研究發現,自2023年中期以來,代碼庫中暴露的個人身份信息(PII)和支付數據激增了三倍,這歸因于采用人工智能輔助開發。

法律灰色地帶也可能阻礙人工智能代碼的使用,并引入合規性問題——一些人工智能工具聲稱對它們輸出的代碼擁有所有權,而另一些工具則保留知識產權用于模型再培訓目的。

不信任和采用障礙

“這一切都歸結為信任——人們信任人工智能生成的新應用程序嗎?”Salesforce負責產品管理的副總裁丹?費爾南德斯(Dan Fernandez)問道。谷歌發布的《2024年DORA報告》發現,平均而言,開發人員只“有點”信任人工智能生成的代碼。

Durkin認為,采用人工智能的最大障礙是對其準確性的信任。與人類開發人員不同,人工智能沒有內在的良心或責任,這使得合規性和可靠性檢查對人工智能的輸出更為重要。

人工智能的不透明性也使得人們很難信任關鍵的應用程序。Contentful的工程執行副總裁杰夫?加布里埃爾(Jeff Gabriel)表示:“對于任何人工智能提供的代碼,信任都是一個大問題,尤其是對于遺留代碼,這是大多數軟件投資發生的地方。”

Rez0corp創始人、漏洞賞金獵人約瑟夫?塞克爾(Joseph Thacker)表示:“最大的障礙可能是許多公司內部對人工智能的反對。”他指出,公司高層經常禁止員工使用人工智能。

人工智能生成的代碼將如何改進

盡管人工智能生成的代碼面臨障礙,但解決方案正在路上——許多人重新審視了基本的編碼最佳實踐。

驗證AI輸出

就像人類生成的代碼一樣,必須對人工智能生成的代碼進行嚴格的測試。Vultr首席營銷官Kevin Cochrane表示:“開發人員仍應仔細審查、完善和優化人工智能生成的代碼,以確保其符合安全性、性能和可維護性的最高標準。”

人工智能輸出的自動化測試將是關鍵。開發者可以通過自動化測試、靜態代碼分析和屏蔽訓練AI模型的敏感數據來改善AI輸出。此外,人工智能增加的代碼吞吐量給下游流程和系統帶來了壓力,需要在QA測試中實現強大的自動化,以確保持續的可靠性。

人工智能還可以在自我監管方面發揮作用——雙重檢查代碼質量,使用預測模型識別潛在風險,并進行安全掃描。此外,更廣泛地使用負責任的AI (RAI)過濾器來篩選有害內容、安全漏洞,并通知用戶公共代碼匹配,這些都很重要。

漸進式部署也可以通過衡量單個代碼更改的影響來幫助避免缺陷。像金絲雀部署、功能標志或功能管理這樣的技術允許團隊在有限的暴露情況下驗證代碼。

更好的訓練數據

這一切都歸結于訓練數據,因為正如俗話所說,“垃圾輸入,垃圾輸出”。因此,我們需要更多的清理并使用高質量的代碼樣本作為訓練數據。避免模型崩潰需要向人工智能模型提供附加數據,而不是反芻輸出。

為LLM提供特定于項目的上下文,如定制庫、風格指南、軟件材料清單或安全知識,也可以提高準確性。確保人工智能模型接受可信數據的訓練,并針對特定應用進行微調,這將有助于提高人工智能生成代碼的準確性,并最大限度地減少輸出中的幻覺。

一些基于IDE的解決方案和技術的出現也為開發人員提供了更多的實時上下文。此外,檢索增強生成(RAG)將有助于引用特定于版本的軟件庫或代碼庫。

精細調整模型

公司不再依賴大規模的通用模型,而是轉向針對特定編碼任務的更小、更專業的模型。Fernandez表示,“對于開發人員生命周期中的每個用例來說,最大的模型并不是必需的。我們正在探索一種小型模型的聯合架構,在這種架構中,低功耗的LLM可以為開發人員處理許多任務。”

改進的訓練和精細調整的模型可能會產生更高程度的準確性,但是最好的結果可能發生在公司防火墻后。Crowdbotics公司表示:“2025年,經過公司現有代碼訓練的微調模型將會興起,這些模型在‘墻后’運行,其表現將大大超過公開的模型。”

增強提示工程

另一個方面是改進提示工程。Contentful的Gabriel表示:“我們還需要研究如何提示,這包括額外的上下文和針對系統特定場景的潛在微調。”

提示工程將成為軟件工程師工作的必要組成部分。為了實現這一目標,開發者有責任提升自己的技能,學習如何編寫更好的提示,以獲得自己想要的AI輸出。

新的人工智能解決方案也會有所幫助。rez0corp的Thacker稱:“最大的影響將來自更好的模型和更好的編碼應用程序,它們提供了更多的上下文。”他指的是Cursor等解決方案和最近升級的GitHub Copilot。

新的人工智能代理工具

新的人工智能代理將通過引入自檢功能,繼續成為整體改進軟件工程的焦點。例如,GitHub增加了Copilot Autofix,它可以實時檢測漏洞并提供修復建議,并為Copilot工作區添加了構建和修復代理。

Fernandez表示:“我預計人工智能生成的代碼將在明年常態化。”他指出,面向軟件開發人員的人工智能代理正在不斷興起,這些代理將從代碼生成擴展到測試、文檔和代碼審查。

此外,開發人員還應該調查無數可用的工具,找到那些有效的工具,并考慮如何用那些無效的工具填補空白。當然,這一過程將需要個人和組織的投資。

展望未來,許多人預計開源將進一步引領人工智能民主化。GitLab首席產品官大衛?德桑托(David DeSanto)表示:“我預計我們將看到更多的開源模型出現,以解決特定的用例。”

圍繞人工智能使用的治理策略

提高開發人員對人工智能生成代碼的信心也將依賴于為負責任的使用設置護欄。有了適當的護欄來確保負責任和可信的人工智能輸出,企業和開發人員將更容易采用和信任人工智能生成的代碼。

要實現這一目標,領導層必須確立明確的方向,為那些能夠訪問AI生成代碼的人設定明確的界限,并通過更嚴格的流程來建立開發者的信心。

確保模型訓練數據的透明度也有助于緩解道德和知識產權風險。而對于有安全意識的組織來說,本地人工智能可能是避免數據隱私問題的答案。在氣隙系統中運行自托管模型,離線部署允許人工智能在受監管的環境中使用,同時保持數據安全。

在人類和人工智能之間取得平衡

接受本文采訪的所有專家都認為,人工智能將幫助開發人員,而不是徹底取代他們。事實上,大多數人認為保持開發人員的參與是保持代碼質量的必要條件。目前,在使用人工智能生成的代碼時,人類的監督仍然至關重要。

為什么?部分原因是道德方面的挑戰。完全自動化仍然是不可能實現的,因為人類的監督對于解決復雜的架構和確保道德標準至關重要。也就是說,人工智能推理有望得到改善。下一階段是人工智能成為一個合法的工程助手,不僅會寫代碼,還能理解它。

其他人甚至更加樂觀。Contentful的Gabriel表示:“我認為最有價值的人工智能驅動系統將是那些可以完全交給人工智能編碼的系統。”盡管他承認這還并不現實。就目前而言,未來的前景仍然是人工智能和人類并肩合作,開發人員將更多地承擔監督者的角色,而不是親自編寫每一行代碼。

最終目標是在人工智能帶來的生產率提高和避免過度依賴之間取得適當的平衡。如果開發者過于依賴人工智能而缺乏對底層代碼的扎實理解,將極有可能喪失創造力和技術深度,阻礙創新步伐。

瘋狂的旅程

亞馬遜最近聲稱,它的人工智能重寫了一個Java應用程序,節省了2.6億美元。其他機構也面臨著證明類似結果的壓力。Kentosh表示:“目前,大多數公司都在某種類型的人工智能輔助開發服務或Copilot上進行了投資,他們需要看到投資的回報。”

由于許多因素,人工智能的采用將繼續加速。Thacker補充道:“我認識的大多數開發者都在某種程度上使用人工智能。對他們中的許多人來說,人工智能正在編寫他們每天產生的大部分代碼。”

然而,盡管人工智能有效地消除了重復性任務,但它仍然需要人工干預才能完成“最后一英里”。Crowdbotics的Hymel表示:“大多數代碼庫都是樣板和可重復的。我們將看到人工智能被用來為應用程序奠定51%以上的‘基礎’,剩余的將交由人類來完成。”

最后,Wilson提醒稱:“雖然人工智能生成的代碼還不夠好,但如果你忽視它,你就已經落后了。接下來的12個月將是一段瘋狂的旅程。”

原文標題:??Why AI-generated code isn’t good enough (and how it will get better)??,作者:Bill Doerrfeld

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 成人综合一区二区 | 亚洲精品国产电影 | 做a视频在线观看 | 免费成年网站 | 久久精品国产99国产精品亚洲 | 国产一区二区欧美 | 每日更新av | 精品国产乱码久久久久久果冻传媒 | 亚洲精品一区二区三区蜜桃久 | 国产专区免费 | 伊人99 | 欧美久久视频 | 欧美午夜视频 | 97伦理| 日韩精品在线网站 | 中文字幕 在线观看 | 色999日韩 | 国产成人福利在线观看 | 日韩精品视频网 | 久久99精品久久久久久秒播九色 | 日韩久久在线 | 日韩在线播放第一页 | 成人黄色电影在线播放 | 久热中文字幕 | 亚洲成人毛片 | 国产精品美女久久久久久免费 | 2019精品手机国产品在线 | 亚洲网站在线观看 | 国产福利网站 | 国产在线精品一区二区 | 成人av观看| 狠狠草视频 | 亚洲一区黄色 | 91色啪| 久久机热| 亚洲一区二区在线播放 | 欧美 日韩 国产 成人 在线 | 久久久久久网站 | 日韩精品视频中文字幕 | 久久99精品久久久久久国产越南 | 资源首页二三区 |