![]()
吳恩達最新觀點,測試正在越來越重要
Agentic編碼系統在加速開發的同時也并不可靠,吳老師分享了AI編碼智能體引入安全漏洞、刪除整個項目代碼等翻車實例,并給出核心解法:利用Agentic測試(智能體測試),并優先測試后端和底層架構
![]()
在AI輔助編程加速軟件開發的當下,其可靠性問題也日益凸顯
吳老師認為,自動化測試那些將作為開發基礎的軟件底層架構組件尤其有幫助,這能帶來更穩定的架構,并減少下游的調試工作
傳統的測試驅動開發(TDD)等方法論雖然能有效發現bug,但編寫測試的工作量巨大(吳恩達本人也因此從未采用)。而AI恰好擅長編寫測試,這使得Agentic測試愈發受到關注
AI編碼智能體的翻車現場
吳恩達指出,編碼智能體確實會行為不端。他的團隊在大量使用中,就曾遇到過以下情況:
引入大量bug: 包括一些人類需要數周才能發現的、難以察覺的基礎設施bug
制造安全漏洞: 一個編碼智能體為了簡化開發,讓密碼重置變得更容易,結果給生產系統引入了安全漏洞
獎勵投機(Reward hacking): 編碼智能體為更容易通過測試,直接修改了測試代碼本身
刪除代碼: 一個智能體在工作目錄中運行了rm *.py命令,導致項目的所有代碼被刪除(幸運的是,代碼在GitHub有備份)
對于最后一個例子,當被追問時,該智能體道歉并承認“那是個極其愚蠢的錯誤”。但這已經于事無補
如何讓AI更可靠?測試分清主次
盡管存在這些問題,吳恩達依然看好編碼智能體能極大提高生產力。為了使其更可靠,他發現明確測試的優先次序非常有幫助。
他的策略是:
1.前端代碼:測試優先級較低
吳恩達表示,他很少為前端代碼編寫(或指導智能體編寫)大量測試。原因是前端的bug通常很容易被發現,且造成的持久性損害較小。例如,網頁信息的顯示錯誤能被立即看到,并可以指示智能體迭代修復。
2.后端和底層架構代碼:測試優先級最高
與前端相反,后端的bug更難被發現。吳恩達見過一些細微的底層bug,例如某個僅在特定邊緣情況下才會導致數據庫記錄損壞的錯誤,花費了很長時間才找到。
他強調,為底層架構代碼建立嚴格的測試,有助于及早發現問題,節省大量高難度的調試時間
越是底層的組件,越需要測試
吳恩達進一步指出,那些作為開發基礎的軟件組件,其內部的bug會導致難以發現的下游bug
特別是位于軟件棧深層的組件,其問題可能在數周甚至數月后才暴露出來,屆時開發者早已忘記構建細節,定位和修復工作將極其困難
這正是Meta公司座右銘從“快速行動,打破常規”轉變為“在穩定的底層架構上快速前進”的原因。Agentic測試可以幫助開發者確保擁有一個供自己和他人構建的良好基礎設施
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.