Đăng ngày 08/11/2026
Giao việc cho agy và để Claude nghiệm thu: lần chạy thử đầu tiên
Kinh nghiệm chạy thử quy trình ba bước Planner, Execute, Audit giữa Claude Code và Antigravity CLI, hai tầng kiểm tra và những lỗi chỉ tìm ra khi đọc bài.
- Antigravity
- Claude Code
- Tự động hóa
- Kiểm thử

Mình dùng hai công cụ: Claude Code và Antigravity CLI (agy, bản 1.5.2, model Gemini 3.8 Flash (High)). Mình chỉ giao agy khi nói rõ, còn lại Claude tự làm. Câu hỏi là có nên tin lời agy báo xong không. Ngày 07/11/2026, mình chạy thử quy trình phối hợp trên repo này để soạn bài blog.
Ba giai đoạn và ranh giới an toàn
Skill giao-viec-agy có ba giai đoạn: Planner (Claude khảo sát, dựng brief đủ ngữ cảnh thay vì chuyển nguyên văn), Execute (agy làm), và Audit (Claude xem diff, chạy script kiểm tra, nghiệm thu).
Do agy chạy cờ --dangerously-skip-permissions (sửa tệp không hỏi lại), phải có commit sạch để xem diff và hoàn tác. Kinh nghiệm trong skill: không tin mã thoát hay lời agy báo xong; khẳng định đã kiểm tra không phải bằng chứng.
Diễn biến lần chạy thử
Lần chạy thật đầu tiên là giao agy soạn bài blog về làm video dọc bằng code:
Planner. Tạo nhánh riêng, commit mốc 33d8161 sạch. Claude viết tệp dữ kiện thật làm nguồn duy nhất, dựng brief nêu vai trò, phạm vi đọc, phạm vi ghi (đúng 3 mục: tệp MDX, ảnh bìa, bảng kích thước ảnh sinh bằng script), danh sách cấm (package.json, cấu hình, dữ liệu trang, scripts/...) và cách nghiệm thu.
Chặn an toàn. Lần gọi đầu bị Claude Code chặn vì "Create Unsafe Agents" do cờ bỏ qua quyền; chỉ chạy khi mình cho phép.
Execute. Agy đạt status: SUCCESS, 1 lượt, JSON báo 191.842 token. Agy tự tạo ảnh bìa, đổi sang WebP 800x597, 27 KB (bản gốc JPEG 429 KB tại brain ổ C), tự kiểm tra và báo mọi lệnh exit 0.
Hai tầng kiểm tra và ba lỗi sót
Audit lần 1 với mốc 33d8161, kiểm tra tự động đều đạt:
| Hạng mục | Kết quả | Ghi chú thực tế |
|---|---|---|
| Phạm vi ghi | PASS | Đúng 3 tệp, không đụng tệp cấm |
| Secret | PASS | Không chứa khóa hay token |
| Ảnh bài | PASS | WebP 27 KB (dưới 300 KB), có trong bảng kích thước |
| Chặn nội dung | PASS | Đạt chuẩn MDX, không mã ngoài quy tắc |
| Số liệu | PASS | Mọi số trong bài có trong tệp dữ kiện |
| Typecheck và build | PASS | Đều qua (exit 0) |
Dù vậy, khi Claude đọc bài thì tìm ra 3 lỗi:
- Câu mở đầu thêm hai chi tiết ngoài dữ kiện: "cho kênh kỹ sư AI" và "để kiểm soát bằng mã thay vì kéo thả thủ công".
- Bài ngôi thứ nhất nhưng gọi "tác giả" và "chủ kênh" ở ngôi thứ ba.
- Cụm từ "Ghi chú để lại", "Ghi chú kết luận" đọc như người ngoài kể lại ghi chú.
Vòng sửa nhanh và nghiệm thu
Claude mở vòng sửa ngắn (REFACTOR), gửi brief vào cùng cuộc hội thoại bằng --conversation <id>, nêu đúng tệp, 3 lỗi, cách sửa, cấm đụng tệp khác và không đổi số liệu.
Agy xong sau 2 lượt (status: SUCCESS), JSON lượt hai báo 226.272 token (chưa rõ cộng dồn hay riêng lượt). Theo dấu thời gian tệp, lượt sửa mất chưa đầy 2 phút (ước tính, chưa đo lượt đầu).
Audit lần 2, kiểm tra tự động vẫn đạt; Claude đọc lại dòng sửa, đúng yêu cầu. Claude xóa đúng một ảnh gốc trên ổ C, giữ transcript, kiểm lại còn 0 ảnh. Bài được merge khi mình duyệt và nói push.
Bộ nghiệm thu dựng cho quy trình
Bộ công cụ nghiệm thu gồm:
scripts/check-content.mjs: chặn trước build (prebuild). MDX là mã chạy được và agy bỏ qua quyền, script từ chốiimport,export, ngoặc nhọn ngoài khối mã, thẻ HTML, ảnh và liên kết ngoài quy tắc; vi phạm thì build thất bại.scripts/audit-agy.mjs: so mốc git, kiểm phạm vi ghi, tệp cấm, secret, ảnh (WebP, dưới 300 KB, có trong bảng kích thước), chạy script chặn nội dung và đối soát số. Đã thử trên trường hợp xấu (sửapackage.json, khóask-, ảnh PNG 400 KB chưa đăng ký), script báo FAIL đúng từng mục..claude/agents/agy-auditor.md: agent chỉ đọc (Read, Grep, Glob, Bash, không sửa tệp), đã dựng và push nhưng chưa chạy lần nào trong lần thử này; ở bước Audit, Claude tự đọc bài.docs/agy-brief-base.md: có mục "Lớp lỗi đã gặp", đã thêm hai lớp lỗi ở mục 1 và 2.
Skill ghi giới hạn: brief dài quá 28.000 ký tự vượt giới hạn tham số Windows (cần ghi ra tệp); hết --print-timeout agy thoát mã 3 (cần đọc status, finished_reason, mã thoát, stderr).
Hạn chế cần nói rõ
Nếu bạn cũng đang phân chia việc cho AI agent, mình rất muốn nghe chia sẻ về cách bạn kiểm tra và nghiệm thu sản phẩm.