VNPT

AI in the PR Review Loop (Stage 5: Deploy)

Đưa Claude Code vào PR Review Loop: thực thi chính sách REVIEW.md, tự động sửa comment qua tag @claude

Bài gốc: Anthropic Claude Academy reference/ai-native-sdlc/course/11-ai-in-the-pr-review-loop.md 2026-09-16 ~7 phút đọc

1. Những thay đổi: AI trong PR Review Loop

Claude đảm nhận cả hai vai trò: vừa đưa ra nhận xét review (gives reviews) vừa tiếp nhận review (receives reviews). Nó rà soát các PR gửi đến dựa trên chính sách của tổ chức và xử lý các nhận xét review trên chính các PR của nó. Điều này cho phép các kỹ sư tập trung vào hành vi trong lượt review PR, mà bản chất cốt lõi là đánh giá chủ đích (intent) và mức độ rủi ro (risk).

Ý chính

Nhiều tầng review bằng agent, con người rà soát các phần regulated/critical. Mọi PR đều nhận tập review passes đồng nhất; các phát hiện được xếp hạng theo mức độ nghiêm trọng. Trọng tâm của con người chuyển lên một tầng cao hơn: liệu thay đổi có đúng chủ đích trong kế hoạch (intent) và mức độ rủi ro có chấp nhận được hay không.

Khía cạnh PR Review truyền thống AI-Native PR Review Loop
Năng lực Review (Capacity) Năng lực review được hoạch định xoay quanh năng suất của con người. Một PR phải chờ reviewer đọc toàn bộ nội dung, chất lượng review biến thiên theo tải công việc của reviewer, và tác giả phải đôn đốc trong khi backlog review dồn ứ. Nhiều tầng review bằng agent, con người rà soát các phần regulated/critical (mã nguồn được kiểm soát và trọng yếu). Mọi PR đều nhận một tập hợp các lượt rà soát (review passes) đồng nhất, với các phát hiện được xếp hạng theo mức độ nghiêm trọng.
Trọng tâm Kỹ sư (Focus) Con người rà soát từng dòng mã nguồn, sa đà vào soi lỗi cú pháp, quy ước đặt tên (nits) và định dạng. Sự chú ý của con người được nâng lên một tầng cao hơn: tập trung đánh giá liệu thay đổi có thực hiện đúng những gì kế hoạch đã định ra (intent) và mức độ rủi ro (risk) có chấp nhận được hay không.
Chu trình Sửa lỗi (Fix Loop) Tác giả sửa thủ công từng nhận xét review, tạo ra nhiều vòng trao đổi qua lại kéo dài thời gian merge. Gắn thẻ @claude để agent tự động xử lý nhận xét review, sửa đổi mã nguồn và đẩy trực tiếp commit mới lên nhánh PR.

2. Sơ đồ PR Review Gate

Kiến trúc PR Review Loop nhiều tầng kiểm soát chất lượng mã nguồn trước khi merge:

  • Tầng 1 (L1 - Deterministic CI): Chạy unit tests, linter, phân tích tĩnh và các quy tắc kiểm tra tất định trong pipeline CI.
  • Tầng 2 (L2 - Nhiều tầng review bằng Agent / Layers of Agentic Review): Chạy các review passes độc lập theo chính sách REVIEW.md (Bugs, Security, Compliance đối chiếu spec.mdplan.md), xuất bảng kiểm đếm máy đọc được (machine-readable tally) theo mức độ nghiêm trọng.
  • Tầng 3 (L3 - Human Code Owner Approval): Con người rà soát các phần regulated/critical (mã nguồn trọng yếu và tuân thủ quy chuẩn). Chính sách branch protection bắt buộc sự phê duyệt từ code owner dựa trên bảng kiểm đếm và đánh giá chủ đích.
Sơ đồ tương tác: Multi-Layered PR Review Workflow Mở toàn màn hình ↗

3. Bắt đầu: Cấu hình REVIEW.md & Hạ tầng

Tech lead viết chính sách review dưới dạng tệp REVIEW.md tại thư mục gốc repository, phân chia thành các lượt rà soát (passes) mà tổ chức quan tâm:

  • Bugs: Lỗi logic, trường hợp biên bị hỏng (broken edge cases), suy thoái ngầm (subtle regressions).
  • Security: Nguy cơ injection, lỗ hổng xác thực (authentication gaps), dữ liệu định danh cá nhân (PII) trong log.
  • Compliance: Thay đổi khớp với spec.md (từ bài học requirements), plan.md (từ bài học plan mode) và các nguyên tắc thiết kế của tổ chức.

Cấu hình chuẩn REVIEW.md tại repo root:

# Review instructions
## Passes
Run three passes and tag each finding with its pass:
- Bugs: logic errors, broken edge cases, subtle regressions
- Security: injection risks, authentication gaps, PII in logs
- Compliance: the change matches spec.md, plan.md and our design principles
## What Important means here
Reserve Important for findings that would break behavior, leak data
or breach a policy. Style and naming are nits.
## Cap the nits
Report at most five nits per review; summarize the rest as a count.
## Do not report
Generated files under src/gen/ and anything CI already enforces.

4. Các bước thực thi: 6 bước review

1

Khởi đầu nhanh hoặc kiểm soát pipeline

Dịch vụ Code Review được quản lý (managed Code Review service) là khởi đầu nhanh nhất: quản trị viên kích hoạt và chọn các repository. Chạy review trong CI riêng với claude-code-action khi bạn cần toàn quyền kiểm soát pipeline hoặc muốn các lệnh gọi API được định tuyến qua thỏa thuận đám mây riêng của tổ chức (kết nối với quy trình CI/CD hỗ trợ canary deployment (triển khai thử nghiệm trên tỷ lệ nhỏ lưu lượng thực tế, ví dụ 5%) và rollback gate (chốt chặn tự động revert khi vượt ngưỡng lỗi)).

CI/CD pipeline
2

Soạn thảo chính sách REVIEW.md

Tech lead viết chính sách review dưới dạng REVIEW.md tại thư mục gốc repository, chia thành các passes mà tổ chức quan tâm: lỗi logic và bugs; bảo mật và lỗ hổng; tính tuân thủ đối với đặc tả (spec.md từ bài học requirements), kế hoạch thực thi (plan.md từ bài học plan mode) và các nguyên tắc thiết kế. REVIEW.md cũng định nghĩa những gì được tính là Important trái ngược với Nit, và những gì cần bỏ qua.

REVIEW.md policy
3

Thiết lập ngưỡng kiểm soát của con người

Tech lead thiết lập ngưỡng kiểm soát của con người (human threshold). Bản thân các phát hiện không tự động phê duyệt hay chặn PR, và chính sách bảo vệ nhánh (branch protection) vẫn yêu cầu sự phê duyệt từ code owner (con người rà soát các phần regulated/critical). Kỹ sư nền tảng (platform engineer) muốn thiết lập chốt chặn merge dựa trên các phát hiện có thể đọc số lượng theo mức độ nghiêm trọng mà check run xuất bản dưới dạng bảng kiểm đếm máy đọc được (machine-readable tally).

Branch Protection governance
4

Kích hoạt Fix Loop qua tag @claude

Khi reviewer hoặc tác giả gắn thẻ @claude trên nhận xét review, Claude sẽ xử lý nhận xét và đẩy bản sửa lỗi (push fix) lên. Luồng thảo luận PR ghi lại cả yêu cầu lẫn thay đổi. Chu trình sửa lỗi này chạy qua claude-code-action. Trong dịch vụ quản lý, bình luận @claude review sẽ yêu cầu một lượt review mới. Với các PR do Claude mở, có thể tiến xa hơn bằng cách để Claude theo dõi và chăm sóc PR cho đến khi merge (babysit the PR to merge). Các đội ngũ gói chu trình này vào một custom slash command để quét sạch (sweep) các nhận xét review chưa được giải quyết và các check thất bại trên PR, xử lý chúng và đẩy các bản sửa lỗi, cho đến khi PR đạt trạng thái xanh (green) và chỉ còn chờ sự phê duyệt của code owner.

fix loop @claude
5

Phản hồi ngược vào CLAUDE.md (Rule of Two)

Các phát hiện review phản hồi ngược vào CLAUDE.md. Khi một lượt review gắn cờ cùng một lỗi sai lần thứ hai, quy tắc khắc phục sẽ được đưa vào CLAUDE.md như một phần của chính đợt review đó. Vì lượt review luôn đọc CLAUDE.md, lỗi sai sẽ bị bắt ngay từ các PR tiếp theo trở đi. Lượt review cũng gắn cờ cảnh báo khi một thay đổi trong PR làm cho CLAUDE.md bị lỗi thời.

CLAUDE.md rule of two
6

Hiệu chỉnh định kỳ hàng tháng

Mỗi tháng một lần, tech lead tinh chỉnh thiết lập bằng cách đánh giá/xếp hạng các phát hiện (rating findings) để năng lực review của agent ngày càng hoàn thiện, đồng thời giới hạn số lượng Nit trong REVIEW.md. Các đường dẫn mã sinh tự động (generated paths) và bất kỳ nội dung nào CI đã thực thi đều được loại trừ.

maintenance tuning

5. Feedback Loop vào CLAUDE.md (Rule of Two)

Các phát hiện trong PR review không dừng lại ở việc sửa lỗi cục bộ mà cung cấp cơ chế phản hồi ngược (feedback loop) trực tiếp vào CLAUDE.md:

Rule of Two

Khi PR review phát hiện cùng một lỗi sai lần thứ hai, quy tắc khắc phục được đưa ngay vào CLAUDE.md tại repo root như một phần của chính đợt review đó. Vì quy trình review luôn đọc CLAUDE.md, sai sót sẽ được ngăn chặn tự động từ các PR tiếp theo trở đi.

Lượt review tuân thủ (compliance pass) cũng tự động gắn cờ cảnh báo khi thay đổi mã nguồn làm các chỉ dẫn trong CLAUDE.md trở nên lỗi thời, đảm bảo tài liệu sống luôn đồng bộ với thực tế codebase.

6. Kiểm soát & Đo lường

Nguyên tắc phân tách trách nhiệm (Separation of duties) được bảo toàn tuyệt đối: agent viết code không có cách nào tự phê duyệt (approve) mã của chính mình. Chính sách review trong REVIEW.md được áp dụng đồng nhất cho mọi PR. Mọi phát hiện (findings), bản sửa lỗi (fixes), đánh giá xếp hạng (ratings) và phê duyệt (approvals) đều được ghi nhận đầy đủ trong lịch sử PR, biến bản thân PR thành hồ sơ kiểm toán (audit record). Sự phê duyệt cuối cùng đến từ con người thông qua chính sách bảo vệ nhánh (branch protection), được cung cấp đầy đủ thông tin từ các phát hiện review — trong đó con người rà soát các phần regulated/critical (mã nguồn được kiểm soát và trọng yếu).

Phân loại chỉ số Chỉ số kỹ thuật (Metric) Phương pháp đo lường & Mục tiêu Nguồn dữ liệu kiểm toán
Leading Indicator Thời gian đến lượt review đầu tiên (Time to first review) Thời gian từ khi mở PR đến khi nhận kết quả review đầu tiên; mục tiêu giảm xuống chỉ còn vài phút. Lịch sử sự kiện PR được lưu trữ trực tiếp trên Git.
Leading Indicator Tỷ lệ nhận xét review được tự động giải quyết (Share of review comments resolved without a human touching the branch) Tỷ lệ phần trăm nhận xét review được giải quyết mà không cần con người phải can thiệp hay sửa đổi trực tiếp vào nhánh. Lịch sử commit và thread PR được lưu trữ trực tiếp trên Git.
Lagging Indicator Khiếm khuyết và lỗ hổng thoát ra production (Defects and vulnerabilities escaping to production) Số lượng lỗi và lỗ hổng bảo mật được phát hiện trước khi merge đối chiếu với số lượng lỗi lọt ra môi trường production. Lịch sử PR và hệ thống theo dõi sự cố phục vụ incident triage (phân loại và cô lập sự cố sản xuất).