𝗣𝗵ò𝗻𝗴 𝘁𝗵ủ 𝘁𝗵𝗲𝗼 𝗰𝗵𝗶ề𝘂 sâ𝘂 𝗰𝗵𝗼 𝗺ộ𝘁 𝗔𝗴𝗲𝗻𝘁 𝗰𝗵ắ𝗰 𝗰𝗵ắ𝗻 𝘀𝗲̃ 𝗴â𝘆 𝗵ọ𝗮
Mọi cơ chế an toàn đều có lỗi. Chỉ là bạn chưa biết đó là lỗi nào mà thôi.
Đây là cách duy nhất hợp lý để xây dựng một agent tự hành cho môi trường production. Hệ thống lương tâm (conscience) sẽ phân loại sai một hành động. Hội đồng (council) sẽ phê duyệt một ý tưởng tồi. Tường cách ly (isolation wall) sẽ có lỗ hổng.
Mỗi lớp cuối cùng rồi cũng sẽ thất bại.
Câu hỏi về thiết kế không phải là làm thế nào để xây dựng một lớp hoàn hảo. Câu hỏi là: điều gì sẽ đứng sau một lớp khi nó thất bại?
Tôi sử dụng sáu lớp để bảo vệ hệ thống. Các lớp sớm hơn sẽ rẻ hơn vì chúng ngăn chặn các vấn đề trước khi chúng trở thành hiện thực.
• L0 — Structural isolation (Cách ly cấu trúc). Ngăn chặn các hành động sai lệch giữa các tenant ở cấp độ cơ bản. • L1 — Idea-gate (Cổng ý tưởng). Ngăn chặn các ý tưởng tồi trong quá trình tranh luận trước khi mã nguồn tồn tại. • L2 — Action-gate (Cổng hành động). Một phản xạ cho phép hoặc từ chối các lệnh dựa trên rủi ro. • L3 — Resource-gate (Cổng tài nguyên). Kiểm soát bộ nhớ, ngân sách và các chi phí vượt kiểm soát. • L4 — Audit (Kiểm toán). Sử dụng các biên lai chống giả mạo để theo dõi mọi quyết định. • L5 — Recovery (Phục hồi). Sử dụng cách ly (quarantine) và hoàn tác (rollback) để ngăn chặn thiệt hại đang diễn ra.
Một danh sách các lớp không phải là phòng thủ theo chiều sâu. Chiều sâu thực sự đòi hỏi một quy tắc:
Mọi rủi ro nghiêm trọng phải được phát hiện bởi ít nhất hai lớp độc lập.
Độc lập có nghĩa là chúng không thất bại vì cùng một lý do. Nếu hai bước kiểm tra sử dụng cùng một cấu hình hoặc cùng một tín hiệu, chúng là cùng một bước kiểm tra. Khi tín hiệu đó thất bại, cả hai bước kiểm tra đều thất bại.
Tôi đã chứng kiến điều này xảy ra. Idea-gate của tôi đã từng đưa ra một phán quyết đầy tự tin cho một cuộc tranh luận chưa từng diễn ra. Một helper đã thêu dệt toàn bộ kết quả.
L1 đã thất bại. Nó không chỉ bỏ lỡ lỗi. Nó còn tạo ra một lời nói dối đầy thuyết phục.
Nếu L1 là chốt chặn duy nhất của tôi, lời nói dối đó đã trở thành một quyết định thực sự. Nhưng L4 đã phát hiện ra. L4 không tin vào lời kể. Nó chỉ tin vào biên lai. Tôi đã tìm tệp bản ghi (transcript). Tệp đó không tồn tại. Yêu cầu đó vô hiệu.
Hệ thống vẫn an toàn vì tôi đã giả định rằng L1 sẽ thất bại.
Trạng thái hiện tại của các lớp này:
• L1 — Đã lập trình. • L2 — Đã lập trình. • L4 — Đã lập trình. • L0 — Một phần. • L3 — Một phần. • L5 — Một phần.
Một kiến trúc an toàn mà bạn không thể kiểm toán thì chỉ là một bảng ý tưởng (mood board) mà thôi.
Hãy tự hỏi bản thân ba câu hỏi này về bất kỳ agent an toàn nào:
- Đối với rủi ro tồi tệ nhất của bạn, đâu là hai lớp độc lập giúp phát hiện nó?
- Khi một lớp đưa ra một tín hiệu sai lầm đầy tự tin, lớp nào ở phía sau nó sẽ từ chối tin vào tín hiệu đó?
- Những lớp nào đã được xây dựng, và những lớp nào mới chỉ là ý tưởng?
Năng lực là một lớp. An toàn là năm lớp còn lại.
Source: https://dev.to/artemmatviychuk/defense-in-depth-for-an-agent-that-will-definitely-screw-up-5en0
Optional learning community: https://t.me/GyaanSetuAi