Datadog 使用 Codex 進行系統層級的程式碼審查
Datadog 透過 Codex 將系統層級的背景資訊引入每次程式碼審查,以防止事故並維護客戶信任。
Datadog(在新視窗中開啟) 經營全球最廣泛使用的可觀測性平台之一,協助企業監控、排除故障,並保護複雜的分散式系統。當系統發生故障時,客戶仰賴 Datadog 快速找出問題,因此在程式碼進入正式環境之前,就必須將可靠性納入開發流程。
對 Datadog 的工程團隊來說,這讓程式碼審查成為一個極為關鍵時刻。這不僅僅是為了發現錯誤,而是為了理解變更如何在互聯系統中產生連鎖反應,而這正是傳統靜態分析和規則式工具經常無法達到的領域。
為了應對這項挑戰,Datadog 的 AI Development Experience (AI DevX) 團隊轉為使用 OpenAI 的程式設計智慧體 Codex,這個工具將系統層級的推理引入程式碼審查,並能顯現人類在大規模環境中難以輕易察覺的風險。
「我們節省了時間,這方面的確蠻重要」Datadog 的 AI DevX 團隊主管 Brad Carter 表示:「但在我們的規模下,防止事故發生才是價值所在。」
在 Datadog,有效的程式碼審查傳統上高度依賴資深工程師,這些對程式碼庫、其歷史及架構取捨有深入理解的人,並且能夠識別系統性風險。
但這種深層脈絡很難擴展,而早期的 AI 程式碼審查工具並未解決這個問題;許多工具的運作方式更像是進階的程式碼檢查器,只會標記表面問題,卻忽略了更廣泛的系統細微差異。Datadog 的工程師經常覺得這些建議太淺薄或雜訊太多,因此會忽略建議。
Datadog 開始試行 Codex (OpenAI 的程式設計智慧體),並將其整合到即時開發工作流程中。在公司最大且使用最頻繁其中一個程式碼庫中,每個拉取要求都會由 Codex 自動審閱。工程師對 Codex 的評論以按讚或倒讚作出回應,並在團隊間分享非正式的回饋。許多人指出,Codex 的回饋值得一讀,不像先前的工具只會產生雜訊或流於表面的建議。
為了測試 AI 協助的審查是否能做到不只是指出樣式問題,Datadog 建立了一套事件重現框架。
團隊沒有使用假設性情境,而是回頭檢視歷史事故。他們重建了曾導致事故的拉取要求,將 Codex 套用到每一個要求上,彷彿它是原始審查的一部分,然後詢問負責這些事故的工程師,Codex 的回饋是否能夠防止事故發生。
結果:Codex 在 Datadog 檢視的事故中發現超過 10 個案例 (或約 22% 的事故),工程師確認 Codex 提供的回饋會產生影響,比其他任何受評估的工具都多。
由於這些拉取要求先前已通過程式碼審查,重現框架顯示 Codex 揭露了審查者當時未察覺的風險,藉此成為人類判斷的一大助力,而非取而代之。
Datadog 的分析顯示,Codex 穩定地標記出僅從即時差異中不明顯且無法被確定性規則捕捉到的問題。
工程師形容 Codex 的評論不僅僅是「機器人噪音」:
- Codex 能夠指出與差異中未涉及模組之間的互動
- 可識別跨服務耦合領域中缺少的測試覆蓋範圍
- 強調帶有下游風險的 API 合約變更
「對我來說,Codex 的評論就像是我合作過的最聰明的工程師,擁有無限的時間來找出錯誤。它能察覺到我腦中無法同時掌握的關聯。」
將審查回饋連結到實際可靠性成果的能力,讓 Codex 在 Datadog 的評估中脫穎而出。與靜態分析工具不同,Codex 會將拉取要求的意圖與提交的程式碼變更進行比較,對整個程式碼庫和相依性進行推理,並執行程式碼和測試以驗證行為。
「這是第一個看起來真的會考量到整個程式脈絡中的差異,」Carter 表示:「那很新穎,讓人大開眼界。」
對許多工程師來說,這項轉變徹底改變了他們與 AI 審查的互動方式。「我開始將 Codex 的評論視為真正的程式碼審查回饋,」Datadog 資深軟體工程師 Ted Wexler 表示:「不是我會草草帶過或忽視的內容,而是值得留意的內容。」
在評估後,Datadog 將 Codex 更廣泛地部署到其工程團隊中。今天已有超過 1,000 名工程師定期使用此工具。
回饋多半是自然浮現,而非透過正式的工具內指標。工程師在 Slack 上分享實用的洞見、建設性的評論,以及 Codex 幫助他們以不同方式思考問題的時刻。
雖然節省的時間相當可觀,但團隊一致指出,工作完成方式出現了更有意義的轉變。
「Codex 改變了我對程式碼審查應有的看法。這不是要複製我們最優秀的人工審查員。這是為了找出嚴重缺陷與邊緣案例,而這些往往是人類在孤立地審查變更時難以察覺的。」
對 Datadog 而言,較廣泛的影響是定義程式碼審閱的方式發生了變化。團隊不再將審查視為用來抓錯或最佳化週期時間的檢查點,而是將 Codex 視為核心的可靠性系統,並將其視為合作夥伴:
- 揭露超出個別審查人員能掌握的風險
- 強調跨模組與跨服務的互動
- 提升大規模部署的信心
- 讓人工審查人員專注於架構和設計
這項轉變符合 Datadog 領導者如何界定工程優先事項,可靠性與信賴的重要性不亞於速度,甚至更勝於速度。
「當其他一切都在崩壞時,我們就是企業所仰賴的平台。」Carter 表示:「預防事故能增強客戶對我們的信任。」


