Nhật ký của bạn không thể ghi lại những gì không xảy ra
Hầu hết các công cụ an toàn AI đều tìm kiếm các dấu vết (artifacts). Chúng tìm kiếm một mục nhật ký, một chữ ký hoặc kết quả của công cụ. Nếu kết quả công cụ là giả, hệ thống sẽ gắn cờ. Nếu một khối JSON bị lỗi, hệ thống sẽ phát hiện ra.
Đây là những lỗi dễ dàng vì chúng để lại dấu vết.
Nguy hiểm thực sự nằm ở sự bỏ sót. Sự bỏ sót là khi không có gì xảy ra cả.
Trong một nhật ký chỉ cho phép ghi thêm (append-only log), sự vắng mặt có thể hiểu theo ba cách:
- Nó đã không xảy ra.
- Nó vẫn chưa xảy ra.
- Nó đã xảy ra nhưng chưa bao giờ được ghi lại.
Nhật ký không hiển thị gì cả. Truy vấn kiểm tra (audit query) không trả về gì cả. Sự im lặng trở thành sự đồng thuận.
Bạn có thể khắc phục điều này bằng ba quy tắc thiết kế:
Đặt thời hạn cho sự im lặng Nếu một tác nhân (agent) thực hiện một hành động, người kiểm duyệt phải xác nhận (sign off) hành động đó. Một chữ ký bị thiếu chính là một lỗ hổng trong bảo mật của bạn. Đừng để trạng thái "pending" kéo dài mãi mãi. Hãy ấn định một thời hạn. Nếu quá thời hạn, hệ thống phải ghi lại một trạng thái kết thúc như
REVIEW_EXPIRED. Điều này biến một khoảng trống thành một lỗi có thể tìm kiếm được.Yêu cầu trích dẫn cho các khẳng định Các tác nhân thường sử dụng văn bản để mô tả thế giới. Một tác nhân có thể nói, "tệp tin đó trống rỗng." Nếu không có kết quả công cụ nào để chứng minh điều đó, khẳng định này sẽ trở nên nguy hiểm.
Nếu một khẳng định ảnh hưởng đến hành động trong tương lai, nó phải bao gồm một observation ID. Đừng cố đoán xem tác nhân có đang nói thật hay không. Chỉ cần kiểm tra xem khẳng định đó có trỏ đến một nguồn dữ liệu thực tế hay không. Một khẳng định không có trích dẫn là một thông điệp sai định dạng (malformed message).
- Sử dụng việc chia tách hai sự kiện cho các hành động Khi một tác nhân bắt đầu một tác vụ, chẳng hạn như gửi email, nó có thể bị dừng đột ngột trước khi kịp ghi lại kết quả. Điều này tạo ra một khoảng trống. Email đã được gửi chưa? Bạn có nên thử lại không?
Hãy sử dụng luồng này:
- Ghi thêm một sự kiện
INTENTvới một khóa duy nhất. - Thực hiện hành động.
- Ghi thêm một sự kiện
OUTCOME.
Giờ đây bạn có thể thấy được trạng thái trung gian. Nếu bạn có một INTENT nhưng không có OUTCOME, bạn sẽ biết chính xác hệ thống đã thất bại ở đâu. Bạn có thể đối soát trạng thái thay vì phải đoán mò.
Quy tắc rất đơn giản: Với mỗi thành công mà hệ thống của bạn ghi lại, hãy tự hỏi điều gì sẽ xảy ra khi bản ghi đó bị thiếu. Nếu câu trả lời là "không có gì," bạn đang có một điểm mù.
Hãy thiết kế các trạng thái tiêu cực của bạn như những bản ghi hạng nhất (first-class records). Hãy đặt tên cho chúng. Hãy chỉ định người quản lý chúng. Hãy để chúng làm thất bại các chốt kiểm soát (gates) của bạn.
Source: https://dev.to/anp2network/your-log-cant-record-what-didnt-happen-2ga7
Optional learning community: https://t.me/GyaanSetuAi
