Он называется Flint, и его главная идея в том, чтобы позволить пользователю концентрироваться на сути того, что надо отобразить на графике, не настраивая вручную детали вроде шкал, интервалов и так далее.
Ему нужны только сами данные, семантические описания полей (то есть, что они значат — отрезок времени, категория, прибыль и т. д.) и требования к оформлению:
{
"data": {...},
"semantic_types": {
"game": "Category",
"period": "YearMonth",
"newUsers": "Profit"
},
"chart_spec": {
"chartType": "Heatmap",
"encodings": {
"x": "period",
"y": "game",
"color": "newUsers"
},
"chartProperties": {
"colorScheme": "redblue"
}
}
}На основе этой информации, Flint создает подробную спецификацию визуализации:
{
"data": {...},
"mark": {
"type": "rect",
"width": 47
},
"height": {
"step": 29
},
"encoding": {
"x": {
"field": "period",
"type": "temporal",
"scale": {
"nice": false,
"domain": [
"2024-12-16T19:38:10.909Z",
"2025-12-16T04:21:49.090Z"
]
}
},
"y": {
"field": "game",
"type": "nominal",
"sort": null
},
"color": {
"field": "newUsers",
"type": "quantitative",
"scale": {
"scheme": "redblue",
"domain": [
-84108,
84108
],
"domainMid": 0
}
... // и еще 18 строк в таком же духеЗдесь пример для Vega-Lite, но он также работает с ECharts, Chart.js, Plotly и Excel.
За счет того, что он не просто оперирует типами данных, но и «понимает» их смысл, он и подбирает подходящие настройки вроде размера графика в целом и отдельных элементов. Если объем данных вырастет, он сможет перестроить визулизацию, чтобы она оставалась понятной и читабельной. Ее легко редактировать: чтобы изменить тип или оформление графика, надо просто внести правки в спецификацию для Flint, и он сам все переделает по новому ТЗ.
Язык ориентирован в первую очередь на ИИ-агентов. Вместо того, чтобы генерировать длинную детальную спецификацию, они могут написать намного более короткое и простое описание для Flint.




