Approval gate xử lý từng hành động một. Nhưng một số sự cố chỉ lộ ra ở quy mô: agent bắt đầu hoàn tiền cho mọi đơn vì hiểu sai một luật, hay gửi 500 tin nhắn trong một phút. Bài này lo tầng giám sát chủ động — phát hiện và dừng khi mọi thứ đang trượt bánh.
Kill switch: cái phanh khẩn cấp
Mọi agent production phải có nút dừng tức thì, toàn cục. Khi bật, agent ngừng nhận việc mới và không thực thi hành động write nào nữa.
def gated_execute(action, ctx):
if kill_switch.is_on():
audit("system", action.name, action.params,
reasoning="Bị chặn bởi kill switch", risk=0, level="blocked")
raise Halted("Agent đang bị tạm dừng khẩn cấp")
... # phần còn lại như Bài 3
Kill switch phải: bật được bởi người không phải kỹ sư (một nút trên dashboard), có hiệu lực trong vài giây, và fail-safe — nếu không chắc trạng thái, mặc định là dừng.
Rate limit và circuit breaker
Ngoài phanh tay thủ công, cần phanh tự động:
- Rate limit: giới hạn số hành động write/phút. Agent chỉ hoàn tối đa 20 đơn/giờ; vượt ngưỡng thì tự treo và cảnh báo.
- Circuit breaker: nếu tỉ lệ lỗi/từ chối vượt mức (ví dụ 30% hành động gần đây bị người từ chối), tự ngắt và bắt mọi hành động phải qua người duyệt.
if window_stats.write_count(minutes=1) > RATE_LIMIT:
trip_breaker("Vượt rate limit ghi")
if window_stats.rejection_rate(last=20) > 0.3:
trip_breaker("Người duyệt từ chối quá nhiều -> agent có thể sai")
Circuit breaker biến một loạt sai lầm nhỏ thành một tín hiệu dừng lớn — thay vì để agent "kiên trì" làm sai hàng trăm lần.
Cảnh báo có thể hành động
Human-on-the-loop chỉ hiệu quả nếu người giám sát biết khi nào cần nhìn. Cảnh báo tốt phải: đúng người, đúng lúc, kèm ngữ cảnh và hành động gợi ý.
Ví dụ cảnh báo tốt: "Refund-bot vừa hoàn 12 đơn trong 5 phút (bình thường 2). Circuit breaker đã ngắt. [Xem chi tiết] [Khôi phục] [Giữ dừng]".
So với cảnh báo tệ: "Warning: high activity".
Các bước dựng giám sát chủ động
- Thêm kill switch toàn cục kiểm tra ở đầu mọi lần thực thi write.
- Đặt rate limit cho từng loại hành động nhạy cảm, dựa trên baseline bình thường.
- Thêm circuit breaker theo tỉ lệ lỗi/từ chối; định nghĩa điều kiện tự ngắt và tự khôi phục.
- Định nghĩa tín hiệu bất thường (spike số lượng, giá trị vượt trần, lặp mẫu lạ).
- Xây cảnh báo có ngữ cảnh + nút hành động tới đúng kênh của người trực.
- Diễn tập sự cố (game day): cố tình kích hoạt và đo thời gian từ phát hiện đến dừng.
Khung tư duy: ba lớp lưới an toàn
Lớp 1: Gate (Bài 3) - chặn từng hành động rủi ro
Lớp 2: Undo/idempotency - sửa sai sau khi lỡ chạy
Lớp 3: Giám sát chủ động - dừng khi sai ở quy mô
Mỗi lớp bắt loại lỗi mà lớp khác bỏ sót. Đừng dựa vào một lớp duy nhất.
Sai lầm thường gặp
- Kill switch chỉ kỹ sư mới bật được. Sự cố xảy ra ngoài giờ; người trực nghiệp vụ phải tự dừng được qua một nút đơn giản.
- Không có phanh tự động. Chỉ dựa vào con người phát hiện thì quá chậm khi agent chạy hàng trăm hành động/phút.
- Cảnh báo không hành động được. "High activity" khiến người trực phải tự điều tra từ đầu — chậm và dễ bỏ qua.
- Alert quá nhiều thành nhiễu. Cảnh báo tràn lan gây "alert fatigue", người ta tắt thông báo và bỏ lỡ cái thật.
- Không diễn tập. Kill switch chưa bao giờ được thử thường hỏng đúng lúc cần nhất.