AWS và dbt dùng Semantic Layer để ngăn AI agent tính doanh thu sai 3,5 triệu USD
AWS và dbt đã giới thiệu một kiến trúc có quản trị nhằm ngăn AI agent đưa ra câu trả lời có vẻ hợp lý nhưng sai khi truy vấn dữ liệu sản xuất. Trong ví dụ của họ, một truy vấn SQL đơn giản báo doanh thu 14,86 triệu USD thay vì con số đúng là 11,36 triệu USD—cao hơn 30,8%—vì bỏ qua khoản hoàn tiền, vẫn tính đơn đã hủy và đang chờ xử lý, dùng số tiền trước chiết khấu và tính cả tài khoản thử nghiệm nội bộ. Thiết kế được đề xuất tách riêng ý nghĩa nghiệp vụ khỏi cách thực thi truy vấn. dbt Semantic Layer cung cấp các chỉ số và chiều dữ liệu đã được chứng nhận, còn MetricFlow biên dịch chỉ số được chọn thành SQL; sau đó Amazon Redshift MCP Server chạy câu SQL với các cơ chế chỉ đọc, chỉ cho phép một câu lệnh, giới hạn quyền qua IAM và phân quyền tối thiểu trong cơ sở dữ liệu. Agent phải chọn từ danh sách chỉ số định sẵn thay vì tự nghĩ tên chỉ số hoặc viết SQL, đồng thời mỗi kết quả đều có dấu vết kiểm toán gồm tên chỉ số, SQL đã biên dịch, mô hình nguồn, kết quả kiểm thử dbt và mã truy vấn Redshift. Cùng một bộ định nghĩa có thể phục vụ Redshift, dữ liệu Iceberg trong S3 Tables, Athena và DuckDB, đồng thời hiển thị SQL cho lập trình viên hoặc câu trả lời bằng ngôn ngữ tự nhiên cho người dùng nghiệp vụ. Bài học lớn hơn là việc cho AI truy cập dữ liệu đáng tin cậy cần được xây dựng vào kiến trúc hệ thống, không chỉ dựa vào prompt tốt hơn: semantic layer có thể ngăn các lỗi phổ biến như nối bảng sai, dùng bộ lọc sai và hiểu sai định nghĩa chỉ số trước khi chúng tác động đến cơ sở dữ liệu.
Các đội dữ liệu và doanh nghiệp dùng AI agent để truy vấn kho dữ liệu nên ưu tiên semantic layer với metric được chứng nhận thay vì cho agent tự viết SQL. Kiến trúc này giúp giảm lỗi âm thầm, kiểm tra được câu SQL đã chạy và dùng cùng một định nghĩa dữ liệu cho nhiều hệ thống như Redshift, Athena và DuckDB.
Đọc bài gốc