𝗚𝘂𝗮𝗿𝗱𝗿𝗮𝗶𝗹𝘀 𝗳𝗼𝗿 𝗘𝗻𝘁𝗲𝗿𝗽𝗿𝗶𝘀𝗲 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀
Hầu hết các lời khuyên về guardrail cho AI đều nghe như một bài chào hàng. Chúng tập trung vào các sơ đồ bóng bẩy và danh sách kiểm tra.
Sự an toàn thực sự trong môi trường production ít hào nhoáng hơn. Nó dựa trên những thứ đã tồn tại từ rất lâu trước khi có LLM.
Tôi đã dành hai năm để xây dựng các AI agent cho một công ty trong danh sách Fortune 100. Các agent này xử lý các lỗi CI/CD, các sự cố Kubernetes và các tài liệu hạ tầng.
Dưới đây là các lớp bảo vệ (layered stack) mà chúng tôi sử dụng để giữ cho chúng an toàn.
Định danh tại ranh giới của agent. Mỗi agent sử dụng một workload identity. Nó không bao giờ sử dụng các thông tin xác thực dùng chung. Phạm vi IAM là giới hạn bảo mật của bạn. Nếu agent không cần truy cập cơ sở dữ liệu, vai trò IAM (IAM role) không được phép có quyền đó. Đây là cơ chế kiểm soát quan trọng nhất của bạn.
Danh sách cho phép công cụ (Tool allow-lists). Nền tảng sẽ quyết định agent có thể thấy những công cụ nào. Một agent tìm kiếm mã nguồn (code-search agent) không nên có công cụ gửi email. Chúng tôi sử dụng các cấu hình tĩnh (static configs) cho việc này. Chúng tôi không bao giờ sử dụng đăng ký công cụ động (dynamic tool registration).
Kiểm soát luồng dữ liệu ra mạng (Network egress controls). Các agent chỉ có thể kết nối tới các endpoint nằm trong danh sách cho phép. Chúng tôi sử dụng lọc DNS và một egress proxy. Điều này ngăn chặn việc các lỗi ảo giác (hallucinations) của mô hình dẫn đến việc truy cập nhầm các URL không mong muốn.
Cách ly bí mật (Secrets isolation). Các agent không bao giờ được thấy các thông tin bí mật (secrets) ở dạng thô. Chúng tôi sử dụng các token phiên ngắn hạn (short-lived session tokens) được chèn vào trong quá trình gọi công cụ. Đừng bao giờ đưa các bí mật vào prompt. Bất cứ thứ gì trong prompt đều có thể bị ghi lại (log) hoặc bị phát lại (replay).
Nhật ký kiểm tra đầy đủ (Full audit trails). Bạn phải ghi lại (log) mọi lượt gọi mô hình và mọi lượt gọi công cụ. Điều này bao gồm đầu vào, đầu ra, các tham số công cụ và định danh người dùng. Bạn cần điều này để hiểu chuyện gì đã xảy ra sai sót trong một sự cố.
Sự phê duyệt của con người. Đối với bất kỳ hành động nào làm thay đổi hệ thống lưu trữ dữ liệu gốc (system of record), nền tảng phải tạm dừng. Một con người phải phê duyệt hành động đó. Đây chính là lưới an toàn của bạn.
Hãy tránh những sai lầm phổ biến sau:
Chỉ dẫn ở cấp độ prompt. Việc bảo một mô hình "đừng bao giờ làm X" không phải là bảo mật. Người dùng có thể đánh lừa mô hình. Hãy chuyển việc kiểm soát xuống lớp IAM hoặc lớp công cụ.
Các bộ lọc PII chung chung. Những bộ lọc này có tỷ lệ lỗi cao. Tốt hơn hết là nên giới hạn quyền truy cập dữ liệu thông qua IAM để agent không bao giờ nhìn thấy thông tin nhạy cảm.
Các mô hình guardrail. Việc sử dụng một LLM thứ hai để chấm điểm LLM thứ nhất sẽ làm tăng độ trễ. Đó không phải là một cơ chế kiểm soát bảo mật thực sự. Nó chỉ là một mô hình kết hợp (model ensemble).
Những bài học tôi rút ra từ thực tế xương máu:
Sửa IAM trước khi chỉnh prompt. Tôi đã lãng phí thời gian để tinh chỉnh các prompt trong khi lẽ ra tôi nên thắt chặt các vai trò IAM. Hãy đưa các cơ chế kiểm soát xuống càng thấp trong các lớp (stack) càng tốt.
Hãy xây dựng nhật ký kiểm tra (audit trail) thật kỹ lưỡng. Chỉ ghi lại prompt và câu trả lời là không đủ. Bạn cần cả các lệnh gọi công cụ (tool calls) và tham số (arguments) trung gian. Việc ghi nhật ký sớm thì rẻ, nhưng sửa lỗi sau này thì rất tốn kém.
Giới hạn sự giao tiếp giữa các agent. Trong các hệ thống đa agent (multi-agent systems), hãy thiết lập một giới hạn cứng cho các cuộc gọi giữa các agent với nhau. Điều này giúp ngăn chặn các lỗi dây chuyền (cascading failures).
An toàn AI ở quy mô lớn không phải là vấn đề của mô hình. Đó là vấn đề của nền tảng. Hãy đối xử với các agent của bạn bằng kỷ luật vận hành tương tự như bất kỳ hệ thống production nào khác.
Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi