← Tất cả bài viết
19.08.2026

Verification Before Completion: khi AI báo "đã xong" mà chưa hề kiểm chứng

Verification Before Completion: khi AI báo "đã xong" mà chưa hề kiểm chứng
Nguyễn Ngọc Hải 7 phút đọc

Vì sao cần skill này

Ai dùng AI để code đều từng gặp cảnh này: bạn nhờ sửa một lỗi, AI hí hửng báo "Đã sửa xong! ✅" — nhưng chạy lại thì lỗi vẫn còn. Hoặc AI tuyên bố "Tất cả test đã pass" trong khi thực ra nó… chưa chạy test lần nào, chỉ đoán là sẽ pass. Đây là một trong những tật khó chịu và nguy hiểm nhất của trợ lý AI: tuyên bố hoàn thành mà không có bằng chứng.

Cái giá của nó không nhỏ: bạn tin lời "đã xong", commit code, chuyển sang việc khác — rồi lỗi nổ ra ở nơi khác, muộn hơn, đắt hơn. Verification Before Completion đóng gói một kỷ luật đơn giản nhưng nghiêm khắc để chặn đúng chỗ đó, với một nguyên tắc lõi: "Có bằng chứng rồi mới được tuyên bố — luôn luôn."

Skill này làm được gì

Skill nạp cho Claude một "luật thép": không được đưa ra bất kỳ tuyên bố hoàn thành nào nếu chưa chạy lệnh kiểm chứng ngay trong lượt đó và xem kết quả thật. Cụ thể, trước khi nói "xong", Claude phải đi qua một "cổng" 5 bước:

  1. Xác định: lệnh nào chứng minh được tuyên bố này? (ví dụ: lệnh chạy test, lệnh build)
  2. Chạy: thực thi đầy đủ lệnh đó (mới, trọn vẹn — không dựa vào lần chạy cũ).
  3. Đọc: xem toàn bộ kết quả, kiểm mã thoát (exit code), đếm số lỗi.
  4. Đối chiếu: kết quả có thật sự xác nhận tuyên bố không? Nếu không — nêu đúng trạng thái thật kèm bằng chứng.
  5. Chỉ khi đó: mới được đưa ra tuyên bố, kèm bằng chứng.

Skill còn có những phần rất "đời":

  • Bảng các lỗi thường gặp: ví dụ "test pass" thì phải có kết quả lệnh test: 0 lỗi — chứ không phải "lần trước chạy ổn" hay "chắc là pass"; "đã sửa bug" thì phải chạy lại đúng triệu chứng gốc và thấy nó hết — chứ không phải "đã đổi code nên chắc hết".
  • Cờ đỏ phải DỪNG: khi thấy mình dùng từ "chắc là", "có vẻ", "hẳn là…"; khi buột miệng "Tuyệt! Xong rồi!" trước khi kiểm; khi sắp commit/push mà chưa xác minh; khi tin lời báo "thành công" của một agent khác.
  • Chặn nguỵ biện: bảng đối chiếu các lý do bao biện ("tôi tự tin", "chỉ lần này thôi", "tôi mệt rồi") với thực tế ("tự tin ≠ bằng chứng", "không có ngoại lệ", "mệt không phải cái cớ").
  • Áp cả cho việc giao cho agent: agent báo "xong" thì vẫn phải tự mình kiểm (xem diff trong hệ quản lý phiên bản) rồi mới tin.

Tinh thần xuyên suốt: "vi phạm câu chữ của luật cũng là vi phạm tinh thần của luật" — đổi cách nói cho nhẹ đi (để lách) vẫn bị tính là vi phạm.

Giải quyết vấn đề gì — cho ai ở VNPAY

Giá trị trực tiếp — cho Khối Công nghệ, nhất là đội dùng AI để code. Đây là "liều thuốc" trị đúng tật over-claim của các công cụ AI coding (Claude Code, Cursor…): thay vì tin lời "đã xong", AI buộc phải chứng minh bằng kết quả lệnh thật. Trong môi trường tài chính đòi hỏi chất lượng cao và ít lỗi, kỷ luật "có bằng chứng mới được nói xong" là vô cùng đáng giá. Đây là "người anh em" của các skill Root Cause Tracing và Writing Plans — cùng bộ kỹ năng làm việc kỷ luật với AI trên codebase.

Giá trị gián tiếp — cho PM & P&T. Bạn không viết code, nhưng nguyên lý cốt lõi thì áp thẳng vào quản trị: đừng đánh dấu một việc/mốc là "hoàn thành" khi chưa kiểm chứng nó thật sự đạt yêu cầu.

  • Trước khi báo cáo "đã xong" cho lãnh đạo/đối tác, hãy đối chiếu bằng chứng thực tế với tiêu chí nghiệm thu — không dựa vào lời "chắc ổn" của một bên.
  • Đây chính là tinh thần của "định nghĩa hoàn thành" (definition of done) và nghiệm thu theo tiêu chí: một đầu việc chỉ "xong" khi có bằng chứng đạt yêu cầu, không phải khi ai đó nói là xong.

Nói ngắn gọn: skill này chống đúng một cái bẫy chung của cả người lẫn AI — nhầm "tin là xong" với "đã kiểm chứng là xong".

Đặt kỳ vọng đúng

  • Đây là skill kỷ luật/hành vi, không chạy script. Nó thay đổi cách Claude làm việc: cố ý "làm chậm lại" khoảnh khắc tuyên bố xong, để đổi lấy sự chắc chắn.
  • Phát huy nhất trong Claude Code, nơi có các lệnh kiểm chứng thật để chạy (test, build, linter). Ở môi trường chat thuần, tinh thần vẫn đúng nhưng ít "lệnh" để chạy.
  • Nó nghiêm khắc một cách có chủ đích. Skill sẽ không cho phép nói "chắc là ổn"; đó là tính năng, không phải phiền phức.

Điều kiện để dùng

  • Hợp nhất với Claude Code (có thể chạy lệnh kiểm chứng trên codebase).
  • Cần gói Claude hỗ trợ Skills (Pro, Max, Team hoặc Enterprise).

Hướng dẫn upload skill lên Claude Desktop

Sau khi tải file skill về, làm theo 3 bước:

Bước 1 — Mở Customize. Trong giao diện Claude Desktop, bấm "Customize" ở góc trên bên trái.

Bước 2 — Mở menu Add. Trong màn hình Customize, bấm vào dropdown của phần "Add" ở góc trên bên phải.

Bước 3 — Upload skill. Chọn "Upload skill", rồi trỏ tới file skill của bạn.

Lưu ý về định dạng file: skill cần ở dạng thư mục chứa SKILL.md. Nếu tải về từ site nội bộ dưới dạng .zip, cứ upload file .zip đó — bên trong đã là đúng cấu trúc skill.

Upload xong, skill nằm sẵn trong danh sách kỹ năng và Claude tự biết khi nào cần gọi.

Các cách gọi skill lên

1. Để Claude tự nhận diện (khuyên dùng). Skill được thiết kế để tự kích hoạt mỗi khi Claude sắp tuyên bố "xong/đã sửa/đã pass" — nên trong nhiều trường hợp bạn không cần gọi, nó tự áp dụng.

2. Bật kỷ luật này ngay từ đầu phiên làm việc:

"Trong phiên này, đừng tuyên bố bất cứ việc gì đã xong nếu chưa chạy lệnh kiểm chứng và cho tôi xem kết quả."

3. Gọi đích danh khi cần chắc chắn:

"Dùng verification-before-completion: xác minh đầy đủ trước khi nói phần này đã hoàn thành."

4. Yêu cầu bằng chứng cho một tuyên bố cụ thể:

"Bạn nói test đã pass — hãy chạy lại và cho tôi xem kết quả (số test pass/fail, exit code)."

Gợi ý dùng hiệu quả: hãy coi trọng đúng tinh thần của skill — khi thấy Claude (hoặc chính mình) buột miệng "chắc ổn rồi", đó là lúc phải dừng lại chạy kiểm chứng.

Lưu ý cho môi trường VNPAY

  • Skill này không truy cập dữ liệu hay chạy thao tác nguy hiểm — nó chỉ bắt kiểm chứng. Rủi ro thấp, giá trị cao.
  • Với hệ thống liên quan giao dịch/tài chính, kỷ luật "có bằng chứng mới được nói xong" đặc biệt đáng giá — nhưng vẫn cần con người có chuyên môn duyệt trước khi đưa vào vận hành thật.

(Đây là khuyến nghị chung; team cần đối chiếu với chính sách nội bộ hiện hành của VNPAY.)

Tóm lại

Verification Before Completion trị đúng một cái bẫy mà cả AI lẫn con người đều dễ mắc: nhầm "tin là xong" với "đã kiểm chứng là xong". Nó buộc mọi tuyên bố hoàn thành phải đi kèm bằng chứng thật — chạy lệnh, xem kết quả, rồi mới nói. Với đội kỹ thuật dùng AI, đây là hàng rào chống code lỗi lọt qua vì một lời "đã sửa xong" hấp tấp. Với PM và P&T, đó là tinh thần của "định nghĩa hoàn thành" đáng mang theo mỗi khi báo cáo một việc là đã xong — dù để dùng skill này đúng nghĩa nhất, bạn cần đang làm việc với code.


Download file:


References

  1. Anthropic Agent Skills — Claude Platform Docs. Available at: https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview (Accessed: 19/08/2026).
  2. Skill nguồn: verification-before-completion (tải từ GitHub).