GitHub Copilot Code Review 的 effort level 怎麼選?Lite 與 Balanced 設定
GitHub Copilot Code Review 現在有 Lite 與 Balanced 兩個 generally available 的 effort level。它們解決的是「這次 PR 要投入多少 review 深度」的選擇,不是把 AI review 變成可比較的品質分數。
GitHub 在 2026 年 8 月 7 日公告,Lite 適合 straightforward changes,Balanced 會投入更深入的分析與較高的 reasoning。最實用的設定方式,是先依變更風險選 level,再用 PR timeline 或 PR overview 顯示的標籤確認這次 review 實際用了哪一個設定。
Lite 與 Balanced 怎麼分
| effort level | 適合先用在哪裡 | 仍要由人確認的事 |
|---|---|---|
| Lite | 小型修正、文件、低風險且範圍清楚的變更 | 是否真的沒有跨模組副作用,不能只看 diff 行數 |
| Balanced | 權限、資料流、跨檔案重構、風險較高的行為改動 | review 是否讀到正確脈絡,以及建議是否能由測試與規格支持 |
這不是「Balanced 一定比 Lite 正確」的排序。Lite 可能更符合小型 PR 的延遲與用量需求;Balanced 也不會替你補出缺失的需求、測試或 domain knowledge。level 只控制 review 的投入深度,不能取代人類 reviewer、required approval 或 CI。
先用變更風險決定 level
可以在送出 review 前,用下面的問題做一分鐘分級:
- 這個 PR 是否只改單一函式、文件或明確的樣式,不會改變資料流?如果是,先考慮 Lite。
- 是否改到 authentication、authorization、付款、migration、部署或外部 API?如果是,先考慮 Balanced。
- 是否有跨 repository、MCP、agent skill 或非同步 job 的脈絡?如果 review 需要較深的上下文,Balanced 比較容易成為合理起點。
- 如果 PR 看起來很小,但會改變 shared utility 或 schema,不能只因 diff 短就選 Lite;先看影響面。
即使選了 Balanced,也要要求 CI、測試與人類 review 給出可驗證的結果。不要把一次「沒有找到問題」當成安全證明,也不要把 review comment 數量當成品質指標。
組織預設與單次 PR 覆寫
GitHub 目前提供組織層級的預設 effort level,repository 可以繼承這個預設;個別 review 也可以在發起時覆寫。這讓團隊可以採用一個低摩擦的 default,再替高風險 repository 或特定 PR 選更深的 level,而不必把所有 review 都鎖在同一種成本。
建議把政策寫成「預設值 + 例外條件」,例如:
| 範圍 | 建議策略 |
|---|---|
| 一般 application repository | Lite 作為預設,遇到高風險變更時由 reviewer 選 Balanced |
| 安全、付款或資料 migration repository | Balanced 作為預設,仍保留單次 review 的明確驗證 |
| 快速修正或文件 PR | Lite,並確認沒有被錯誤地歸類成高風險修改 |
這種政策要配合 repository 的 code owners、required checks 和 PR template;effort level 不是授權開關,也不是讓未通過測試的 PR 自動取得合併資格。
如何驗證這次 review 真的用了哪個 level
不要只看設定頁面的 default。每次重要 PR 都應在結果頁確認:
- review 是否成功啟動,且沒有被 organization policy 或 plan 限制。
- PR timeline 是否標記實際使用的 effort level。
- PR overview 是否顯示同一個 level;若兩者不一致,先保存時間、PR URL 與設定變更,再查 GitHub 文件或支援管道。
- review comment 是否引用了正確的 head branch、instructions、skills 與測試結果。
如果你同時使用 repository agent skills 或 MCP,還要把工具邊界獨立驗證;可以接著看 GitHub Copilot Code Review 的 Skills 與 MCP。effort level 只回答「投入多少 review 深度」,不回答「它是否讀了哪些外部資料」。
GitHub 這次也把 preview 時期的 Low/Medium 名稱改成 Lite/Balanced,既有設定會延續。遇到舊文件仍寫 Low 或 Medium 時,先對照目前的設定與 changelog,不要因為名稱變了就重建整套 repository policy。
結論:先用風險選深度,再用結果做驗證
Lite 適合範圍清楚、低風險的 PR;Balanced 適合需要更多分析的變更。兩者都不保證 review 完整或程式碼正確。可維護的做法是把 effort level 記在團隊的 review policy,對高風險 PR 明確選擇,並在 timeline/overview 驗證實際套用值,再由測試和人類 approval 完成最後判斷。
常見問題
Q: Balanced 會保證找到更多 bug 嗎?
A: 不會。GitHub 說明 Balanced 會提供較深入的分析與較高的 reasoning,但它不是 bug 覆蓋率或品質保證。需求、測試、可用脈絡與人工 review 仍會影響結果。
Q: 舊的 Low/Medium 設定需要手動遷移嗎?
A: GitHub 公告說明 preview 時期的 Low/Medium 已重新命名為 Lite/Balanced,既有設定會延續。仍建議打開目前的組織與 repository 設定,確認 default 和單次覆寫符合團隊政策。
Q: 可以只讓某一個 PR 使用 Balanced 嗎?
A: 可以。GitHub 目前支援在單次 review 時覆寫組織或 repository 的預設;送出後再從 PR timeline 或 PR overview 確認實際套用的 level。
參考資料:
GitHub Changelog:Copilot code review effort levels are generally available
回報錯字、失效連結,或告訴我你想看的延伸主題。