PR Review 卡兩天的解:P5 三階驗證 + Claude Code Sub-Agents

更新於 2026年7月11日

PR Review 卡兩天的解:P5 三階驗證 + Claude Code Sub-Agents

PR Review 卡兩天的解:P5 三階驗證 + Claude Code Sub-Agents

Answer Capsule:PR review 卡兩天的根本原因不是 reviewer 慢,而是「一次塞太多東西」。把 review 拆成 Plan / Code / Verify 三階,每階一個 sub-agent 看,最後 verify 過了才能 merge。這就是 Alex 的 P5 原理。Claude Code 2.1.x 的 sub-agents tabbed UI + /ultrareview 命令把 P5 落地。Alex 在 his-shutien 醫療系統案例驗證:review 時間從 7 個工作天降到 1 天。

你有沒有遇過這種情況?

你開了一個 PR,commit 完已經晚上 10 點,發 Slack 通知 senior。

隔天早上看,沒人看。下午也沒人看。傍晚問了一下,senior 說「等等,我今天三個會」。

到了第二天晚上,你的 PR 還在那邊。同事的 PR 也卡在你這邊(因為你要先 merge)。team 整個 sprint 開始崩了。

老實講這不是你的 team 特別爛——這是大多數 5-30 人團隊的日常。

根本原因:不是 reviewer 太慢

90% 的人遇到 PR review 卡,第一反應是「換工具」、「催 senior」、「split PR 變小」。

這些都治標不治本。

我跑過 his-shutien(醫療系統)+ 好幾個 team 的陪跑後,整理出 PR review 卡的三個根本原因

1. 一次塞太多東西進 review。

一個 PR 同時包含 design intent + implementation + test + style fix + 順手的 refactor。reviewer 要同時想 4 件事,自然慢,自然容易漏。

2. Reviewer 沒有分工。

不管 PR 是改 API 還是改 UI 還是加 test,都是同一個 senior 看。Senior 是 bottleneck 還在所難免。

3. Verify 沒有 gate。

Review 完 reviewer 寫個「LGTM」就 merge。但「Looks Good To Me」是什麼意思?code 跑得動嗎?test 涵蓋 edge case 嗎?production deploy 會不會炸?沒人保證。

P5 原理:Plan-Code-Verify 三階驗證

這是 Alex 6 個 cross-cutting principles 之一(Track B 模組包的核心 IP)。

簡單來說

把 review 拆成 plan / code / verify 三個獨立 stage,每階一個 sub-agent 看,最後 verify 過了才能 merge。這就是 P5。

P5 三階定義

第一階:Plan stage — 問「這個 PR 要做的事,design 對不對?」

  • API surface 設計
  • Data model(schema、constraint、migration)
  • 跟既有架構的 alignment
  • Scope 合理嗎

第二階:Code stage — 問「implementation 對齊 plan 嗎?」

  • Code 有沒有按 plan 做
  • 可讀性、命名、結構
  • Test coverage(happy path + 1-2 個 edge case)
  • 風格 (lint、format)

注意:只有 plan 已經過了,這一階才開始。否則白看。

第三階:Verify stage — 問「跑得動嗎?真的解決問題嗎?」

  • 跑 test 真的過嗎(不是只看 CI 綠燈)
  • Edge case 真的有測嗎(throw error / empty input / large input)
  • Observability:log / metric / alert 設好了嗎
  • 部署到 staging / production 之後 rollback plan 有嗎

這一階是 gate——沒過就不能 merge,不管 plan 跟 code 多漂亮。

為什麼 sub-agent 分工比一個人看完強

傳統 review:senior 一個人從頭看到尾,腦袋同時想 4 件事,然後寫個「LGTM」。

P5 + sub-agents:三個 sub-agent 各看一階,每個 agent 上下文獨立、回報只給結論、parent agent(你或 lead)整合三個結論決定要不要 merge。

差別:

維度傳統 reviewP5 三階
一次塞多少東西全部混一起一階一個 focus
Reviewer 切換成本高(同時想 4 件事)低(一次一件)
什麼算 reviewed模糊(LGTM)三階都過才算
能不能平行是(sub-agents 同時跑)
第一次 plan 錯成本高(code 寫完才發現)低(plan-reviewer 直接 catch)
Junior 上手快不快慢(要學會看一切)快(從 verify-reviewer 開始)

最後一行特別重要:P5 讓 junior 也能 review——junior 從 verify-reviewer 角色開始(跑 test、check log、看 alert),慢慢往 code-reviewer、plan-reviewer 升。

Claude Code 怎麼落地 P5

P5 原理本身和 LLM 沒關係——你可以叫 3 個人類 reviewer 各看一階,一樣 work。

但要把它落地成可重複、可規模化的 pipeline,Claude Code 在 2026 Q1 之後特別適合:

1. Sub-agents tabbed UI — Claude Code 2.1.x 的 sub-agents tabbed UI 把每階 isolated context 視覺化,你可以同時看 plan/code/verify 三個 review session 進度。

2. /ultrareview 內建 multi-agent orchestration — 不需要自己寫 orchestration logic。一個命令編排三階。

3. Plan mode 讓你 review 前先看 plan — 寫 code 前先讓 Claude 給 plan,你 review plan。Review plan 比 review code 快很多(看 100 行 design 比看 500 行 code 快 5 倍)。

三個 sub-agent 怎麼寫 system prompt

放在 .claude/agents/

plan-reviewer.md

---
name: plan-reviewer
description: Reviews PR design intent / API surface / data model alignment.
tools: Read, Grep, Glob, Bash(git:*)
---

You are an 8-year senior backend engineer reviewing the PLAN stage.

Focus on:
1. API surface (input/output/error case design)
2. Data model (schema, constraint, migration safety)
3. Architecture alignment (does this violate any invariant?)
4. Scope (right amount of work?)

Output: 3-5 bullet conclusions (PASS/WARN/FAIL) + 1-line summary

DO NOT comment on code style/naming/tests — that's later stages.

code-reviewer.md

---
name: code-reviewer
description: Reviews PR implementation against approved plan.
tools: Read, Grep, Glob, Bash(npm test:*, ruff:*)
---

You are a paired-programming partner. Plan-reviewer already approved.
Your job: did the implementation match the plan?

Focus on: alignment / readability / test coverage / style.

verify-reviewer.md

---
name: verify-reviewer
description: Final gate. Run tests, check edge cases, validate observability.
tools: Read, Bash(*)
---

You are the FINAL GATE before merge. Plan + Code already passed.

Focus on: actually run tests / edge cases / observability / rollback plan.

完整版含 12 個 tactical tips 在 Track B B1 module。

Alex 真實案例:his-shutien 醫療系統

我在書田診所 HIS 陪跑時看過一個經典案例。

他們的 .NET 9 系統要接 VB6 legacy module。PR 開了一週 review 不過。

沒用 P5 之前

  • Day 1:PR 開出來
  • Day 2-3:senior 在開會,PR 等
  • Day 4:senior 看了 30 分鐘,留 12 個 inline comments(混合 design + style + test)
  • Day 5:作者改 + 回覆,又 push 一版
  • Day 6:senior 又看,這次發現「這個查詢 N+1」(design 問題)
  • Day 7:作者拆 PR

總計:7 個工作天

/ultrareview

  • Plan-reviewer (3 min):「WARN — 用 LINQ 看起來會 N+1,建議用 .Include() 預載」
  • Plan REWORK:作者加 .Include(),重新提交 plan
  • Plan-reviewer 二次 (2 min):「PASS」
  • Code-reviewer (4 min):「PASS — 命名清楚,覆蓋 happy path 含 edge」
  • Verify-reviewer (3 min):「WARN — 缺空 result set 的 test」
  • 作者補 test,verify 二次 PASS

總計:18 分鐘 + 作者改 30 分鐘 = 1 個工作天內結束

省下 6 天

陪跑制 KPI 月報的 L2 Velocity 數據就是這樣抓出來的。

對照其他做法

做法解的是什麼限制
P5 + Claude Code sub-agentsreview 結構問題(一次塞太多 / 沒分工 / 沒 verify gate)需要 Claude Code Pro+ + team buy-in
換更快的 reviewer 工具(GitHub Copilot Review)表面:reviewer bandwidth沒解結構問題
Split PR into smaller chunks表面:PR size治標不治本,作者切碎反而 review thread 更難跨片看
找 senior 1-on-1 catch up表面:senior bandwidthscale 不到 30+ team
加更多 lint / pre-commit hookscode 風格層沒解 design / verify 層

Key Takeaways

  1. PR review 卡兩天的根本原因是「一次塞太多東西」,不是 reviewer 慢
  2. P5 三階驗證(Plan / Code / Verify)+ sub-agent 分工 = review 結構解
  3. Claude Code 2.1.x 的 sub-agents tabbed UI + /ultrareview 命令是 P5 的落地工具
  4. Junior 從 verify stage 開始學——不再是「我能不能看 senior 的 PR」哲學問題
  5. 真實案例:his-shutien VB6 case,7 天 → 1 天(省 6 天)
  6. 6 個原理(P1-P6)是思考框架不是工具,介面變動原理仍有效

FAQ

Q1:我 team 只有 3 個工程師,需要 P5 嗎?

3 人 team 通常你自己當 plan-reviewer + code-reviewer + verify-reviewer。P5 對你的 ROI 主要是「不一次性燒腦看完所有事」。即使 1-2 人 team 也適用——分階段 review 比一次看更不累。

Q2:sub-agent 一直給 false positive 怎辦?

90% 是 system prompt 沒夠嚴格。每個 agent 加 forbidden behavior block:「DO NOT comment on X」。Track B B1 module Tip 10 完整講這個。

Q3:跟 Cole Medin context-engineering-intro 差別?

Cole Medin 偏 SaaS feature ship 的 PRP loop(feature 級別)。P5 是 PR 級別。Track B B3 教兩者合體——feature 用 PRP 規劃 + 拆成多個 PR + 每個 PR 用 P5 三階。

Q4:team 不買單怎辦?

Senior 不買單最常見。解法:讓 senior 變 plan-reviewer 的 author(他寫 system prompt)。Senior 從反對者變 owner,自然推動。Track B B4 module 完整教 team adoption。

Next Steps

如果你卡在 PR review,下一步建議:

  1. 看 Track B B1 module 完整內容(5 lessons + 2 artifacts,含完整 sub-agent system prompt + 12 tactical tips + ai-coding-template fork)
  2. Fork ai-coding-template GitHub — 內建 11 agents + 21+ commands 的 reference codebase
  3. 如果你 team 5-30 人卡在 adoption:考慮陪跑制(NT$50-80K/月,限量 2 位/月)— 不只技術,含 team 文化 + KPI 設計

詳細 Track B 模組包 sales page(Founding 50 NT$6,800 lifetime)。

變更紀錄

版本日期變更
1.02026-04-29初版(Plan 4 §Phase 7 Blog 1)

想把這篇學到的用進日常工作?

「AI 職場工作術」課程把這類實戰經驗整理成一步步的教學,帶你系統化練出跟 AI 協作的產能。

看 AI 職場工作術課程 →

本文作者:Alex Hsieh,SRE / DevOps 背景出身,現為企業 AI 導入顧問,也是「AI 相談室」課程講師。專注把 AI 自動化真正落地到企業日常流程,而不是停留在 Demo。

目錄
  1. 你有沒有遇過這種情況?
  2. 根本原因:不是 reviewer 太慢
  3. P5 原理:Plan-Code-Verify 三階驗證
  4. 簡單來說
  5. P5 三階定義
  6. 為什麼 sub-agent 分工比一個人看完強
  7. Claude Code 怎麼落地 P5
  8. 三個 sub-agent 怎麼寫 system prompt
  9. plan-reviewer.md
  10. code-reviewer.md
  11. verify-reviewer.md
  12. Alex 真實案例:his-shutien 醫療系統
  13. 沒用 P5 之前
  14. 用 /ultrareview 後
  15. 對照其他做法
  16. Key Takeaways
  17. FAQ
  18. Q1:我 team 只有 3 個工程師,需要 P5 嗎?
  19. Q2:sub-agent 一直給 false positive 怎辦?
  20. Q3:跟 Cole Medin context-engineering-intro 差別?
  21. Q4:team 不買單怎辦?
  22. Next Steps
  23. Related Resources
  24. 變更紀錄