回到頂部
AI 產生 Pull Request 的 review 檢查清單

AI 產生的 PR 怎麼 Review?2026 年工程團隊必備檢查清單

AI coding agent 會開 PR 之後,工程團隊不能只用傳統 code review。本文整理 AI-generated PR 的任務對齊、測試、權限、資安與可維護性檢查清單。

當 AI coding agent 開始能幫你改檔、跑測試、開 PR,code review 的問題會變得不一樣。

傳統 review 主要問:

  • code 品質好不好?
  • 有沒有 bug?
  • 測試有沒有過?
  • 是否符合團隊慣例?

AI-generated PR 還要多問一層:agent 是不是在正確任務、正確範圍、正確權限下完成這個修改?

這個問題很重要。因為 AI PR 最大的風險,不一定是 code 寫得很爛,而是它看起來合理、測試也過,卻悄悄偏離原始任務。


為什麼 AI PR 不能只用傳統 review?

人類工程師開 PR 時,reviewer 通常可以假設幾件事:

  • 作者理解需求背景
  • 作者知道自己為什麼改這些檔案
  • 作者有責任感與團隊脈絡
  • 作者能回答「為什麼不這樣做」

AI agent 不一定有這些脈絡。它可能只是根據 prompt、repo context、測試錯誤與局部推理產生一個可行 diff。

所以 AI PR 要多檢查:

  • 它是否真的解決原始 issue?
  • 它是否改了不該改的檔案?
  • 它是否為了讓測試通過而削弱測試?
  • 它是否繞過安全檢查?
  • 它是否新增過大的抽象?
  • 它是否用錯團隊既有 pattern?
  • 它是否在沒必要時改了 API contract?

傳統 review 看「結果」。AI PR review 還要看「行為軌跡」。


第一層:任務對齊檢查

先不要看 code 美不美。第一步先看 PR 是否對齊原始任務。

檢查項目要問的問題
原始 issuePR 是否直接解決 issue 描述的問題?
Acceptance criteria每個驗收條件是否都有對應變更或測試?
範圍diff 是否只碰必要檔案?
非目標修改是否順手重構、改格式、改命名、改 unrelated logic?
缺口PR 是否承認哪些地方沒處理?

如果 PR 一開始就沒有對齊任務,後面 code 寫得再漂亮都沒用。

AI agent 很容易做「看似有幫助」但偏離目標的事,例如:

  • 順手重構整個檔案
  • 改掉跟 bug 無關的命名
  • 把問題繞到另一層
  • 新增一個過大的 helper
  • 修改測試期待值而不是修邏輯

這些都要先擋下來。


第二層:Diff 範圍檢查

AI PR 最常見的問題之一,是改太多。

不是每個大 diff 都錯,但大 diff 一定要有理由。

Review 時可以問:

  • 這個檔案為什麼需要改?
  • 是否有更小的修正方式?
  • 是否把不相關 formatting 混在同一個 PR?
  • 是否改到 public API、schema、migration、config?
  • 是否新增依賴?
  • 是否刪除舊邏輯?

建議把檔案分成三類:

類型Review 態度
預期內檔案正常 review
可疑檔案要求 agent 或作者解釋為什麼需要改
高風險檔案需要資深工程師或 owner review

高風險檔案通常包括:

  • auth
  • payment
  • permission
  • database migration
  • production config
  • secrets
  • deployment
  • security policy
  • logging/audit
  • billing

AI agent 不是不能碰高風險檔案,而是不能在沒有明確批准與 owner review 的情況下碰。


第三層:測試證據檢查

AI agent 很會說「測試已通過」,但 reviewer 不能只看這句話。

要看它跑了什麼測試、為什麼跑這些測試、哪些測試沒有跑。

最小測試證據應該包含:

  • 執行了哪些命令
  • 測試結果摘要
  • 哪些測試與這次變更直接相關
  • 沒有跑哪些測試,原因是什麼
  • 是否新增或修改測試
  • 新測試是否真的會在 bug 存在時失敗

AI PR 最危險的測試問題包括:

  • 只跑單一 happy path
  • 修改測試期待值來配合錯誤邏輯
  • 刪掉 flaky test 但沒說明原因
  • mock 掉真正該測的行為
  • 只測 implementation detail,不測使用者可觀察結果
  • 沒有測 edge case

一個簡單規則:如果 PR 是修 bug,應該先有能重現 bug 的測試;如果是新功能,應該有驗收條件對應測試。


第四層:安全與權限檢查

AI coding agent 的安全風險,不只在 prompt injection,也在它產出的 diff。

Review 時要特別看:

  • 是否放寬權限判斷?
  • 是否新增過度寬鬆的 CORS、network、file access?
  • 是否把錯誤吞掉,讓安全檢查失效?
  • 是否把 secret 寫進檔案、log 或測試 fixture?
  • 是否新增不必要的外部依賴?
  • 是否改變 authentication 或 authorization flow?
  • 是否降低 rate limit、validation、sanitization?
  • 是否讓使用者輸入更接近 shell、SQL、HTML、URL、file path?

AI PR 對安全最常見的壞習慣,是為了讓功能跑起來而「放寬限制」。

例如:

  • 暫時跳過 permission check
  • catch error 後直接 return success
  • 把 validation 改成 optional
  • 用 broad allowlist 取代精準規則
  • 把 timeout 拉長但沒處理根因

這些改動看起來像修 bug,其實可能是在移除防線。


第五層:可維護性檢查

AI agent 常常能寫出可執行 code,但不一定寫出好維護的 code。

Review 時可以看:

  • 是否遵守既有命名與檔案結構?
  • 是否重複造輪子?
  • 是否新增過度抽象?
  • 是否把 business logic 放錯層?
  • 是否讓函式變得太長?
  • 是否讓錯誤處理更混亂?
  • 是否把 domain concept 改成模糊通用名稱?
  • 是否讓未來 debug 更難?

AI 產出的 code 有時會「局部合理、全局彆扭」。
它在單一檔案看起來可以,但放進整個系統就不順。

這也是為什麼 repo owner review 很重要。AI 可以讀 codebase,但不一定理解團隊多年累積的設計取捨。


建議要求每個 AI PR 附上 Trust Brief

工程團隊可以要求 agent 或使用者在 PR description 裡附上一段 trust brief。

格式可以很簡單:

## AI Trust Brief

任務來源:
- issue / ticket:
- 原始需求:

變更範圍:
- 修改檔案:
- 未修改但檢查過的檔案:
- 高風險區域:

測試證據:
- 已執行命令:
- 新增測試:
- 未執行測試與原因:

風險與假設:
- 主要風險:
- 需要 reviewer 特別確認:
- 未完成項目:

這不是形式主義。它會迫使 agent 產出可 review 的上下文,也讓 reviewer 不用從零開始猜它做了什麼。


AI PR Review Checklist

可以把這份清單放進團隊 PR template。

任務

  • PR 是否對齊原始 issue?
  • 是否有明確 acceptance criteria?
  • 是否有超出任務範圍的變更?
  • PR description 是否說明未完成項目?

Diff

  • 是否只改必要檔案?
  • 是否有不相關 formatting?
  • 是否新增依賴?
  • 是否改到 public API、schema、config?
  • 是否刪除既有行為?

測試

  • 是否有對應測試?
  • 測試是否真的覆蓋 bug 或需求?
  • 是否跑過相關 test、lint、type check?
  • 是否有未跑測試的合理原因?
  • 是否改壞既有測試意義?

安全

  • 是否放寬權限?
  • 是否碰到 secrets?
  • 是否新增外部 network 或 file access?
  • 是否改變 auth、payment、billing、audit?
  • 是否降低 validation 或 sanitization?

維護

  • 是否符合團隊 pattern?
  • 是否引入過度抽象?
  • 是否讓錯誤處理更清楚?
  • 是否讓未來 debug 更容易?
  • 是否需要 owner review?

結論:AI PR 的重點不是更快合併,而是更清楚驗收

AI coding agent 可以大幅提高產出速度,但 review 流程如果沒有升級,團隊只是把成本從「寫 code」轉到「檢查 code」。

好的 AI PR review 應該做到三件事:

  1. 確認 agent 沒有偏離任務
  2. 確認 diff 可測、可維護、可回滾
  3. 確認高風險操作被看見、被批准、被記錄

AI-generated PR 不該被特別放水,也不該被全部拒絕。它需要的是更明確的證據包。

當每個 AI PR 都能清楚交代任務、範圍、測試、風險與限制,AI coding agent 才會真的變成工程團隊的生產力,而不是 reviewer 的新負擔。


Sources

№ · further reading

延伸閱讀