Microsoft Flint: язык визуализации для ИИ-агентов
Microsoft Research выпустила Flint — промежуточный язык визуализации, который позволяет ИИ-агентам надёжно создавать красивые интерактивные графики из простых спецификаций.
Что такое Flint и зачем он нужен
Microsoft Research выпустила открытый проект Flint — промежуточный язык визуализации (visualization intermediate language, VIL), специально разработанный для ИИ-агентов. Flint позволяет ИИ-агентам создавать выразительные, профессионально выглядящие визуализации из простых, удобных для редактирования человеком спецификаций. Проект уже опубликован на GitHub и сопровождается живым редактором и галереей примеров.
Почему текущие инструменты не справляются
Создание визуализаций с помощью ИИ-агентов — задача непростая: существующие языки визуализации слишком низкоуровневые для агентов и требуют от них явного принятия визуальных решений, которые должен брать на себя хороший компилятор.
Проблема не в интеллекте модели, а в инструменте. Заставить большую языковую модель генерировать сырой Vega-Lite JSON с правильным синтаксисом — задача ненадёжная для современных ИИ-систем. Flint решает именно эту проблему.
«Flint — это промежуточный язык визуализации, позволяющий решить проблему взаимодействия человека и агента на последней миле». — команда Microsoft Research
Как работает Flint
Вместо того чтобы просить агентов или разработчиков вручную настраивать подробности конфигурации — масштабы, оси, отступы, метки и компоновку — компилятор Flint сам выводит оптимальные параметры графика из данных, семантических типов, типа диаграммы и кодировок.
В результате получается компактная спецификация графика, которую агенты могут надёжно генерировать, люди — редактировать напрямую, а несколько бэкендов — рендерить как нативные спецификации Vega-Lite, ECharts или Chart.js.
graph LR
A[ИИ-агент генерирует\nFlint-спецификацию] --> B[Компилятор Flint]
B --> C[Vega-Lite]
B --> D[ECharts]
B --> E[Chart.js]
C --> F[Готовый интерактивный график]
D --> F
E --> F
Семантические типы
Flint описывает смысл каждого поля данных с помощью более чем 70 семантических типов: Rank (ранг), Temperature (температура), Price (цена), Country (страна) и других. Это позволяет компилятору автоматически принимать правильные визуальные решения без дополнительных инструкций от агента.
Что входит в поставку
| Компонент | Описание | Язык |
|---|---|---|
flint-chart | JS/TS-библиотека, компилирует Flint в Vega-Lite, ECharts, Chart.js | TypeScript |
flint-chart-mcp | MCP-сервер для работы с агентами прямо из чата или IDE | TypeScript |
flint-py | Python-порт (в разработке, пакет скоро выйдет) | Python |
| Живой редактор | Vite + React демо-сайт с галереей и документацией | — |
MCP-сервер flint-chart-mcp позволяет агентам создавать, валидировать и рендерить графики прямо из среды чата или написания кода.
Пример минимальной Flint-спецификации
{
"chart": "bar",
"x": { "field": "product", "type": "Category" },
"y": { "field": "revenue", "type": "Price" }
}
Контекст и значение для отрасли
Flint создан Microsoft Research совместно с лабораторией IDEAS Lab Китайского народного университета. Исследовательская статья, описывающая Flint, выйдет в ближайшее время.
Проект способен в будущем повлиять на создание диаграмм в Excel, Power BI и других инструментах Microsoft. Принцип семантической абстракции над низкоуровневыми деталями рендеринга может стать стандартным подходом для следующего поколения аналитических ИИ-агентов.
Выбор Vega-Lite как целевого формата компиляции обеспечивает широкую совместимость и не привязывает вывод к проприетарному рендереру, что делает Flint привлекательным для open-source сообщества и организаций с разнородными средами.
Проект открыт для сообщества: авторы особенно приветствуют вклады, добавляющие новые шаблоны графиков или новые бэкенды рендеринга. Исходный код доступен на GitHub.