隨著人工智能時代的全面爆發(fā),軟件工程的底層邏輯正在經(jīng)歷一場史無前例的重構,“意圖編程(Vibe Coding)”等新興模式嘗試改變傳統(tǒng)人機交互方式,將人類的自然語言意圖直接轉化為可執(zhí)行的代碼。然而,在面對專業(yè)垂直領域和高復雜大規(guī)模遺留系統(tǒng)時,Vibe Coding模式正面臨嚴峻挑戰(zhàn)。大語言模型(LLM)的底層概率算法,決定了其生成過程天然伴隨著“幻覺”與難以捉摸的非確定性。這種非確定性不僅難以保障短期的代碼交付質量,更無法在長期的系統(tǒng)演進中持續(xù)降低代碼熵值并提升可維護性。
面對這一技術鴻溝,業(yè)界不得不重新審視一個核心議題:傳統(tǒng)軟件工程歷經(jīng)數(shù)十年沉淀的優(yōu)秀經(jīng)驗,究竟該如何有效傳承到 AI 驅動的全新范式中?
在 AI Coding模式下,AI軟件工程核心需要解決兩大關鍵難題:
1. 創(chuàng)造性中的確定性:在引入大語言模型(LLM)強大的自動生成能力時,必須通過工程化手段有效遏制 AI 固有的隨機性與幻覺,確保系統(tǒng)輸出的業(yè)務邏輯、代碼與工程資產(chǎn)始終符合業(yè)務預期,滿足企業(yè)級系統(tǒng)對穩(wěn)定性和可靠性的嚴苛要求。
2. 過程中的可驗證性:在 AI 深度參與的研發(fā)全生命周期中,打破“黑盒”效應,建立透明、可追溯且嚴格對齊安全與質量標準的自動化校驗機制,確保所有智能化產(chǎn)出不僅“生成即可用”,更能經(jīng)受住嚴格的工程審計與一致性檢驗。
這兩者的結合,是保障 AI 能夠從“探索性輔助工具”真正走向“企業(yè)級高質可信AI原生”的必由之路。
AI 時代軟件工程的核心命題,已從早期的“如何用機器替代人類勞動”,轉變?yōu)?ldquo;如何在由 AI 主導的高能創(chuàng)造性活動中,構建“確定性錨點”。這些“確定性錨點”的本質是將工業(yè)界成熟的工程方法、規(guī)范體系、架構原則與測試標準,深度融入Agent的生成與大模型的推理過程中,以此來對沖AI生成的隨機性,重塑工程的嚴謹性,我們才能在盡情擁抱 AI 創(chuàng)新生產(chǎn)力的同時,守住大型軟件系統(tǒng)高質量、可持續(xù)演進的底線。
![]()
在這一全新范式下,“確定性錨點”具象化為高質量系統(tǒng)演進中的四大核心能力支柱:
![]()
為約束大模型的發(fā)散性和人在表達需求/意圖時的模糊性,精準的提示詞和基于軟件工程方法/框架的上下文設計是當前最有效的解決措施,包含結構化需求描述方法、架構設計方法與約束、前置條件與驗收標準等一系列工程方法,將意圖轉化為工程契約。通過結構化模板,結合實例化需求、F-F 方法、面向對象分析(OOA)與場景用例分析,將業(yè)務特性逐層拆解;全面引入屬性驅動設計(ADD)、領域驅動設計(DDD)等架構設計方法,制定通用架構設計十大原則、組件化改造原則、微服務拆分原則等架構設計指導原則,強制 AI 在輸出代碼前優(yōu)先完成核心設計目標、關鍵質量屬性、組件交互與關鍵接口(API)等定義。同時,結合SOP(標準作業(yè)程序)提供細粒度執(zhí)行步驟,從源頭鎖定異常分支與邊界條件,確保生成的架構設計與業(yè)務邏輯符合工程預期。
針對復雜遺留系統(tǒng),研發(fā)體系引入 SubAgent、Skill 與 MCP(模型上下文協(xié)議)機制實現(xiàn)多智能體協(xié)同。在此架構中,工程經(jīng)驗被系統(tǒng)性地轉化為三大擴展支柱:傳統(tǒng)研發(fā)角色、職責與技能被實例化為對應的 SubAgent;SOP(標準作業(yè)程序)、標準規(guī)范與模板被封裝為領域 Skill(原子能力);企業(yè)私有代碼庫、歷史業(yè)務數(shù)據(jù)與架構模型等則通過 MCP 或 RAG 接入智能體,增強生成的準確性。“架構師 SubAgent”通過 MCP 獲取遺留代碼上下文,并調用內化了微服務拆分原則的專屬 Skill 輸出系統(tǒng)架構;“Committer SubAgent”在執(zhí)行代碼合入決策時,依據(jù)內置的檢視規(guī)則調用“可信安全防御 Skill”對代碼進行掃描,識別并攔截內存泄漏與越權訪問等安全風險。該機制通過將實體工程資產(chǎn)與智能體擴展技術強綁定,實現(xiàn)了復雜系統(tǒng)演進的標準化與可控性。
為解決通用大模型領域知識匱乏的問題,系統(tǒng)將需求樹、場景庫、架構模型、軟件框架、代碼檢視記錄與開發(fā)者測試(DT)用例全面向量化,構建了底層領域知識圖譜(注:隨著Agent和LLM能力提升,可能不再需要這樣做或者不需要做這么多)。該圖譜跨越了靜態(tài)數(shù)據(jù)倉庫的局限,實質性地確立了“需求-設計-代碼-用例-缺陷”的端到端雙向可追溯語義網(wǎng)絡:在面臨前端業(yè)務需求變更時,智能體能夠依托該網(wǎng)絡啟動嚴格的正向追溯,將抽象的業(yè)務變動精準映射至系統(tǒng)內部,自動鎖定并評估所有相關聯(lián)的架構模塊、底層代碼片段以及需同步更新的回歸測試用例,從而規(guī)避人工漏改引發(fā)的次生風險;反之,在處理復雜的生產(chǎn)缺陷時,系統(tǒng)支持從孤立的異常代碼段或報錯日志切入并發(fā)起逆向關聯(lián)分析,理解最初的業(yè)務設計模型與原始需求意圖,使缺陷治理不再局限于局部的代碼修補,而是在全局架構視角下實施根除。這種基于知識圖譜的雙向追溯機制,保障了復雜系統(tǒng)在智能化演進過程中的全局邏輯一致性。
為保障交付質量,AI 生成的各類研發(fā)產(chǎn)物被嚴格納入層層遞進的流水線門禁控制體系。在需求分析與架構設計階段,AI 產(chǎn)出依次通過需求評審與軟件設計評審,以確保業(yè)務意圖與系統(tǒng)架構的邏輯自洽;在代碼生成與提交流水線階段,AI 產(chǎn)出需滿足代碼CleanCode與可信驗收條件,通過 Committer 檢視,方可獲準合入代碼主干;在隨后的系統(tǒng)驗證階段,代碼需經(jīng)過分層自動化測試,并結合精準測試技術,確保核心變更影響面被完整覆蓋驗證;最終驗證的代碼通過灰度發(fā)布機制平穩(wěn)部署至生產(chǎn)環(huán)境。這種將工程紀律實例化為階段性強制評審與自動化卡點的驗證體系,確保了AI交付產(chǎn)物的可靠性。
上述工程能力并非停留在理論層面,而是落地為一系列具體、可操作的研發(fā)工具與平臺。這些工具化的工程能力顯著降低了應用門檻:開發(fā)者無需精通每一項工程細節(jié),只需遵循工具引導即可自動獲得符合規(guī)范的產(chǎn)出;團隊協(xié)作時,工具確保了方法執(zhí)行的一致性,避免了因人而異的偏差;更重要的是,工具承載的工程紀律為AI生成內容的可控性提供了保障。華為智能體正是基于這一理念,將上下文契約、智能體擴展、知識圖譜與全鏈路監(jiān)督工程內建為基礎能力,真正提升創(chuàng)造性活動中的確定性。
將傳統(tǒng)軟件工程經(jīng)驗有效轉化為AI時代的實際生產(chǎn)力,關鍵是要打破“先生成、后校驗”的黑盒模式,將確定性管控措施融入于智能體代碼生成的全過程。通過將“可信軟件工程(Trustworthy Software Engineering)”的過程管控實踐深度融入現(xiàn)有研發(fā)作業(yè)流中,從機制上實現(xiàn)對AI代碼生成過程的實時監(jiān)測與動態(tài)糾偏。
華為可信軟件工程始終瞄準確定性高質量目標、始終圍繞著開發(fā)活動工作流展開,通過不斷優(yōu)化工程活動、持續(xù)減少偶發(fā)性因素、增加確定性結果、構建起可驗證的高質量高效的軟件工程能力。
軟件開發(fā)作業(yè)流:整體可分為軟件設計、軟件開發(fā)與自驗、代碼提交與Review、代碼審核與合入、自動化流水線、測試執(zhí)行、缺陷管理、測試評估、版本發(fā)布等幾個大階段,通過設置審核檢查點控制和管理交付質量:
![]()
華為公司業(yè)務領域廣泛,覆蓋ICT、終端、云、能源等眾多業(yè)務場景,產(chǎn)品形態(tài)豐富,擁有嵌入式、云服務、終端業(yè)務等。19年全面開始可信軟件工程能力變革,圍繞可信高質量的目標,對軟件開發(fā)能力實施了多輪錘煉和打磨,沉淀了海量的可信軟件活動資產(chǎn),涵蓋數(shù)以千計的 場景流程、評審要求、標準規(guī)范、檢查規(guī)則、約束、經(jīng)驗與知識庫等。這些資產(chǎn)沉淀,在整個端到端變革實踐落地的過程中發(fā)揮了重要作用,無論是架構設計合規(guī)性和完備性檢查、還是軟件架構設計與實現(xiàn)一致性看護,無論是自研軟件Clean Code掃描、還是開源軟件漏洞掃描,都是基于這些規(guī)范、標準、checklist等可信活動資產(chǎn)構筑起的質量防護網(wǎng)。這些可信資產(chǎn)依然可以融入到 AI 軟件工程各環(huán)節(jié),筑起AI軟件工程的質量堤壩。
詳盡的過程信息管理不僅保障了開發(fā)過程的端到端可追溯,更為構建持續(xù)驗證的質量門禁提供了事實依據(jù)。在AI軟件工程中,這種詳盡的數(shù)據(jù)支撐了質量管理從“被動追溯修復”向“持續(xù)驗證、主動預防”的能力轉變。
1. 開發(fā)信息的全鏈路驗證與雙向追溯:開發(fā)信息追溯是質量管理的基礎,通過統(tǒng)一的軟件工程、端到端打通的信息流,自動化的信息記錄跟蹤,實現(xiàn)開發(fā)過程的可追溯性和可審計性。在AI軟件工程中,智能體可基于這些詳實的數(shù)據(jù),自動執(zhí)行需求的可測試性分析與過程的合規(guī)性驗證,確保每一個開發(fā)環(huán)節(jié)的產(chǎn)出都具備清晰的質量證據(jù),為后續(xù)問題定界或系統(tǒng)自愈提供閉環(huán)的驗證基準。
2. 代碼變更的持續(xù)驗證與智能審核:代碼修改及審核信息,為評估代碼質量及開發(fā)人員工作效率提供了最直接的參考和輸入。在AI軟件工程中,依托歷史變更、審核意見與編碼經(jīng)驗庫,智能體能自動評估代碼質量、識別潛在邏輯漏洞,還能自動生成針對本次變更的驗證測試用例,確保合入主干的代碼始終處于高維度的可用狀態(tài)。
3. 異常信息的閉環(huán)驗證與主動防御:異常信息包括編譯異常、構建異常、掃描異常、測試異常、運行異常等多種類型,各類異常信息處理方法,是開發(fā)人員進行后續(xù)修復及預防性編碼重要的知識庫。在AI軟件工程中,異常不再僅僅是被動記錄的日志,而是觸發(fā)自動驗證的“探針”。智能體可以對異常信息進行自動捕獲、聚類與根因驗證,不僅能智能推演最優(yōu)修復方案,還能自動生成針對該類異常的自動化回歸用例,而且這種機制確保了每一個被修復的異常都能防止同類問題不再發(fā)生。
4. 代碼缺陷的深度驗證與預防性度量:代碼缺陷情況包括缺陷詳細記錄、缺陷分布、缺陷趨勢、缺陷分析等內容,為質量預測預防提供了可靠的歷史經(jīng)驗數(shù)據(jù)。在AI軟件工程中,通過對缺陷生命周期的深度挖掘,AI可以自動識別系統(tǒng)中的高頻缺陷模塊,基于歷史缺陷模式,AI不僅能完成缺陷的自動修復與驗證確認,還能建立質量預測模型,主動輸出系統(tǒng)級質量加固方案和預防性測試策略,實現(xiàn)質量管理從“已知缺陷修復”到“未知風險防御”的跨越。
在 AI 編程席卷全球的今天,代碼生成的“量”已不再是瓶頸。真正的挑戰(zhàn)在于:如何確保 AI 生成的代碼能夠達到工業(yè)級的高質量標準?華為將數(shù)十載沉淀的 Clean Code 經(jīng)驗融入 AI 軟件工程,構建了一套涵蓋質量度量、代碼評審、持續(xù)重構與改進的全閉環(huán)治理體系。這一體系確保了 AI 生成的每一行代碼,都符合華為的嚴苛質量要求。
秉持“沒有度量就沒有管理”的理念,華為構建了統(tǒng)一的 Clean Code 度量模型,包含可讀、可維護、安全、可靠、可測試、高效、可移植七大核心維度,設計了可自動檢查的度量指標,例如函數(shù)長度、圈復雜度、代碼重復率及編譯告警清零等。這些指標如同 AI 軟件工程的“導航儀”:在 AI 生成代碼被提交后,后臺引擎會進行全方位掃描,一旦代碼偏離標準,系統(tǒng)將實施即時攔截并要求開發(fā)者修正,從源頭守住工業(yè)級代碼的規(guī)則底線。
除了自動化度量,還設立了嚴苛的 Committer(代碼合入決策者) 機制作為代碼入庫的最終關卡。在代碼提交入庫前,還會同時被人和“數(shù)字同行”審視。Committer角色由正式選拔任命的軟件技術能力強、實戰(zhàn)經(jīng)驗豐富的軟件專家擔任,負責決策每一次提交的代碼能否入庫, AI 生成的代碼也須經(jīng)過審核方能入庫。這種“人機協(xié)同”的雙重校驗模式實現(xiàn)了:
1. 深度把關: Committer 不僅審查邏輯正確性,更要關注設計美感與架構合理性。
2. 進化反饋: 專家多年來累積的評審意見會形成閉環(huán)反饋流,沉淀為經(jīng)驗庫,驅動 AI 不斷學習并優(yōu)化其生成偏好。
3. 智力賦能: 華為將海量 CWE(常見弱點枚舉)規(guī)則、疑難雜癥修復指南及專家實戰(zhàn)經(jīng)驗形成豐富的知識庫,深度注入和賦能給 AI,高效識別風險。
華為將從實戰(zhàn)中來的數(shù)以萬計的大規(guī)模軟件重構經(jīng)驗形成海量的經(jīng)驗庫,在AI軟件工程模式下,開發(fā)者能利用這些軟件重構經(jīng)驗精準剖析存量代碼中的“壞味道”,解耦臃腫函數(shù)、化解復雜嵌套邏輯、消除不合理的循環(huán)依賴等,消除技術債務。
華為編程規(guī)范覆蓋Java、C/C++、Python、JS、go 等主流語言,經(jīng)過 20+ 萬研發(fā)人員,歷經(jīng)20+年、千億行級代碼以及云服務、手機、嵌入式、車等多種業(yè)務場景下的持續(xù)迭代優(yōu)化,得到歐洲最嚴苛客戶的市場認可,是華為軟件開發(fā)的核心競爭力資產(chǎn)。以 Java 語言編程規(guī)范為例,不僅包含了上百項基礎編碼與工程準則,還對并發(fā)編程、泛型設計與序列化機制等高階核心技術提出嚴格約束,構建了覆蓋編碼全生命周期的約束與最佳實踐,為企業(yè)級高并發(fā)、高可用場景筑牢了高可讀、高可維護與極致安全的代碼基準規(guī)約。
同時,華為編程規(guī)范在團隊長期落地實踐中,通過持續(xù)發(fā)現(xiàn)問題、解決問題,沉淀出覆蓋多業(yè)務場景的編碼軍規(guī)、缺陷庫、缺陷修復經(jīng)驗案例庫、優(yōu)秀代碼案例集等,這些海量的經(jīng)驗沉淀,構筑起華為高質量代碼的堤壩。
面對高可靠性、高可維護性和高可讀性等代碼質量要求,華為將編程規(guī)范資產(chǎn)(編碼軍規(guī)、缺陷庫、缺陷修復經(jīng)驗案例庫和優(yōu)秀代碼案例集等)深度融入AI軟件工程全流程。這不僅是為AI提供上下文,更是為全流程建立了客觀的、可度量的驗證基準。通過構建覆蓋AI代碼自動生成、自動化驗證門禁與智能修復的閉環(huán)能力,確保每一行代碼不僅“生成即合規(guī)”,且“全程可驗證”,最終交付滿足華為可信標準的確定性高質量代碼。
1. 提高代碼生成質量:在AI代碼生成環(huán)節(jié)前,將全量編程規(guī)范要求結構化注入上下文工程中,把編碼軍規(guī)和優(yōu)秀代碼案例總結為AI生成代碼的前置約束,這使得AI不僅“按規(guī)寫代碼”,更能在生成業(yè)務代碼的同時,同步輸出配套的自測用例或驗證邏輯,從而提升生成代碼的初始質量。
2. 代碼規(guī)范自動檢查:常駐于智能體協(xié)同體系中的“代碼檢查智能體(Code Check Subagent)”,會結合檢索增強生成(RAG)技術,對AI生成的代碼自動執(zhí)行上百條編碼原則、規(guī)范及最佳實踐的全方位校驗,精準挖掘代碼中隱藏的潛在缺陷。
3. 代碼缺陷智能修復:針對驗證門禁中發(fā)現(xiàn)的代碼問題,代碼檢查智能體實時檢索缺陷庫和修復經(jīng)驗庫,精準匹配特征并完成智能修復。通過自動觸發(fā)回歸驗證測試,驗證問題代碼是否被真正修復,并確保未引入新的問題,從而生成真正經(jīng)得起檢驗的可信高質量代碼。
隨著 AI 大幅降低代碼生成的門檻,規(guī)?;拇a生成也同時帶來了安全風險的規(guī)模化放大。為構筑軟件的安全底座,華為制定了安全領域兩大核心規(guī)范:架構級的“安全功能規(guī)范”側重于網(wǎng)絡安全、系統(tǒng)韌性與隱私保護;代碼級的“安全編碼規(guī)范”側重于防范常見的安全漏洞。
將這兩大規(guī)范通過“內建安全(Security by Design)”植入AI 生成全生命周期中,實現(xiàn)隨時可度量、可驗證。
面對復雜的網(wǎng)絡韌性、數(shù)據(jù)加密標準及隱私保護等高階安全功能要求,驗證工作必須在 AI 介入架構設計與業(yè)務建模之前展開。為了彌補大模型在宏觀安全設計上的盲區(qū),研發(fā)團隊在需求與設計階段,率先通過 BDD(行為驅動開發(fā))語法明確界定系統(tǒng)的“濫用用例(Abuse Cases)”、威脅模型及隱私合規(guī)紅線。這些前置契約被設計注入上下文工程中,將宏觀的安全功能意圖轉化為前置的架構約束與驗證基線。與此同時,在智能體協(xié)同網(wǎng)絡中常駐的獨立“安全架構智能體(Security Subagent)”會結合檢索增強生成(RAG),實時調用華為歷年沉淀的安全功能規(guī)范文檔與隱私保護紅線法則。當主智能體進行服務拆分方案設計時,必須先經(jīng)過安全架構智能體的審查與 BDD 契約驗證,一旦系統(tǒng)捕捉到違背數(shù)據(jù)脫敏原則或最小權限原則的場景,將在生成階段自動終止,從源頭確保業(yè)務架構的原生安全性。
針對代碼實現(xiàn)過程中產(chǎn)生的注入攻擊、內存泄漏等常見漏洞,以及引入第三方開源依賴帶來的不可控風險,必須在代碼生成過程中實施自動化檢測。在編碼階段,AI 交付的每一行代碼都要經(jīng)過Agent內置的安全規(guī)范用例測試和安全編碼規(guī)范掃描,Agent還內置開源軟件合規(guī)與漏洞掃描(SCA),對引入的開源組件進行實時的 License 傳染性等合規(guī)驗證和漏洞檢測。同時,基于歷史真實攻防演練形成的 CVE/Issue 漏洞庫與 AI 生成的抽象語法樹(AST)進行特征動態(tài)對比驗證,進一步提升了最終生成代碼的質量。
在華為智能化研發(fā)布局中,碼道早已超越了傳統(tǒng)“代碼助手”的狹義范疇,它更像是一個由萬億級參數(shù)淬煉而成的“智慧中樞”,深植于 CodeArts 軟件開發(fā)生產(chǎn)線之中,這是建立在源自 MCP(Model Context Protocol) 這一通信協(xié)議之上的AI與研發(fā)作業(yè)工具平臺的深度融合,重構了華為AI軟件開發(fā)新范式,開啟了編碼自動駕駛模式。
為打造這種沉浸式的開發(fā)體驗,華為設計了后端工程師在“碼道”下的典型工作場景。通過智能化的流程協(xié)作,開發(fā)者得以從繁瑣的工具操作中解脫,將核心精力從基礎編碼轉向更高價值的架構設計與邏輯構建。
![]()
![]()
“碼道”與 CodeArts 的結合并非簡單的 1+1,而是一場研發(fā)生產(chǎn)力的革命,它標志著軟件工程向“AI 原生”范式的演進。對企業(yè)而言,這意味著華為三十余年積累的研發(fā)流程、安全基線與工程實踐,已從靜態(tài)的文檔資產(chǎn)轉化為可交互、實時調用的智能化服務;對開發(fā)者而言,這種深度融合極大提升了單兵作戰(zhàn)的交付效率與質量,實現(xiàn)了生產(chǎn)力的實質性飛躍。
面對 AI Coding 固有的不確定性挑戰(zhàn),華為依托深厚的軟件工程實踐積淀,成功構建了一套解決企業(yè)級研發(fā)確定性問題的標準化體系。通過將海量可信資產(chǎn)與嚴苛的代碼規(guī)范深度融入大模型底座,我們不僅為代碼與架構的創(chuàng)新中注入了嚴謹?shù)拇_定性,更借助全量合規(guī)自檢與一致性核查機制,確保了研發(fā)全生命周期過程中的絕對可驗證性。這種以系統(tǒng)化工程手段化解 AI 隨機性的閉環(huán)實踐,徹底打破了代碼生成的黑盒效應,真正讓 AI Coding 從探索性的輔助助手,蛻變?yōu)槠髽I(yè)實現(xiàn)高質高效交付與全面智能化演進的堅實利器。
上述是基于當前大模型與Agent能力的華為軟件工程應用實踐,隨著AI能力與技術持續(xù)演進與快速迭代,這些實踐也將會被重構,而AI軟件工程要解決的確定性高質量這一本質問題仍將長期存在,我們也將持續(xù)探索 AI 與軟件工程深度融合的路徑與方法。(文 | 王紅超)
快報
根據(jù)《網(wǎng)絡安全法》實名制要求,請綁定手機號后發(fā)表評論