Microsoft Research
85

Nghiên cứu

Flint: Ngôn ngữ trực quan hóa dữ liệu thế hệ mới dành cho AI

(giờ Việt Nam)

Tóm tắt AI

Flint là ngôn ngữ mã nguồn mở giúp AI tạo ra các biểu đồ chuyên nghiệp, giàu tính biểu cảm từ những dòng lệnh ngắn gọn, khắc phục hạn chế của các công cụ trực quan hóa truyền thống.

Bản dịch AI

Flint blog | three white line icons on an abstract green background; bar chart icon, connected nodes icon, flowchart icon

Sơ lược

A dense grid displaying a diverse gallery of data visualizations. The collection showcases over twenty different chart types, including stacked area charts, line graphs, sunburst charts, stacked bar c

Việc tạo ra một biểu đồ đẹp đòi hỏi nhiều quyết định thiết kế: cách phân tích dữ liệu ngày tháng, liệu thang đo có nên bắt đầu từ số 0 hay không, cách định dạng giá trị, không gian cần thiết cho nhãn và màu sắc nào giúp dữ liệu dễ đọc hơn. Các thư viện trực quan hóa hiện đại như Vega-Lite, Apache ECharts và Chart.js cung cấp các tùy chọn kiểm soát này, nhưng lại tồn tại một sự đánh đổi: Các đặc tả ngắn gọn dựa trên cài đặt mặc định của hệ thống thường tạo ra những biểu đồ thiếu ấn tượng, trong khi các biểu đồ chỉn chu lại đòi hỏi các đặc tả chi tiết với các tham số được chọn lọc kỹ lưỡng, vốn thường dài dòng, dễ lỗi và khó duy trì.

Sự đánh đổi này trở nên rõ rệt hơn khi các mô hình ngôn ngữ lớn (LLM) và các tác nhân AI (AI agents) đảm nhận nhiều công việc trực quan hóa hơn. Các tác nhân đặc biệt dễ mắc lỗi khi phải quản lý các chi tiết đặc tả phức tạp, cấp thấp, và mã nguồn dễ bị lỗi tạo ra từ đó có thể gây khó khăn cho con người trong việc kiểm tra, sửa chữa hoặc tái sử dụng. Lý tưởng nhất, chúng ta cần một giải pháp trung gian: một đặc tả nhỏ gọn mà các tác nhân có thể tạo ra một cách đáng tin cậy, con người có thể chỉnh sửa trực tiếp và hệ thống có thể biên dịch thành một biểu đồ được thiết kế tốt.

Để giải quyết thách thức này, chúng tôi giới thiệu Flint (mở trong tab mới), một ngôn ngữ trung gian trực quan hóa dành cho việc tạo biểu đồ bằng AI. Flint giúp các tác nhân AI tạo ra các biểu đồ biểu cảm, hấp dẫn từ các đặc tả biểu đồ đơn giản, có thể chỉnh sửa bởi con người. Thay vì yêu cầu các tham số cấp thấp dài dòng cho thang đo, trục, khoảng cách và bố cục, trình biên dịch Flint tự động suy luận các thiết lập biểu đồ tối ưu từ dữ liệu, kiểu ngữ nghĩa, loại biểu đồ và các mã hóa. Cùng một đặc tả Flint có thể hiển thị thông qua nhiều backend khác nhau, bao gồm Vega-Lite, Apache ECharts và Chart.js.

A three-step diagram illustrating the Flint workflow from left to right. It starts with a short JSON code snippet labeled

Cách thức hoạt động của Flint

Hình 2 minh họa cách trình biên dịch Flint chuyển đổi một đặc tả biểu đồ nhỏ gọn thành một bản đồ nhiệt (heatmap) tinh tế.

Để tạo ra một bản đồ nhiệt chất lượng cao, theo cách truyền thống, chúng ta cần chỉ định rõ ràng cho hệ thống các thuộc tính biểu đồ cấp thấp về cách xử lý trường thời gian, cách gắn nhãn chính xác các giá trị MonthYear, kích thước từng ô trong bản đồ nhiệt và chọn thang màu thể hiện phù hợp các giá trị newUsers dương và âm. Nếu không có các cấu hình này, các thư viện trực quan hóa phải tự đoán từ tên trường và giá trị thô, điều này có thể dẫn đến các biểu đồ hợp lệ về mặt kỹ thuật nhưng có khả năng gây hiểu lầm. Mặc dù quan trọng, việc mã hóa cứng các chi tiết này có thể khó khăn, dễ gây lỗi và khiến đặc tả trở nên mong manh, khó hiểu hoặc khó tùy chỉnh đối với người dùng.

Trong Flint, các chi tiết cấp thấp này được quản lý một cách hệ thống, nơi trình biên dịch suy luận chúng từ các đặc tả dữ liệu và biểu đồ cấp cao. Tại đây, đặc tả dữ liệu nắm bắt các kiểu ngữ nghĩa và siêu dữ liệu tùy chọn, còn đặc tả biểu đồ xác định loại biểu đồ và ánh xạ các trường vào các kênh trực quan như x, y, màu sắc, kích thước hoặc facet. Từ thông tin này, trình biên dịch suy luận ra các quy tắc phân tích, thang đo, trục, phép tổng hợp, định dạng, bảng màu, bố cục và tạo ra đặc tả gốc của backend, được sử dụng để hiển thị biểu đồ hoàn thiện cuối cùng. Điều này giúp người dùng không phải thiết lập thủ công các chi tiết cấp thấp dễ lỗi và khó quản lý.

Hơn nữa, vì biểu diễn trung gian tách biệt với bất kỳ thư viện hiển thị đơn lẻ nào, Flint có thể nhắm mục tiêu đến các backend với các API và mô hình lập trình rất khác nhau. Người dùng có thể giữ nguyên ý định biểu đồ nhỏ gọn trong khi biên dịch sang Vega-Lite, ECharts hoặc Chart.js, và chọn backend có khả năng phù hợp nhất với nhu cầu trực quan hóa.

Tiêu điểm: Bản tin nghiên cứu của Microsoft

Bản tin nghiên cứu của Microsoft

Luôn kết nối với cộng đồng nghiên cứu tại Microsoft.

Flint rất phù hợp cho việc tạo biểu đồ dựa trên LLM vì các kiểu ngữ nghĩa thường dễ suy luận hơn đối với các mô hình so với toàn bộ tập hợp các tham số trực quan hóa cấp thấp. Tên trường, mẫu giá trị và kiến thức dữ liệu phổ biến có thể giúp một tác nhân nhận biết liệu một cột đại diện cho ngày tháng, giá, tỷ lệ phần trăm, quốc gia, thứ hạng hay mối tương quan. Một khi các ý nghĩa đó đã rõ ràng, trình biên dịch có thể xử lý nhiều quyết định thiết kế mà nếu không sẽ xuất hiện dưới dạng mã nguồn mong manh, phụ thuộc vào thư viện cụ thể.

Trong nghiên cứu của chúng tôi, chúng tôi đã so sánh Flint với DirectVL, một mô hình cơ sở yêu cầu AI trực tiếp tạo ra các đặc tả Vega-Lite đầy đủ (phức tạp hơn) trong quy trình tự đánh giá của LLM. Trên ba mô hình được thử nghiệm dựa trên dữ liệu kiểm thử từ Tidy Tuesdays, Flint nhận được điểm đánh giá từ LLM cao hơn: 16.27 so với 15.91 với GPT-5.1, 16.16 so với 15.60 với GPT-5-mini, và 15.91 so với 15.34 với GPT-4.1. Trên thực tế, Flint đã chứng tỏ sức mạnh và độ tin cậy đến mức hiện đang được sử dụng để vận hành Data Formulator (mở trong tab mới), một dự án của Microsoft Research dành cho phân tích và trực quan hóa dữ liệu có sự hỗ trợ của AI.

Để giúp các tác nhân của bạn dễ dàng tiếp cận Flint, chúng tôi cũng phát hành flint-chart-mcp, một máy chủ Model Context Protocol (MCP) cho phép các tác nhân tạo, xác thực và hiển thị biểu đồ bên trong môi trường trò chuyện hoặc lập trình. Các lệnh gọi MCP có thể nhúng dữ liệu trực tiếp hoặc đọc các tệp cục bộ đã cấu hình, và máy chủ có thể mở một chế độ xem biểu đồ tương tác để người dùng kiểm tra và tinh chỉnh kết quả.

A mockup of an AI agent chat interface. A user sends the message,

Trải nghiệm Flint

Flint là mã nguồn mở và sẵn sàng để sử dụng:

Flint hướng tới một lớp ngữ nghĩa chung cho trực quan hóa, nơi con người và các tác nhân AI có thể làm việc với ý định biểu đồ nhỏ gọn trong khi trình biên dịch xử lý các chi tiết cấp thấp tỉ mỉ. Chúng tôi mời cộng đồng cùng khám phá và phát triển dự án này.

Trực quan hóa dữ liệuMicrosoft ResearchFlintAI AgentsCông cụ lập trình
Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Microsoft Research. Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.