Skip to main content

用 AI 做 Code Review 靠譜嗎?自動化程式碼審查的實務經驗

· 閱讀時間約 7 分鐘
Felo AI
Operations

AI 程式碼審查實務經驗——能做什麼、不能做什麼、怎麼跟人工審查搭配,含 Claude Code 實際操作範例。

每個團隊都知道 Code Review 重要。每個團隊也都知道 Code Review 是瓶頸。

PR 開了三天沒人看。Reviewer 太忙只掃了一眼就 approve。或者反過來——reviewer 太認真,一個 PR 來回改了五輪,開發者快崩潰。

AI 能幫上忙嗎?能,但不是你想的那種「幫」。

這篇文章不賣夢——不會告訴你「AI 取代 Code Review」。而是根據實際使用經驗,說清楚 AI 在 Code Review 中能做什麼、不能做什麼、怎麼跟人工審查搭配效果最好。

AI 程式碼審查實戰 — 提升程式品質的 AI 輔助方法

AI Code Review 能做什麼

1. 程式碼風格一致性

AI 非常擅長抓風格問題——命名不一致、縮排混亂、import 順序、多餘的空行。這些問題人工 review 時容易忽略(因為太無聊了),但 AI 不會漏。

> 幫我 review src/api/users.ts 的程式碼風格,對照我們的 CLAUDE.md 規範

Claude Code 會逐一比對你的規範,列出所有不一致的地方。比 ESLint 更靈活,因為它能理解語義層面的風格(例如「錯誤處理要用 Result 型別而不是 try-catch」)。

2. 常見 Bug 偵測

AI 能抓到一些常見的 bug 模式:

  • 未處理的 null/undefined
  • 非同步操作缺少 await
  • 陣列越界存取
  • 資源未釋放(檔案 handle、資料庫連線)
  • 邏輯條件錯誤(off-by-one、邊界條件)
> review 這個 PR 的改動,特別注意可能的 bug 和邊界條件

3. 安全漏洞掃描

AI 能辨識 OWASP Top 10 的常見漏洞模式:

> 檢查 src/api/auth.ts 有沒有安全漏洞,特別是 SQL injection、XSS、認證繞過

它會標出可疑的地方,例如:

  • 未參數化的 SQL 查詢
  • 未消毒的使用者輸入直接渲染到 HTML
  • 硬編碼的密碼或 API key
  • 不安全的 CORS 設定

4. 文件缺口

AI 能發現缺少文件的地方——公開函式沒有 JSDoc、複雜邏輯沒有註解、API endpoint 沒有說明。

> 這個 PR 新增了哪些公開 API?有沒有缺少文件的地方?

5. 效能問題

AI 能辨識一些常見的效能反模式:

  • React 元件不必要的重新渲染
  • N+1 查詢
  • 大量資料的同步處理(應該用串流或分頁)
  • 記憶體洩漏模式
> 這段程式碼有效能問題嗎?特別注意資料庫查詢和記憶體使用

AI Code Review 不能做什麼

1. 商業邏輯驗證

AI 不知道你的業務規則。它不知道「VIP 客戶的折扣上限是 30%」或「訂單金額超過 10 萬需要主管審核」。

它能告訴你程式碼有沒有 bug,但不能告訴你程式碼有沒有正確實作業務需求。

2. 架構決策評估

AI 能看到程式碼的結構,但不知道你的架構決策背後的原因。

「為什麼這裡用 Event Sourcing 而不是 CRUD?」——這個問題的答案在團隊的討論記錄裡,不在程式碼裡。AI 可能會建議「簡化成 CRUD」,但那可能違反了你們深思熟慮的架構決策。

3. 團隊脈絡

AI 不知道:

  • 這段程式碼是暫時的 workaround,下個 sprint 會重構
  • 這個 API 的命名是為了跟第三方服務保持一致
  • 這個看起來多餘的檢查是因為上次出過 production incident

這些脈絡存在團隊成員的腦袋裡(或者散落在 Slack 和 Jira 裡)。AI 看不到。


實際操作:用 Claude Code 做 Code Review

基本用法

# 進入專案目錄
cd ~/projects/my-app

# 啟動 Claude Code
claude
> 幫我 review 最近這個 commit 的改動

Claude Code 會自動執行 git diff,分析所有改動,給出 review 意見。

進階用法:針對性 Review

> 只看 src/api/ 底下的改動,重點檢查:
> 1. 有沒有安全漏洞
> 2. 錯誤處理是否完整
> 3. 有沒有遵守我們的 API 回應格式

PR Review

> 幫我 review PR #42 的所有改動

Claude Code 會用 gh pr diff 42 取得 PR 的完整 diff,逐檔案分析。

搭配 CLAUDE.md 的規範

在 CLAUDE.md 中加入 review 標準:

## Code Review 標準
- 所有公開函式必須有 TypeScript 型別
- API endpoint 必須有錯誤處理
- 資料庫查詢必須使用參數化查詢
- 新增的功能必須有對應的測試
- 不允許 any 型別(除非有註解說明原因)

這樣 Claude Code 在 review 時會自動對照這些標準。


AI + 人工的最佳搭配

AI Code Review 不是取代人工,而是讓人工 review 更有效率。最佳的搭配方式:

第一輪:AI 掃描(自動)

讓 AI 先做一輪掃描,抓出:

  • 風格問題
  • 常見 bug 模式
  • 安全漏洞
  • 缺少的文件和測試

開發者根據 AI 的回饋先修一輪。

第二輪:人工 Review(聚焦)

人工 reviewer 不用再花時間看風格和基本 bug——AI 已經處理了。Reviewer 可以聚焦在 AI 做不到的事:

  • 商業邏輯是否正確
  • 架構決策是否合理
  • 程式碼是否符合團隊的長期方向
  • 有沒有更好的設計方案

效果

  • AI 處理 60-70% 的機械性 review 工作
  • 人工 reviewer 聚焦在高價值的判斷
  • PR 的來回次數減少(基本問題在第一輪就修掉了)
  • Review 品質提升(reviewer 有更多精力看重要的東西)

跨 Session 的 Review 脈絡

Code Review 不是一次性的事。團隊的 review 標準會演進——上次出了一個 timezone 的 bug,之後所有涉及時間處理的程式碼都要特別注意。上個月決定從 REST 遷移到 GraphQL,新的 PR 不應該再新增 REST endpoint。

這些演進中的 review 脈絡,AI 每次開 session 都不記得。

如果你用 MemClaw 管理專案工作區,可以把 review 相關的決策和模式記錄在工作區裡:

> 把這次 review 的結論存到工作區:
> 1. timezone 處理必須用 UTC,顯示時再轉換
> 2. 新的 API 一律用 GraphQL,不再新增 REST endpoint
> 3. 認證 middleware 要檢查 token 過期時間

下次 review 時載入工作區,Claude 就知道這些累積的 review 標準:

> 載入 my-project 工作區
> 幫我 review 這個 PR,注意我們之前記錄的 review 重點

Claude 會自動對照工作區裡的 review 標準,不用你每次重新交代。

讓 AI 記住你的 review 標準 → memclaw.me


常見問題

AI Code Review 能完全取代人工嗎?

不能。AI 擅長機械性的檢查(風格、bug 模式、安全漏洞),但不能判斷商業邏輯、架構決策和團隊脈絡。最佳做法是 AI 先掃一輪,人工聚焦高價值判斷。

哪些語言支援最好?

Claude Code 對 TypeScript/JavaScript、Python、Go、Rust、Java 的 review 品質最好。這些語言的訓練資料最多,AI 對常見模式和反模式的辨識最準確。

會不會產生太多噪音?

可能會。AI 有時候會標出不是問題的「問題」(false positive)。解決方法:在 CLAUDE.md 中明確寫出你的規範,減少 AI 的猜測空間。

團隊裡每個人都要裝 Claude Code 嗎?

不一定。可以由一個人(或 CI/CD)跑 AI review,把結果貼到 PR 的 comment 裡。其他人只需要看 AI 的 review 結果。

可以整合到 CI/CD 嗎?

可以。用 Claude Code 的單次指令模式:

claude -p "review the changes in this PR, output as markdown" > review.md

把這個指令加到 CI/CD pipeline 裡,每個 PR 自動跑一次 AI review。


總結

AI Code Review 不是萬能的,但它能處理 60-70% 的機械性 review 工作,讓人工 reviewer 聚焦在真正需要人類判斷的地方。

關鍵是搭配得當:AI 做第一輪掃描,人工做第二輪聚焦 review。

從這裡開始:

  1. 在 CLAUDE.md 中加入你的 review 標準
  2. 試著用 Claude Code review 下一個 PR
  3. 安裝 MemClaw 累積 review 脈絡——免費開始

延伸閱讀: