2025年,更多AI,更多軟件開發(fā)者面臨的問題
組織準(zhǔn)備好應(yīng)對(duì)AI生成代碼可能帶來的繁瑣工作、漏洞和開發(fā)者倦怠了嗎?
譯自More AI, More Problems for Software Developers in 2025,作者 Jennifer Riggins。
生成式AI創(chuàng)造了比以往任何時(shí)候都更多的代碼。但盡管平臺(tái)工程很流行,但正如Harness的2025年軟件交付現(xiàn)狀所揭示的那樣,一場(chǎng)開發(fā)者危機(jī)正在醞釀之中,該報(bào)告總結(jié)了250位工程領(lǐng)導(dǎo)和250位軟件開發(fā)人員的共同經(jīng)驗(yàn)。
“生成更多代碼很棒,”Harness的首席現(xiàn)場(chǎng)技術(shù)官說,因?yàn)殚_發(fā)人員主要感覺使用AI編碼助手提高了生產(chǎn)力。
“但這會(huì)產(chǎn)生代碼之后發(fā)生的一切——而且后續(xù)工作很多。從安全測(cè)試到單元測(cè)試,到整體治理,發(fā)生的部署數(shù)量,以及引入的依賴項(xiàng)數(shù)量?!?/span>
大多數(shù)接受采訪的開發(fā)人員在至少一半由AI編碼助手輔助的部署中都遇到了問題。報(bào)告發(fā)現(xiàn),67%的開發(fā)人員花費(fèi)更多時(shí)間調(diào)試AI生成的代碼,而68%的開發(fā)人員花費(fèi)更多時(shí)間解決安全漏洞。雖然AI在軟件開發(fā)生命周期的早期加快了代碼編寫速度,但更多的代碼意味著對(duì)代碼審查、安全驗(yàn)證和質(zhì)量保證的需求更大。到目前為止,這一需求遠(yuǎn)未得到滿足。
此外,當(dāng)AI采用率提高時(shí),交付穩(wěn)定性和吞吐量下降。
盡管存在所有這些缺點(diǎn),但在2025年的軟件交付中,AI的采用率仍在繼續(xù)上升。以下是組織可以采取的措施,以防止AI生成的代碼變成完全令人厭煩的災(zāi)難。
報(bào)告發(fā)現(xiàn),開發(fā)人員花費(fèi)在調(diào)試上的時(shí)間比以往任何時(shí)候都多。這并不一定意味著AI生成的代碼天生就更容易出錯(cuò)。
然而,使用AI生成代碼可能會(huì)讓用戶——尤其是初級(jí)開發(fā)人員——無法了解代碼編寫的上下文以及代碼的編寫對(duì)象,從而難以找出問題所在。
“對(duì)于初級(jí)開發(fā)人員來說,風(fēng)險(xiǎn)通常更高。高級(jí)開發(fā)人員往往對(duì)生成的代碼有更好的了解和更快的理解,”觀察到。“初級(jí)開發(fā)人員承受著完成工作的巨大壓力。他們想快速行動(dòng),并不一定具備對(duì)代碼更改的上下文感知能力?!?/span>
如果沒有貫穿整個(gè)軟件開發(fā)生命周期的質(zhì)量和治理控制——例如安全掃描和依賴項(xiàng)檢查,以及單元、系統(tǒng)和集成測(cè)試——他警告說,錯(cuò)誤的東西經(jīng)常會(huì)被合并。
“許多組織在沒有GenAI軟件的情況下就為此苦苦掙扎,然后,當(dāng)你生成更多代碼時(shí),它只會(huì)加劇這個(gè)問題,”說。
有趣的是,GenAI在解釋代碼方面非常有用,尤其對(duì)初級(jí)開發(fā)人員而言。
“為什么不把它作為流程的一部分,即當(dāng)生成AI代碼時(shí),它也會(huì)生成關(guān)于該代碼如何工作的文檔呢?”他建議道。
事實(shí)上,生成式AI非常擅長(zhǎng)解釋復(fù)雜的概念。事實(shí)上,2024年DORA報(bào)告發(fā)現(xiàn),生成式AI最大的優(yōu)勢(shì)是文檔質(zhì)量的顯著提高。文檔有助于減少認(rèn)知負(fù)荷。在文檔上疊加聊天機(jī)器人或?qū)⑵浼傻酱a庫(kù)中——就像Github的Copilot一樣——進(jìn)一步減少了上下文切換。
雖然更多AI生成的代碼增加了對(duì)代碼審查的需求,但最新的DORA報(bào)告還發(fā)現(xiàn),AI采用率提高25%使代碼審查速度提高了3.5%。這可能是通過簡(jiǎn)單的更多提示,或者通過利用AI來第一次識(shí)別合適的審查人員或更均勻地分配代碼審查工作量來實(shí)現(xiàn)的。
但是文檔和代碼審查只是復(fù)雜軟件開發(fā)生命周期的一小部分,Harness的報(bào)告發(fā)現(xiàn),開發(fā)人員仍然至少花費(fèi)30%的時(shí)間在手動(dòng)、重復(fù)性任務(wù)上。這種繁瑣的工作代價(jià)高昂。 隨著AI生成代碼的增多,開發(fā)人員的負(fù)擔(dān)也隨之增加。根據(jù)Harness的報(bào)告,88%的開發(fā)者每周工作時(shí)間超過預(yù)期的40小時(shí),其中一半受訪者承認(rèn)這種加班導(dǎo)致工作與生活平衡不健康。
組織需要考慮AI不僅對(duì)軟件開發(fā)生命周期,而且對(duì)軟件開發(fā)人員的生命周期產(chǎn)生的影響。
組織準(zhǔn)備好應(yīng)對(duì)影子AI了嗎?
影子IT讓開發(fā)人員試圖通過采用——通常甚至付費(fèi)——未經(jīng)雇主正式批準(zhǔn)的工具來解決問題。報(bào)告發(fā)現(xiàn),影子AI的延伸是52%的開發(fā)人員使用未經(jīng)IT部門提供或明確批準(zhǔn)的AI工具。
開發(fā)人員的行為并非不守規(guī)矩。現(xiàn)實(shí)情況是,在生成式AI廣泛應(yīng)用三年后,大多數(shù)組織仍然沒有生成式AI策略。
調(diào)查受訪者發(fā)現(xiàn)AI生成代碼審查中存在嚴(yán)重差距:
- 60%的人表示他們不評(píng)估AI編碼工具的有效性。
- 60%的人表示他們沒有評(píng)估代碼漏洞或錯(cuò)誤的流程。
- 58%的受訪組織沒有概述AI安全使用的具體用例。
- 43%的組織沒有規(guī)定可以或不可以輸入AI工具的代碼。
- 42%的組織沒有首選或拒絕工具的列表。
由于工程本身就是一門科學(xué),你無法改進(jìn)你沒有衡量的東西。雖然83%的開發(fā)者回應(yīng)他們認(rèn)為自從引入AI工具以來軟件開發(fā)效率有所提高,但這些感知到的開發(fā)者生產(chǎn)力提升仍未得到證實(shí)。
更令人擔(dān)憂的是,在AI生成代碼激增之前,組織并沒有到位所有的控制和自動(dòng)化測(cè)試。在受監(jiān)管的環(huán)境中,這種擔(dān)憂會(huì)加劇,因?yàn)檎_\(yùn)行時(shí)間會(huì)直接影響人們的生命。
“這又回到了制定策略[和]進(jìn)行安全掃描,確保他們不會(huì)因?yàn)橐蕾囮P(guān)系而將有風(fēng)險(xiǎn)的漏洞引入他們的軟件,這也在檢查代碼的安全質(zhì)量,”Reynolds說?!肮ぞ呤谴嬖诘?。確保它們始終針對(duì)你的代碼運(yùn)行絕對(duì)是關(guān)鍵?!?/span>
組織還必須考慮公共AI工具可能接受個(gè)人身份信息、專有代碼、商業(yè)秘密等訓(xùn)練的風(fēng)險(xiǎn),并創(chuàng)建和編纂生成式AI策略,以應(yīng)對(duì)自動(dòng)回滾。
這些策略也必須經(jīng)常更新,但要提前通知,在應(yīng)用這些策略時(shí)提醒開發(fā)人員——理想情況下,還要說明原因。版本控制也很重要。
隨著生成式AI工具采用和應(yīng)用的增加,對(duì)生成式AI策略的需求將變得更加迫切。在2025年,工程領(lǐng)導(dǎo)者計(jì)劃在以下領(lǐng)域?qū)嵤〢I:
- 持續(xù)集成和交付 (CI/CD) – 50%。
- 性能優(yōu)化 – 48%。
- 安全和合規(guī) – 42%。
- 代碼成本優(yōu)化 – 40%。
- 代碼生成(目前使用最多)– 39%。
- QA/測(cè)試 – 28%。
- 錯(cuò)誤修復(fù) – 26%。
Harness旨在制定治理策略——使用開放策略代理對(duì)其進(jìn)行編纂——因此不會(huì)有任何例外。
生成式AI會(huì)讓你失業(yè)嗎?
最近流行的標(biāo)題似乎確信生成式AI已準(zhǔn)備好取代初級(jí)開發(fā)人員和QA的工作。而Harness的90%的調(diào)查受訪者也表達(dá)了這種擔(dān)憂。
首先,這個(gè)結(jié)果令人擔(dān)憂,因?yàn)楣こ填I(lǐng)導(dǎo)者占受訪者的半數(shù),這意味著大多數(shù)人可能對(duì)生成式AI有不良企圖。除此之外,對(duì)生成式AI的支出預(yù)計(jì)將增加在2025年再增長(zhǎng)10%。
但是,如此依賴AI生成的代碼——尤其是在沒有到位檢查的情況下——是輕率的。
“說‘減少對(duì)初級(jí)開發(fā)人員的需求’或‘我不需要初級(jí)開發(fā)人員,因?yàn)槲矣蠥I’——你未來的所有高級(jí)開發(fā)人員從哪里來?”Reynolds問道,稱這是一種短視的解決方案?!拔視?huì)依賴其他公司來培養(yǎng)初級(jí)開發(fā)人員嗎?”
AI取代QA似乎尤其不現(xiàn)實(shí)。目前,AI生成的代碼需要人工參與,尤其是在沒有策略檢查的企業(yè)中。 “我認(rèn)為生成式AI可以減輕QA的負(fù)擔(dān),”他說道,并提到了Harness如何進(jìn)行自動(dòng)測(cè)試生成?!暗@并不能消除人工確保他們?cè)谡_領(lǐng)域使用正確測(cè)試、將軟件指向系統(tǒng)正確部分的需求。”
隨著AI工具越來越融入日常開發(fā)者的體驗(yàn),Harness報(bào)告預(yù)測(cè)開發(fā)者的角色將繼續(xù)發(fā)展——并且可能會(huì)擴(kuò)展到更多方面。報(bào)告指出,與其說是取代,不如說角色的職權(quán)范圍必須繼續(xù)擴(kuò)展,包括AI提示工程、輸出驗(yàn)證和能力集成等,組織也必須幫助員工提升這些方面的技能。所有這些都必須有明確的界限和培訓(xùn)。
正如Reynolds所說,AI生成代碼的成功未來關(guān)乎在護(hù)欄內(nèi)的創(chuàng)新。