Guardrail là các lớp kiểm tra chạy độc lập với model, đứng ở hai đầu vào và ra để chặn trường hợp xấu. Nó không làm model thông minh hơn — vai trò như cái phanh, nên cũng không thay được việc viết prompt cho tốt.
Đầu vào — chặn trước khi tốn tiền gọi model:
- Phát hiện và che PII trước khi dữ liệu rời hệ thống.
- Phát hiện prompt injection: kết hợp luật đơn giản (bắt mẫu kiểu "bỏ qua chỉ dẫn phía trên") với classifier chuyên.
- Lọc phạm vi: bot tài chính bị hỏi chuyện y tế thì từ chối ngay, khỏi cần gọi model rồi mới chặn.
- Giới hạn độ dài và số lượt gọi — chống cả lạm dụng lẫn đốt ngân sách.
Đầu ra — chặn trước khi tới người dùng:
- Kiểm schema: output sai định dạng thì cho sinh lại, đừng để vỡ ở tầng dưới.
- Kiểm nội dung an toàn bằng classifier chuyên (Llama Guard phân loại theo nhóm tác hại).
- Quét rò rỉ PII — model có thể nhắc lại dữ liệu trong ngữ cảnh hoặc bịa ra thông tin cá nhân.
- Kiểm faithfulness với ngữ cảnh trong hệ RAG: một lượt kiểm thứ hai đối chiếu câu trả lời với tài liệu, thấp quá thì sinh lại. Đây là guardrail giá trị nhất của RAG.
- Chặn lộ system prompt.
Cách triển khai:
1. Chặn sớm ở đầu vào — vừa an toàn vừa tiết kiệm, vì không phải gọi model.
2. Sinh lại có giới hạn khi guardrail đầu ra bắt lỗi: thử lại một hai lần rồi mới trả lỗi, đừng lặp vô hạn.
3. Có câu trả lời dự phòng an toàn, thay vì để trống hoặc văng lỗi kỹ thuật ra người dùng.
4. Log mỗi lần guardrail kích hoạt và cảnh báo khi tỉ lệ chặn tăng đột biến — đó thường là dấu hiệu đang bị dò tìm chứ không phải người dùng đổi hành vi.
5. Nhiều lớp, đừng dựa vào một lớp. Bộ lọc đầu vào luôn có kiểu tấn công chưa lường tới, và khi đó lớp đầu ra là thứ còn lại.
Đánh đổi phải nói rõ: mỗi guardrail thêm một chút độ trễ, và guardrail quá chặt sẽ chặn cả yêu cầu hợp lệ. Phải theo dõi tỉ lệ chặn nhầm ngang với tỉ lệ bỏ sót, nếu không sẽ dựng ra một hệ an toàn nhưng không ai dùng được.
Công cụ: NeMo Guardrails, Guardrails AI, LLM Guard, Llama Guard.