人工智能

微软研究院开源 Flint:用中间语言降低 AI 生成专业图表的难度

2026年7月13日 · admin
openmagic ad

据 IT之家 7 月 12 日消息,微软研究院联合中国人民大学 IDEAS Lab 推出并开源了可视化中间语言 Flint。这一项目面向 AI 智能体与数据分析场景,目标是让用户通过自然语言指令生成可渲染的专业图表,并支持输出到 Vega-Lite、ECharts、Chart.js 等常见可视化库。与让大模型直接编写完整图表配置不同,Flint 试图在“用户意图”和“底层图表实现”之间增加一层更简洁、语义更明确的中间表示,从而减少配置冲突、遗漏和不一致问题。

为什么需要一套“可视化中间语言”

在数据可视化开发中,Vega-Lite、ECharts、Chart.js 等工具能力成熟,但也带来了大量参数和配置项。对于开发者来说,这些配置可以精细控制图表样式;但对于 AI 智能体来说,直接生成完整配置文件并不总是稳定。来源显示,如果采用过于精简的配置,生成图表可能无法准确体现数据内容;如果要求大语言模型一次性输出完整配置,又容易因为参数过多产生冲突、遗漏或格式不一致。

Flint 的设计思路,是把“想画什么”和“具体怎么调用图表库”拆开。AI 不必直接处理所有底层库参数,而是先生成更抽象的 Flint 规格,再由编译器根据数据语义和图表定义推导最终配置。这种方式类似软件工程中的中间表示:上层更接近人的表达,下层再适配不同运行环境。

Flint 如何描述数据与图表

根据介绍,Flint 的规格主要分为两部分:数据定义和图表定义。数据定义用于标注字段语义类型,例如年月、价格、百分比、利润、国家、排名等;图表定义则用于描述图表类型,以及字段如何映射到 X 轴、Y 轴、颜色、大小或分面(Facet)等视觉元素。

在这一机制下,Flint 编译器会结合数据语义、图表类型和字段映射,自动推导一系列可视化细节。例如,日期字段可自动匹配时间解析方式与坐标轴格式;利润字段则可采用体现正负变化的发散色阶。换言之,开发者或 AI 智能体只需要表达更高层的图表意图,许多具体表现细节由编译器完成。

  • 数据层:标注字段的语义类型,帮助系统理解“这一列代表什么”。
  • 图表层:指定图表类型,以及字段与视觉通道的对应关系。
  • 编译层:自动推导时间解析、聚合规则、数值格式、配色和布局。
  • 输出层:生成 Vega-Lite、ECharts、Chart.js 等可渲染图表配置。

面向 AI 智能体的 MCP 支持

此次项目还发布了 flint-chart-mcp 服务器,使支持 MCP(Model Context Protocol)的 AI 智能体能够在对话过程中直接创建和预览图表。对用户来说,这意味着数据分析和图表生成可以更自然地嵌入聊天式工作流:提出需求、生成图表、查看预览,整个过程无需离开对话窗口。

这类能力对企业数据分析、运营报表、研究辅助和自动化办公都有现实意义。过去,生成一张质量较高的图表往往需要在数据处理、图表配置和样式调校之间来回切换;如果 AI 智能体能够可靠地理解字段语义并生成图表,数据可视化将更接近“对话式分析”的体验。

评测结果与产业解读

在评测中,微软将 Flint 与直接生成完整 Vega-Lite 配置的方案 DirectVL 进行了对比。来源显示,基于大语言模型评分结果,Flint 在 GPT-5.1、GPT-5-mini 和 GPT-4.1 三组测试中均获得更高的综合评分。虽然这类评测仍需结合更多实际场景验证,但它说明:在复杂工具调用任务中,让模型直接输出最终配置未必是最优路线,通过结构化中间层降低生成难度,可能更有利于稳定性和可控性。

从 AI 工具生态看,Flint 的价值不只是“让一句话生成图表”,更在于提供了一种面向智能体的工具抽象方式。随着 MCP 等协议被更多应用集成,AI 智能体需要调用数据库、表格、图表、代码执行器等多类工具。中间语言可以把人类意图、模型推理和工具执行连接起来,减少模型直接面对复杂 API 时的不确定性。

目前,Flint 已应用于微软研究院的数据分析工具 Data Formulator,官方也同步开源了 flint-chart 库、MCP 服务器及相关文档。对于开发者而言,这一项目值得关注:它既是一个可视化工具,也展示了 AI 时代软件接口设计的新方向——不是让模型记住更多参数,而是让工具提供更适合模型理解和生成的抽象层。