Flint: A visualization language for the AI era

TL;DR · AI 摘要
Flint: A visualization language for the AI era - Microsoft Research /.itemprop=publisher /itemprop=image Flint: A visual...
核心要点
- 主题聚焦:Flint: A visualization language for the AI era
- 来源:Microsoft Research Blog,建议结合原文判断细节。
- AI 分析暂不可用,本条为保底评分与摘要。
Flint:面向人工智能时代的可视化语言 - 微软研究院
/.itemprop=publisher
/itemprop=image
Flint:面向人工智能时代的可视化语言
发布于 2026 年 7 月 8 日
作者:王成龙,高级研究员;Alper Sarikaya,高级数据可视化工程师;Scott Tsukamaki,高级技术项目经理;Michel Galley,高级首席研究经理;高建峰,技术院士 & 首席副总裁
分享此页面
- 在 Facebook 上分享
- 在 X 上分享
- 在 LinkedIn 上分享
- 在 Reddit 上分享
- 订阅我们的 RSS 订阅源
/#single-header
一目了然
- 简洁规范生成精美图表。Flint 赋予 AI 代理从简单的人类可编辑规范中可靠生成表达性强且视觉精美的图表的能力。
- 语义类型引导设计。Flint 利用语义数据类型表达数据含义,帮助编译器选择合适的比例尺、基线、格式和配色方案。
- 布局适应数据变化。Flint 自动管理尺寸、间距、标签和布局,使图表在数据基数和密度变化时始终保持可读性,无需显式用户配置。
- 单个规范兼容多类后端。单个 Flint 规范可编译为 Vega-Lite、Apache ECharts 或 Chart.js,无需从头重写图表代码。
- 专为代理工作流构建。开源项目包含 flint-chart 库和 flint-chart-mcp 服务器,使代理能够在聊天或编码环境中直接创建、验证和渲染图表。
图 1。Flint 通过其简洁的规范支持多种可视化,可使用 Vega-Lite、Echarts 和 Chart.js 等可视化库进行渲染。
创建优秀的图表需要许多设计决策:日期应如何解析,比例尺是否应从零开始,值应如何格式化,标签需要多少空间,以及哪些颜色能让数据更易读。现代可视化库如 Vega-Lite、Apache ECharts 和 Chart.js 暴露了这些控制选项,但存在权衡:依赖系统默认值的简短规范通常会产生缺乏表现力的图表,而制作精良的可视化则需要详细且特意选择参数的规范,这些规范通常冗长、脆弱且容易出错。
随着大语言模型(LLMs)和 AI 代理承担越来越多的可视化工作,这种权衡变得更加明显。当代理必须处理复杂且底层的规范细节时,特别容易出错,而由此产生的脆弱代码对人类来说难以检查、修复或复用。理想情况下,我们需要一种折中方案:一种紧凑的规范,既能被代理可靠生成,又能被人类直接编辑,同时系统能将其编译为设计良好的图表。
为了解决这一挑战,我们推出了 Flint(在新标签页中打开),一种用于 AI 驱动图表创建的可视化中间语言。Flint 帮助 AI 代理从简单的人类可编辑图表规范中创建表达性强且美观的图表。Flint 编译器无需冗长的底层参数(如比例尺、坐标轴、间距和布局),而是从数据、语义类型、图表类型和编码中推导出优化的图表设置。相同的 Flint 规范可通过多种后端渲染,包括 Vega-Lite、Apache ECharts 和 Chart.js。
图2。Flint将紧凑且可由人工编辑的图表规范编译为完整的后端原生规范,并渲染可视化效果。在该热力图示例中,Flint规范为语义类型(period作为年月,newUsers作为利润)命名,并将字段映射到视觉通道。编译器推导出Vega-Lite的详细信息,包括时间解析、坐标轴格式、颜色比例、单元格尺寸、图例配置和布局。
Flint的工作原理
图2说明了Flint编译器如何将紧凑的图表规范转换为精炼的热力图。
要生成高质量的热力图,传统上需要通过低级图表属性显式地告诉系统如何处理时期字段、如何正确标记年月值、调整单个热力图单元格的尺寸,以及选择能恰当表示正负新用户值的颜色比例。没有这些配置时,可视化库必须根据字段名称和原始值进行猜测,这可能导致技术上有效但可能具有误导性的图表。虽然这些配置很重要,但手动硬编码这些细节既困难又容易出错,且会使规范变得脆弱且难以让用户理解和适应。
在Flint中,这些低级细节通过系统化方式管理,编译器会从高级数据和图表规范中推断出这些细节。此处,数据规范捕获语义类型和可选元数据,图表规范定义图表类型并将字段映射到视觉通道(如x、y、颜色、尺寸或分面)。基于这些信息,编译器推导出解析规则、比例尺、坐标轴、聚合方式、格式化设置、颜色方案、布局,并生成后端原生规范,用于渲染最终的精炼可视化效果。这使用户无需显式设置那些脆弱且容易出错的低级细节。
此外,由于中间表示形式独立于任何单一渲染库,Flint可以针对具有截然不同API和编程模型的后端进行适配。用户可以保持相同的紧凑图表意图,同时编译为Vega-Lite、ECharts或Chart.js,并选择最适合可视化需求的后端。
聚焦:AI驱动的体验
微软研究院Copilot体验
通过我们的AI驱动体验,深入了解微软研究院的工作
立即开始
/.msr-promo__content
/.msr-promo__inner-wrap
在新标签页中打开
/.msr-promo
用于AI辅助可视化的Flint
Flint非常适合基于大语言模型的图表生成,因为语义类型通常比完整的低级可视化参数更容易被模型推断。字段名称、值模式和常见数据知识可以帮助代理识别某一列是否代表日期、价格、百分比、国家、排名或相关性。一旦这些含义明确,编译器就可以处理许多原本需要以脆弱且特定于库的代码形式出现的设计决策。
在我们的研究中,我们将Flint与DirectVL进行了对比,后者是一种基线方法,通过大型语言模型自评估流程直接生成完整的(更复杂)Vega-Lite规范。基于Tidy Tuesdays测试数据对三个模型进行测试,Flint在LLM评委评分中表现更优:与GPT-5.1对比为16.27 vs. 15.91,与GPT-5-mini对比为16.16 vs. 15.60,与GPT-4.1对比为15.91 vs. 15.34。事实上,Flint的强大性和可靠性已得到验证,现在已被用于微软研究院的Data Formulator(新标签页)项目,该项目致力于人工智能辅助的数据分析和可视化。
为方便您的代理访问,我们还发布了flint-chart-mcp,这是一个模型上下文协议(MCP)服务器,允许代理在聊天或编码环境中创建、验证和渲染图表。MCP调用可以内联嵌入数据或读取配置的本地文件,服务器还能打开交互式图表视图,使用户能够检查和优化结果。
图3. 一旦使用您喜爱的AI客户端配置好flint-chart-mcp,代理即可通过Flint生成交互式可视化,帮助您回答数据探索问题。
尝试使用Flint
Flint现已开源并可直接使用:
- 项目主页:https://microsoft.github.io/flint-chart/(新标签页)
- GitHub仓库:https://github.com/microsoft/flint-chart(新标签页)
- Flint MCP服务器指南:https://microsoft.github.io/flint-chart/#/mcp(新标签页)
Flint指向了一个可视化共享语义层,人们和AI代理可以在此层面上使用简洁的图表意图进行协作,而编译器则处理细致的底层细节。我们邀请社区探索该项目并在此基础上进行构建。
作者介绍
卡片列包装器
卡片
卡片主体
王承龙
高级研究员
卡片页脚
了解更多
Alper Sarikaya
高级数据可视化工程师 Power BI
Scott Tsukamaki
高级技术项目经理
Michel Galley
高级首席研究经理
姜峰 高
技术院士 & 首席副总裁
研究领域
- 人工智能
- 编程语言与软件工程
研究团队
- 深度学习组
相关实验室
- 微软研究院 - 红mond