繁體中文

使用 Codex 審查 GitHub PR

使用 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 事件是否與你的審查觸發器設定匹配。