Ngày 8/7/2026, Microsoft Research công bố Flint, một ngôn ngữ trung gian (intermediate language) cho phép AI agent tạo biểu đồ từ các đặc tả ngắn gọn, sau đó tự động chuyển đổi thành cấu hình chi tiết cho các thư viện vẽ biểu đồ phổ biến như Vega-Lite, Apache ECharts và Chart.js. Flint giải quyết bài toán cân bằng giữa tính đơn giản và chất lượng hiển thị, vốn là thách thức lớn khi AI phải tự sinh mã vẽ biểu đồ.

Flint hoạt động như thế nào?

Flint hoạt động như một lớp trung gian giữa ý đồ của người dùng và mã nguồn cụ thể của từng thư viện. Người dùng hoặc AI agent chỉ cần cung cấp một đầu vào ngắn gọn gồm ba phần: dữ liệu (data), kiểu ngữ nghĩa của các cột (semantic_types) và đặc tả biểu đồ (chart_spec). Trong đó, semantic_types hỗ trợ hơn 70 kiểu như Rank, Temperature, Price, Country, giúp AI hiểu ý nghĩa của từng cột dữ liệu. Chart_spec xác định loại biểu đồ và cách ánh xạ các trường dữ liệu lên trục x, y, màu sắc, kích thước, facet (chia nhỏ).

Flint compiler sau đó tự động suy luận và bổ sung các chi tiết như tỷ lệ trục, định dạng số/ngày, khoảng trống, nhãn, chú giải, màu sắc – những thứ mà nếu viết tay sẽ rất dài và dễ sai. Kết quả là các cấu hình hoàn chỉnh cho Vega-Lite, ECharts hoặc Chart.js. Người dùng vẫn có thể tùy chỉnh thêm qua các tham số như baseSize, canvasSize, chartProperties và options.

Đánh giá hiệu năng: Flint vượt trội so với phương pháp truyền thống

Trong bài đánh giá được công bố, Microsoft Research so sánh Flint với phương pháp DirectVL – yêu cầu mô hình ngôn ngữ lớn (LLM) sinh trực tiếp đặc tả Vega-Lite phức tạp. Sử dụng bộ dữ liệu Tidy Tuesdays và pipeline tự đánh giá bằng LLM (LLM-judge), Flint đạt điểm số cao hơn DirectVL trên cả ba mô hình: GPT-5.1 (16.27 vs 15.91), GPT-5-mini (16.16 vs 15.60) và GPT-4.1 (15.91 vs 15.34). Kết quả cho thấy Flint giúp AI tạo biểu đồ chính xác và dễ đọc hơn.

Cài đặt và sử dụng Flint

Flint được phát hành dưới dạng gói npm flint-chart với giấy phép MIT. Người dùng có thể cài đặt bằng lệnh npm install flint-chart. Sau đó, gọi các hàm assembleVegaLite(), assembleECharts() hoặc assembleChartjs() để sinh cấu hình tương ứng. Ngoài ra, Microsoft còn cung cấp MCP server (flint-chart-mcp) cho phép AI agent gọi Flint như một công cụ, hỗ trợ đọc file JSON, CSV, TSV cục bộ.

Hiện tại Flint hỗ trợ hơn 30 loại biểu đồ trên ba thư viện Vega-Lite, ECharts và Chart.js. Microsoft Research cho biết sẽ tiếp tục mở rộng số lượng thư viện đích trong tương lai. Dự án được phát triển bởi Microsoft Research kết hợp với IDEAS Lab (Đại học Nhân dân Trung Quốc). Phiên bản Python hiện chỉ ở dạng xem trước mã nguồn, bài báo nghiên cứu sẽ được công bố sau.

Theo Gihyo

Ảnh: geralt / Pixabay