過去我們對 AI 在開發流程中的角色,大多停留在 Copilot 這種協助寫程式碼,或是自動化檢查語法錯誤的工具。但從 Uber、DoorDash 與 Cloudflare 等大廠的實務經驗來看,AI 的應用重心正在發生轉移,它不再僅僅是寫程式的助手,而是開始向軟體開發生命週期(SDLC)的上游移動,進入到產品需求文件(PRD)的治理與系統設計的驗證階段。
對於初入職場的工程師來說,最痛苦的經驗通常不是寫程式碼,而是開發到一半才發現需求定義模糊,或者 PRD(Product Requirement Document,產品需求文件)中存在邏輯矛盾,導致必須大規模重構。這種現象在工程上稱為需求漂移或定義缺失。而現在的趨勢是將 AI 作為第一道過濾層,在需求還沒交到工程師手上之前,就先進行治理。
以 Uber 的做法為例,他們引入了 PRD 第一輪審查機制。這不是讓 AI 幫產品經理(PM)寫文件,而是讓 AI 扮演審核者的角色。AI 會檢查需求的清晰度、完整性,以及潛在的執行風險。更重要的是,AI 能利用公司內部的知識庫,提醒 PM 某些需求可能與其他團隊的既有專案衝突,或是有被遺忘的相依性(Dependencies)。這種將驗證前移(Shift-left)的作法,能確保工程團隊拿到的需求是經過初步精煉的,減少後續因溝通不良產生的浪費。
而在進入實作後的 Code Review(程式碼審查)階段,AI 的演進方向則是從量化轉向質化。DoorDash 的經驗顯示,如果 AI 只是噴出大量泛泛而談的建議,會變成開發者的噪音(Noise),導致工程師直接無視。因此,他們專注於提供具有上下文感知(Context-aware)且可執行的具體建議。這意味著 AI 必須理解這段程式碼在整個系統中的位置,而不是單純檢查格式。
Cloudflare 則將此概念推向更深層的 Agentic 模式,採用多代理人(Multi-agent)架構。他們不依賴一個全能的 AI,而是將任務拆分給多個專門的 AI Agent。例如,一個 Agent 專攻安全性分析,另一個負責效能評估,第三個則檢查邏輯正確性。這種設計遵循了分散式系統的關注點分離(Separation of Concerns)原則,讓每個 Agent 在狹窄的定義域內達到最高精準度,最後再由協調層彙整結果。
從這些實務案例中,我們可以總結出 AI 治理的三個核心邏輯。首先是降低噪音,定義什麼不需要提醒,比定義要偵測什麼更重要。其次是保留人類的最終裁決權,AI 提供的是第一輪的初步篩選(First-pass evaluation),而最終的決定權依然在工程師手中。最後是連續驗證,從 PRD 到設計文件,再到程式碼,AI 形成了一套連續的檢查點。
總結來說,AI 在軟體開發中的角色正在從 產出者 轉變為 治理者。對於工程師而言,這意味著我們將花更少的時間在處理低級的邏輯漏洞或模糊的需求,而能將精力集中在更複雜的系統架構設計與核心問題解決上。
來源:infoq.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。