
Tôi đã xây dựng một tác nhân dữ liệu AI có khả năng truy vấn dữ liệu và trả lời các câu hỏi kinh doanh. Dưới đây là cách thực hiện.
Hướng dẫn từng bước xây dựng tác nhân dữ liệu và giao diện hội thoại cho phép người dùng doanh nghiệp khám phá dữ liệu bằng ngôn ngữ tự nhiên mà không cần SQL. Bài viết "Tôi đã xây dựng một tác nhân dữ liệu AI có thể truy vấn dữ liệu và trả lời các câu hỏi kinh doanh. Đây là cách thực hiện." xuất hiện lần đầu trên Towards Data Science.
AI tác nhân
Tôi đã xây dựng một AI tác nhân dữ liệu có thể truy vấn dữ liệu và trả lời các câu hỏi kinh doanh. Dưới đây là cách thực hiện.
Hướng dẫn từng bước để xây dựng một tác nhân dữ liệu và giao diện hội thoại cho phép người dùng doanh nghiệp khám phá dữ liệu bằng ngôn ngữ tự nhiên mà không cần SQL.
Jiayan Yin
Ngày 6/8/2026
11 phút đọc
Chia sẻ
Hình ảnh do tác giả tạo, được tạo bởi ChatGPT
Trong bài viết trước của tôi, "Nhiều công ty sử dụng AI. Rất ít công ty biết cách xây dựng nền tảng dữ liệu doanh nghiệp gốc AI", tôi đã thảo luận về cách tích hợp AI vào các nền tảng dữ liệu doanh nghiệp. Tôi cũng chia sẻ các vấn đề phổ biến trong thực tế liên quan đến các ứng dụng AI trong quy trình kỹ thuật dữ liệu và cách giải quyết chúng. Trong bài viết đó, tôi đã giải thích 3 yếu tố chính của một kiến trúc AI doanh nghiệp thực tế – các tác nhân dữ liệu, QA được hỗ trợ bởi AI và quản trị AI.
Để đi sâu vào các tác nhân dữ liệu, tôi đã tạo một bản demo có tên là Avocado Sales Analytics Agent. Trong bài viết này, tôi sẽ trình bày toàn bộ quá trình xây dựng nó từng bước.
Ảnh chụp màn hình giao diện tác nhân dữ liệu do tác giả xây dựng
Tác nhân dữ liệu là gì?
Tác nhân dữ liệu là một giao diện hội thoại được hỗ trợ bởi AI cho phép người dùng doanh nghiệp đặt câu hỏi bằng ngôn ngữ tự nhiên và nhận được câu trả lời chính xác bằng cách truy vấn dữ liệu được lưu trữ trong kho dữ liệu.
Thay vì chờ các nhà phân tích dữ liệu viết các truy vấn SQL phức tạp và tạo báo cáo, người dùng có thể chỉ cần gõ: "Tổng TPV ở Đông Nam Á năm ngoái là bao nhiêu?" và nhận được câu trả lời ngay lập tức như "$ 60 tỷ".
Chọn phương pháp phù hợp
Có hai cách để xây dựng một tác nhân dữ liệu. Cách tiếp cận đầu tiên là xây dựng từ đầu với các framework điều phối mã nguồn mở như LangGraph/LangChain, CrewAI và LlamaIndex. Với cách tiếp cận này, bạn có toàn quyền kiểm soát cấu trúc bộ nhớ của tác nhân, các quy tắc logic nghiệp vụ chặt chẽ và các vòng lặp thực thi đa tác nhân phức tạp.
Đối với người mới bắt đầu, cách tiếp cận thứ hai là triển khai một tác nhân dữ liệu trong các nền tảng dữ liệu đám mây thực tế và nhanh hơn để triển khai. Ngày nay, hầu hết các nền tảng dữ liệu đám mây lớn đều cung cấp các tác nhân dữ liệu gốc, có sẵn. Ví dụ, Snowflake cung cấp Snowflake Cortex Agents là các đường ống tác nhân mã thấp được lưu trữ hoàn toàn bên trong Snowflake và cho phép người dùng đặt câu hỏi bằng ngôn ngữ tự nhiên trực tiếp trên các kho dữ liệu doanh nghiệp an toàn thông qua Snowflake Intelligence. Databricks Genie là công cụ thông minh dữ liệu hội thoại được quản lý trong hệ sinh thái Databricks. Hệ sinh thái Microsoft Fabric có Fabric Data Agents hỗ trợ kết nối dữ liệu trực tiếp với lakehouses, warehouses, cơ sở dữ liệu KQL và các mô hình ngữ nghĩa Power BI.
Để xây dựng bản demo Avocado Sales Analytics Agent, tôi đã chọn Google Cloud Platform (BigQuery) vì nó cung cấp quyền truy cập đầy đủ vào các tính năng Phân tích hội thoại trong thời gian dùng thử miễn phí và có thể dễ dàng thiết lập bằng tài khoản Google cá nhân. Đối với dữ liệu nguồn, tôi đã sử dụng bộ dữ liệu Giá bơ từ Kaggle. Bộ dữ liệu được Justin Kiggins xuất bản bằng cách sử dụng dữ liệu từ Hass Avocado Board và có sẵn theo giấy phép CC BY 4.0.
Xây dựng tác nhân dữ liệu không cần mã
BigQuery của Google Cloud cung cấp API Phân tích đàm thoại (Conversational Analytics API), cho phép xây dựng các tác nhân dữ liệu đàm thoại trên các tập dữ liệu BigQuery. Trước khi xây dựng tác nhân dữ liệu, bước đầu tiên là tải xuống tệp CSV Giá bơ (Avocado Prices) từ Kaggle và tải lên BigQuery. Sau khi tải tập dữ liệu lên, điều rất quan trọng là phải hiểu lược đồ dữ liệu của các bảng được sử dụng để xây dựng tác nhân vì tác nhân cần hiểu mô hình dữ liệu—bao gồm tên bảng, tên cột, kiểu dữ liệu, mối quan hệ và ý nghĩa kinh doanh. Cần hiểu kỹ dữ liệu trước khi "dạy" tác nhân cách phân tích dữ liệu một cách chính xác.
Ảnh chụp màn hình của tác giả
Bước tiếp theo là xây dựng tác nhân dữ liệu. Có thể điều hướng đến BigQuery -> Agent, nhấp vào "Create Agent" (Tạo tác nhân), sau đó nhập tên và mô tả tác nhân trước khi chọn tập dữ liệu làm nguồn kiến thức.
Các hướng dẫn là phần quan trọng nhất vì chúng hướng dẫn AI truy vấn dữ liệu chính xác, tránh lỗi và đưa ra câu trả lời chính xác.
Dưới đây là các nguyên tắc để viết hướng dẫn tốt:
Rõ ràng: Sử dụng ngôn ngữ đơn giản, chính xác. Không sử dụng các cụm từ khó hoặc mơ hồ.
Đưa ra ví dụ: Cho tác nhân thấy các truy vấn và phản hồi tốt trông như thế nào.
Đặt ranh giới: Chỉ định những gì tác nhân nên và không nên làm.
Xác định vai trò: Mô tả rõ ràng tác nhân là ai và người dùng là ai.
Dưới đây là ví dụ về các hướng dẫn đã được viết cho dữ liệu bơ.
Tác nhân có quyền truy cập vào 1 bảng BigQuery cốt lõi để trả lời các câu hỏi về doanh số và giá bơ. Tất cả các câu trả lời phải được suy ra bằng cách truy vấn bảng này:
A. Định nghĩa bảng và cột chính:
Khóa chính: int64_field_0 (định danh hàng ngầm)
Các cột khóa:
Date (DATE): Tuần của dữ liệu bán hàng
region (STRING): Khu vực Hoa Kỳ nơi diễn ra doanh số (bao gồm các thành phố, ví dụ: Albany, Atlanta, California, Chicago, v.v., các khu vực, ví dụ: West và USTotal)
type (STRING): Loại bơ - "conventional" (thông thường) hoặc "organic" (hữu cơ)
year (INTEGER): Năm của dữ liệu
AveragePrice (FLOAT): Giá trung bình của một quả bơ tính bằng USD
Total Volume (FLOAT): Tổng khối lượng bơ đã bán
Total Bags (FLOAT): Tổng số túi bơ đã bán
Small Bags (FLOAT): Khối lượng bán túi nhỏ (theo đơn vị)
Large Bags (FLOAT): Khối lượng bán túi lớn (theo đơn vị)
XLarge Bags (FLOAT): Khối lượng bán túi cực lớn (theo đơn vị)
4046 (FLOAT): Khối lượng bán cho PLU 4046 (bơ nhỏ)
4225 (FLOAT): Khối lượng bán cho PLU 4225 (bơ lớn)
4770 (FLOAT): Khối lượng bán cho PLU 4770 (bơ cực lớn)
B. Quy tắc tính toán chỉ số
Khi người dùng yêu cầu một chỉ số, hãy sử dụng các quy tắc SQL sau:
Tổng doanh thu bán hàng (USD) SUM(Total Volume * AveragePrice)
Giá trung bình có trọng số SUM(Total Volume * AveragePrice) / SUM(Total Volume) — Đây là giá trung bình mỗi quả bơ, có trọng số theo khối lượng bán hàng.
Tổng số quả bơ riêng lẻ đã bán SUM(Total Volume)
Tổng số túi S



Nguồn tin: Towards Data Science — Tác giả: Jiayan Yin. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.