AI Agent gọi nhầm tool: thiết kế tool permission và policy thế nào?
Cách thiết kế quyền và policy cho AI Agent theo least privilege, ABAC, risk tier, approval và fail closed để tool call sai không trở thành hành động thật.

AI Agent gọi nhầm tool không nên dẫn thẳng đến gửi email, xóa dữ liệu, hoàn tiền hay thay đổi quyền truy cập. Thiết kế an toàn là xem output của model như một đề xuất hành động chưa được tin cậy. Mọi tool call phải đi qua một lớp thực thi độc lập, kiểm tra lại danh tính người dùng và agent, tool được phép, action, resource, tenant, tham số, mức rủi ro, giới hạn và điều kiện phê duyệt. Chỉ khi policy trả về allow, backend mới dùng credential có phạm vi hẹp để gọi hệ thống đích.
Công thức thực tế là: model chọn tool ≠ model có quyền thực thi tool. Prompt, mô tả tool và JSON Schema giúp model chọn đúng hơn nhưng không thay thế authorization. Nếu không đủ context, policy lỗi, token hết hạn, resource không thuộc tenant hoặc hành động vượt thẩm quyền, hệ thống phải deny hay yêu cầu bổ sung/phê duyệt — không tự suy đoán để tiếp tục.
Rủi ro gốc
Vì sao tool call đúng format vẫn có thể nguy hiểm?
Sai tool, sai đối tượng hoặc sai chuỗi hành động đều có thể xảy ra dù JSON hợp lệ.
Model có thể chọn delete_customer thay cho archive_customer, gắn đúng tool nhưng truyền nhầm customerId, hoặc kết hợp nhiều thao tác hợp lệ thành một chuỗi gây hậu quả ngoài ý định. Indirect prompt injection trong email, tài liệu hoặc trang web cũng có thể tác động đến tool và arguments mà agent chọn.
Có bốn lớp lỗi cần tách riêng:
- Selection error: chọn nhầm tool hoặc nhầm action.
- thiếu, sai kiểu hoặc trỏ nhầm resource.




