Datadog 使用 Codex 進行系統層級的程式碼審查
透過 Codex,Datadog 將全系統的上下文引入每次程式碼審查,以預防事件並維護客戶信任。
Datadog(在新視窗中開啟) 營運全球最廣泛使用的可觀測性平台之一,協助企業監控、排解疑難,並保護複雜的分布式系統。當出現問題時,客戶依賴 Datadog 快速揭示問題,這意味著可靠性必須在程式碼進入生產環境之前就已經構建好。
對於 Datadog 的工程團隊來說,這意味著程式碼審查成為一個重要的時刻。這不僅僅是關於找出錯誤,而是關於理解變更如何在互聯的系統中產生連鎖反應 — 而傳統靜態分析和基於規則的工具在這一領域常常力有不逮。
為應對這項挑戰,Datadog 的 AI Development Experience (AI DevX) 團隊轉而採用 OpenAI 的編碼智能代理 Codex,將系統層級的推理引入程式碼審查,揭示人類難以在大規模情境下輕易察覺的風險。
「節省時間是切實且重要的,」Datadog AI DevX 團隊的領導 Brad Carter 說。「但就我們這樣的規模而言,預防事件更具說服力。」
在 Datadog,有效的程式碼審查傳統上嚴重倚賴資深工程師 — 這些人深刻理解程式碼庫、其歷史及架構取捨,因而能夠識別系統性風險。
但這種深層次的脈絡難以進行規模化審查,而早期的 AI 程式碼審查工具未能解決這個問題;許多工具的表現更像進階的 linters (代碼檢查工具),只會標記表面問題,卻忽略更廣泛的系統細微差異。Datadog 的工程師經常覺得這些建議過於膚淺或嘈雜,因此忽略它們。
Datadog 開始試行 OpenAI 的編碼智能代理 Codex,將其整合到即時開發工作流程中。在該公司其中一個最大且使用最頻繁的程式碼庫中,每個拉取請求均由 Codex 自動審查。工程師對 Codex 的評論以點贊或點踩作出反應,並在各團隊之間分享非正式的回饋。很多人指出,Codex 的反饋值得一讀,不像以往的工具只會給出嘈雜或膚淺的建議。
為了測試 AI 建議是否能做的不僅是指出風格問題,Datadog 構建了一個事件回放工具。
團隊沒有使用假設情境,而是回到歷史事件。他們重構了曾導致事件的拉取請求,對每一個請求均運行 Codex,猶如 Codex 是原始審查的一部分,然後詢問負責那些事件的工程師,Codex 的回饋是否會產生差異。
結果:在 Datadog 所檢視的事件中,Codex 發現超過 10 宗個案,或約 22% 的事件,工程師確認 Codex 提供的回饋本可帶來影響,多於其他任何受評估的工具。
因為這些拉取請求已經通過程式碼審查,回放測試顯示 Codex 揭示了審查員當時未察覺的風險,補充而非取代了人類判斷。
Datadog 的分析顯示,Codex 一直能標示出一些僅從即時差異中無法明顯看出且無法透過確定性規則捕捉的問題。
工程師表示 Codex 的評論不僅僅是「機械人噪音」:
- Codex 指出與差異中未觸及的模組有互動
- Codex 識別出跨服務耦合領域中缺失的測試覆蓋
- Codex 強調帶有下游風險的 API 合約變更
「對我來說,Codex 的評論就像我合作過的最聰明的工程師,並且有無限的時間來找出錯誤。Codex 看到我大腦一時無法同時掌握的各種連繫。」
這種將審查反饋與實際可靠性結果聯繫起來的能力,正是 Codex 在 Datadog 評估中脫穎而出的原因。有別於靜態分析工具,Codex 會比較拉取請求的意圖與提交的程式碼變更,並在整個程式碼庫和依賴關係上進行推理,執行程式碼和測試來驗證行為。
「這是第一個看起來真的會在程式的更大脈絡下考慮差異的工具。」Carter 說。「這真是讓人耳目一新,大開眼界。」對許多工程師來說,這種轉變徹底改變了他們參與 AI 審查的方式。「我開始將 Codex 的評論當作真正的程式碼審查反饋來對待,」Datadog 資深軟件工程師 Ted Wexler 表示。「不是我會草草略過或忽視的內容,而是值得留意的內容。」
在評估後,Datadog 在其工程團隊中更廣泛地部署了 Codex。現時超過 1,000 名工程師定期使用Codex。
反饋主要是透過有機方式而非正式的工具內指標來呈現。工程師在 Slack 上發布有用的見解、建設性評論,以及 Codex 如何幫助他們以不同方式思考問題的時刻。
雖然節省的時間相當可觀,但團隊一致指出,完成工作的方式發生了更有意義的轉變。
「Codex 改變我對程式碼審查應該是怎樣的看法。這並不是關於要複製我們最優秀的人類審查員。這是關於找出人類在孤立審查變更時難以察覺的重大缺陷和邊界場景。」
對 Datadog 而言,更廣泛的影響在於程式碼審查本身的定義方式有所改變。團隊不再將審查視為用來找出錯誤或優化週期時間的檢查點,而是將 Codex 視為核心可靠性系統,作為合作夥伴:
- 揭示超出個別審查員能掌握的風險
- 強調跨模組和跨服務的互動
- 提升大規模交付的信心
- 讓人工審核員專注於架構和設計
這項轉變與 Datadog 的領導層對工程優先級的定位一致,即可靠性與信任與速度同等重要,甚至可能更為重要。
「當其他平台都在崩潰時,我們就是眾多公司所依賴的平台,」Carter 說。「預防事件能夠增強客戶對我們的信任。」


