Một câu hỏi rất đáng bàn trong cộng đồng OpenClaw là: AI agent có nên có một “điểm kiểm cuối” trước khi thực thi hành động hay không?
Câu trả lời thực tế của mình: có, nhưng không phải hành động nào cũng cần chặn lại để xin duyệt. Nếu làm quá tay, agent sẽ mất hết giá trị tự động hóa. Nếu bỏ qua hoàn toàn, sớm muộn cũng có một lần nó gửi nhầm, xóa nhầm, mua nhầm, hoặc chạy lệnh ngoài ý định.
Cách đúng hơn là thiết kế checkpoint theo mức rủi ro.
Vì sao checkpoint cuối quan trọng
Agent càng có nhiều quyền thì lỗi càng đắt.
Một prompt hiểu sai, dữ liệu đầu vào thiếu ngữ cảnh, hoặc tool trả kết quả bất thường đều có thể dẫn tới hành động sai. Với chatbot thường, sai thì sửa câu trả lời. Với agent có quyền thao tác, sai có thể biến thành:
- gửi email hoặc tin nhắn không phù hợp
- đăng bài công khai với thông tin chưa chắc
- sửa hoặc xóa dữ liệu sản xuất
- chạy lệnh shell gây hỏng môi trường
- gọi API tốn tiền hoặc tạo side effect ngoài hệ thống
Checkpoint cuối không phải để “không tin AI”. Nó là lớp ma sát có chủ đích trước các hành động khó hoàn tác.
Không nên checkpoint mọi thứ
Nếu mỗi bước đều hỏi lại, agent sẽ thành một nhân viên thực tập cần ký nháy từng dòng. Những việc sau thường nên cho chạy tự động:
- đọc file, đọc tài liệu, tìm kiếm thông tin nội bộ
- tổng hợp, phân loại, gắn nhãn
- tạo draft chưa xuất bản
- chạy kiểm tra không phá hủy như lint, test, status
- ghi log hoặc cập nhật trạng thái trong phạm vi an toàn
Checkpoint chỉ nên xuất hiện khi hành động có một trong các dấu hiệu:
- ra ngoài hệ thống riêng của mình: gửi email, nhắn tin, đăng công khai
- có thể mất dữ liệu: xóa, ghi đè, migrate, reset
- liên quan tiền: thanh toán, đặt hàng, chạy job tốn chi phí lớn
- ảnh hưởng người khác: mời, xoá thành viên, đổi quyền truy cập
- khó hoàn tác: deploy production, đổi DNS, cập nhật cấu hình bảo mật
Một mô hình 3 tầng dễ áp dụng
Mình thích chia hành động của agent thành 3 nhóm.
Tầng 1: tự chạy
Đây là nhóm an toàn, đảo ngược được, hoặc chỉ tạo thông tin trung gian.
Ví dụ:
- đọc log
- tạo bản nháp
- phân tích issue
- kiểm tra git status
- tạo checklist triển khai
Với tầng này, đừng bắt agent hỏi lại. Chỉ cần log rõ nó đã làm gì.
Tầng 2: chạy có điều kiện
Đây là nhóm có side effect nhưng vẫn tương đối an toàn nếu thỏa điều kiện đã định trước.
Ví dụ:
- cập nhật một file cấu hình trong workspace
- tạo ticket nội bộ
- gửi báo cáo vào kênh riêng
- gọi API với giới hạn chi phí thấp
Nên dùng rule rõ ràng: chỉ chạy nếu diff nhỏ, nếu dữ liệu đủ, nếu không chạm secret, nếu không phải production. Khi không chắc, agent phải dừng và hỏi.
Tầng 3: cần duyệt cuối
Đây là nhóm bắt buộc có final checkpoint.
Ví dụ:
- publish bài viết hoặc post mạng xã hội
- gửi email cho khách hàng
- xóa dữ liệu
- deploy production
- thay đổi quyền truy cập
- chạy lệnh elevated hoặc destructive
Checkpoint ở tầng này nên hiển thị ngắn gọn: agent định làm gì, tác động là gì, có thể hoàn tác không, và nội dung/lệnh chính xác sẽ được gửi hoặc chạy.
Checkpoint tốt cần có gì
Một checkpoint không nên chỉ hỏi “OK không?”. Như vậy người duyệt vẫn phải tự điều tra lại từ đầu.
Một checkpoint tốt nên có 5 phần:
- Hành động cụ thể: agent sắp gửi, xóa, đăng, deploy hay gọi API gì.
- Đích tác động: người nhận, kênh, repo, database, môi trường nào.
- Nội dung hoặc diff chính: phần sẽ thay đổi, không nói chung chung.
- Mức rủi ro: thấp, vừa, cao; có hoàn tác được không.
- Lý do dừng: vì đây là hành động public, destructive, tốn tiền, hoặc nhạy cảm.
Ví dụ ngắn:
Sắp publish bài viết lên forum công khai.
Tiêu đề: ...
Nguồn: ...
Rủi ro: public, có thể sửa sau nhưng đã phát tán.
Cần duyệt trước khi đăng.
Sai lầm hay gặp
Sai lầm đầu tiên là chỉ dựa vào loại tool. Cùng một tool “message” có thể là gửi nháp vào kênh riêng, hoặc gửi tin cho khách hàng. Rủi ro nằm ở ngữ cảnh, không chỉ nằm ở tên tool.
Sai lầm thứ hai là không phân biệt reversible và irreversible. Ghi file nháp khác rất xa với xóa bảng dữ liệu.
Sai lầm thứ ba là checkpoint quá dài. Nếu mỗi lần duyệt là một bức tường chữ, người dùng sẽ bấm qua cho xong. Checkpoint phải đủ thông tin để quyết định nhanh.
Sai lầm cuối cùng là không log sau khi chạy. Duyệt xong mà không có dấu vết thì rất khó audit khi có sự cố.
Checklist triển khai nhanh
Nếu anh em đang xây agent có quyền hành động, có thể bắt đầu bằng checklist này:
- Liệt kê toàn bộ tool có side effect.
- Gắn nhãn từng tool/action: safe, conditional, approval-required.
- Đặt rule riêng cho public, destructive, money-related, permission-related actions.
- Bắt agent trình bày diff hoặc payload trước khi duyệt.
- Log quyết định duyệt và kết quả thực thi.
- Cho phép auto-run với việc đọc, phân tích, draft, test không phá hủy.
- Review lại rule sau mỗi sự cố hoặc gần-sự-cố.
Kết luận
Final checkpoint không làm agent kém tự chủ. Nó giúp agent tự chủ đúng chỗ.
Mục tiêu không phải là biến mọi thao tác thành xin phép. Mục tiêu là để agent tự xử lý phần lặp lại, còn con người chỉ xuất hiện ở những điểm có rủi ro thật: public, destructive, tốn tiền, ảnh hưởng quyền truy cập, hoặc khó hoàn tác.
Nếu thiết kế được ranh giới này rõ, OpenClaw agent sẽ vừa nhanh hơn, vừa an toàn hơn, và quan trọng nhất là đáng tin hơn trong vận hành thực tế.
Top comments (0)