Datadog 使用 Codex 进行系统级代码审查
借助 Codex,Datadog 可将系统级上下文引入每一次代码审查,以预防事故并维护客户信任。
Datadog(在新窗口中打开) 运营着全球使用最广泛的可观测性平台之一,致力于帮助企业监控、排查故障并保护复杂的分布式系统。当出现故障时,客户可通过 Datadog 平台快速识别问题,这意味着在代码进入生产环境之前,可靠性必须成为系统的内置功能。
对于 Datadog 的工程团队来说,代码审查是一项至关重要的任务。这不仅是为了识别错误,更是为了理解变更如何在相互关联的系统中产生连锁反应,而这正是传统静态分析和基于规则的工具无法胜任的领域。
为应对这一挑战,Datadog 的 AI 开发体验 (AI DevX) 团队采用了 OpenAI 的编程智能体 Codex,这款智能体可将系统级推理能力融入代码审查,并大规模揭示人类难以察觉的风险。
“节省时间尤为关键,”Datadog 的 AI DevX 团队负责人 Brad Carter 表示,“但就我们的规模而言,防范事故的意义更为重大。”
在 Datadog,高效的代码审查主要依赖高级工程师 — 他们能够深入了解代码库及其历史和架构权衡关系,并借此识别系统性风险。
但这种深层次的上下文难以扩展,早期的 AI 代码审查工具无法解决这一问题;许多工具的行为更像是高级代码检查工具 (linter),只标记表面问题,而忽略了更广泛的系统细微差异。Datadog 的工程师认为这些建议过于肤浅或杂乱,因此并未采纳。
Datadog 开始推行 Codex(OpenAI 的编程智能体)试点项目,并将其集成到实时开发工作流中。在该公司规模最大且使用最频繁的代码仓库中,每个拉取请求都由 Codex 自动审查。工程师可以对 Codex 的评论点赞或点踩,并在团队间分享非正式的反馈意见。许多人指出,Codex 的反馈值得关注,且不会像之前的工具那样输出杂乱或肤浅的建议。
为了测试 AI 辅助审查能否在指出风格问题的同时完成更多任务,Datadog 构建了一个事件重现工具。
该团队并未使用假设性场景,而是回溯历史事件。他们重建了那些曾导致事故的 Pull Request,并将 Codex 作为原始审查的一部分应用于每一个请求,然后询问负责处理这些事件的工程师:Codex 的反馈是否会产生实际影响。
结果显示:在 Datadog 审查的事件中,Codex 已发现超过 10 个案例(约占事件总数的 22%);工程师确认 Codex 提供的反馈可产生实际影响,且其表现优于接受评估的其他工具。
因为这些 Pull Request 已通过代码审查,重现测试表明 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 说:“当一切濒临崩溃时,我们就是企业所依赖的平台。预防事故有助于增强客户对我们的信任。”


