中文

GitHub 中的 Codex 代码评审

使用 Codex 评审 GitHub PR

为 GitHub PR 设置 Codex 代码评审,使用 @codex review 请求评审,启用自动评审,并自定义评审准则。

使用 Codex 代码评审,为 GitHub PR 增加一轮高价值评审。 Codex 会评审 PR 差异、遵循仓库指南, 并发布标准 GitHub 代码评审,重点关注严重问题。Security Review 目前处于研究预览阶段,可对 PR 中潜在的安全问题进行更深入的评审。

观看:Codex 代码评审演示

开始之前

请确保你已完成以下事项:

  • 为要评审的仓库设置 Codex cloud
  • 拥有 Codex 代码评审设置的访问权限。
  • 如果希望 Codex 遵循仓库特定的评审指南,请准备一个 AGENTS.md 文件。

设置 Codex 代码评审

要配置自动评审,你需要连接 GitHub 仓库,并对其设置拥有 GitHub 推送或管理员权限。

  1. 设置 Codex cloud
  2. 前往 Codex 设置
  3. 为你的仓库启用 Code review

请求 Codex 评审

  1. 在 PR 的评论中提及 @codex review
  2. 等待 Codex 作出回应(👀)并发布评审结果。

Codex 会像团队成员一样在 PR 中发布评审结果。在 GitHub 中,Codex 只会标记 P0 和 P1 问题,让评审评论聚焦于 高优先级风险。

启用自动评审

如果希望 Codex 自动评审每个 PR,请在 Codex 设置中启用 Automatic reviews。 每当有人开启新的 PR 并请求评审时,Codex 都会发布评审, 无需添加 @codex review 评论。

自定义 Codex 的评审内容

Codex 会在仓库中搜索 AGENTS.md 文件,并遵循适用的 代码评审规则。请在距离规则所管辖代码最近的文件中添加 ## Code Review Rules 部分。 适当时,可使用 ### 标题对相关检查进行分组。

例如,实验报告服务可以防止曝光后的行为 改变对照组:

## Code Review Rules

### Experiment cohorts

- Do not filter treatment comparisons on post-exposure behavior, including conversion or retention.
  Safe path: build cohorts from assignment or exposure; report conversion as an outcome.

将仓库范围的规则放在根目录的 AGENTS.md 中,将服务特定规则 放在嵌套文件中,例如 services/experiment_reporting/AGENTS.md。Codex 会对每个更改的文件应用根目录指南及适用的更具体指南,因此 无关更改无需携带服务特定的上下文。

先从两三条简洁规则开始,纳入评审者经常说明的检查。实用规则包括:

  • 聚焦有实质影响且与仓库相关的行为。 说明要标记的 兼容性约束、数据边界或不安全的副作用,以及 其重要原因。
  • 说明安全做法或例外情况。 为 Codex 提供足够上下文,以区分 真实问题和预期行为。
  • 确保规则范围明确且持久适用。 优先描述预期结果,而不是可能变化的函数名称, 并将指南放在其所管辖代码附近。
  • 将机械性检查留给 CI。 不要在评审规则中包含格式化、lint 和其他 确定性检查。

打开一个有代表性的 PR,并使用 @codex review 请求评审。 根据看到的发现和反馈优化规则,并缩小或 移除会产生噪声的指南。

代码评审规则用于指导 Codex;它们不能替代测试、分支保护或 必需的批准。

若要临时指定评审重点,请将其添加到 PR 评论中:

@codex review for issues in the database migration

Security Review

Security Review 是一项附加评审,适用于希望 特别关注 PR 中安全问题的客户。它会分析 PR 差异、 相关仓库上下文,以及已配置的威胁模型或安全 指南,从而比 Code Review 更深入地评审安全特定风险。

Code Review 也可能在常规评审中识别与安全相关的问题, 因此 Code Review 和 Security Review 的发现偶尔可能重叠。

设置 Security Review

有关更详细的设置说明和配置选项,请参阅 Security Review

  1. 设置 Codex cloud
  2. 前往 Codex 设置
  3. Repository preferences 下,选择哪些 PR 接受 Security Review 以及何时运行。选择 Whenever code review runs,使其 与 Code Review 一同运行。

请求 Security Review

若要手动请求 Security Review,请在 PR 中添加此评论:

@codex security review

评审运行期间,Codex 会做出反应,随后直接在 PR 上 发布安全发现。打开关联的 Codex 任务并选择 Security Report 标签页,可查看完整报告。

处理评审发现

Codex 发布评审后,你可以再留一条评论,让它在同一个 PR 中修复问题:

@codex fix the P1 issue

Codex 会以 PR 作为上下文启动云端聊天,并可在拥有相应权限时 将修复推送回该分支。

向 Codex 分配其他任务

如果你在评论中提及 @codex,且内容不是 review,Codex 会使用 PR 作为上下文启动云端聊天

@codex fix the CI failures

排查代码评审问题

如果 Codex 没有做出反应或发布评审:

  • 确认已在 Codex 设置中为仓库启用 Code review
  • 确认 PR 所属仓库已设置 Codex cloud
  • 在 PR 评论中使用准确的触发词 @codex review
  • 对于自动评审,请检查是否已启用 Automatic reviews,以及 PR 事件是否与你的评审触发器设置匹配。