AREXOpen in interactive Feed

AREX Feed Article

微软研究院发布 Flint-interactive:让 AI 智能体生成可点击、可筛选的交互式图表

October 22, 2026

北京时间 10 月 23 日凌晨(UTC 时间 10 月 22 日 16 时前后),微软研究院通过官方 X 账号 与发布 Flint-interactive:一门构建在 Flint 之上、用于创建交互式数据可视化的语言。按公告描述,它让 AI 智能体生成的图表可以被读者点击、筛选、缩放,高亮相关内容并跨视图联动,从而探索超出作者最初所选视图的范围。

与 7 月发布的基础版 Flint 所解决的静态图表质量问题不同,这次补上的是交互层。博客描述的机制是:智能体不再手写底层可视化代码,而是用语义事件和更新算子描述“用户做了什么、画布如何响应”,命中测试、渲染更新等低层工作交给 Flint 编译器处理;微软研究院称,此举能提升可靠性、减少开发工作量,避开定制交互可视化常见的布局、渲染与调试问题。公告同时给出、开源仓库与 MCP(Model Context Protocol,模型上下文协议)接入方式,交互能力已可实际安装使用。

交互式图表是智能体生成流程里昂贵的一环

微软研究院在博客中把缺口写得很具体。AI 智能体已经能方便地分析数据、生成带静态图表的报告,但读者想要的是探索:在聊天里直接点击图表、基于所选内容追问,或者让面向客户的智能体生成可探索的可视化。即便调用前沿模型,智能体也很少能在一轮之内生成令人满意的交互式可视化;反复的推理、编码与调试消耗大量 token(词元)和时间。表达力强的交互图表还容易出现糟糕的布局或失灵的交互,而修复过程又可能引入新问题;与此同时,部分可视化库的内置交互表达力不足,做不出定制化的交互图表。博客把根因归结为一点:缺少一门既有表达力、又停留在高层抽象的语言来描述视觉交互。

语义事件加更新算子:编译器接管视觉逻辑

机制的核心是 Flint Canvas——一个跟踪画布交互、管理渲染状态的状态机。Flint-interactive 把交互拆成两层。视觉逻辑由编译器处理:把点击、拖拽、按键等原始触发解析成携带图表元素与数据含义的语义事件,把更新算子翻译成画布上的实际变化,并处理命中测试与低层视觉更新。交互逻辑由用户或智能体在语义层定义:只需把语义事件映射到更新算子,例如 set style 高亮数据、set annotation 标注数据点、set viewport 平移缩放;同一批语义事件也可以用来更新外部表格、部件或应用状态。按博客的说法,用户因此不必逆向渲染逻辑,也不必操作渲染器特定的图形元素(mark)。

博客称,事件生成与视觉更新都是可组合的,同一套模型能把图表与表格、文本、其他图表和部件连接成数据故事与仪表盘。Gapminder 示例演示了一个名为 linked brushing(联动刷选)的预设交互:读者在 1952 年的散点图上框选一批国家,2007 年视图中的同批国家随即同步高亮。

从聊天到仪表盘:三种接入方式

第一条路径是聊天环境。通过 Flint-MCP 与 MCP Apps 按 MCP 设置指南接入后,用户告诉智能体画什么图、要哪些交互;按博客说法,在最新版本中,智能体会在 Flint 图表规格(chart spec)之外同时生成交互规格(interaction_spec),并在对话中渲染可交互图表。用户还可以在图上选中内容,把上下文传给后续对话轮次。

第二条路径是构建交互式应用。应用通过 Flint Interactive Canvas 的事件处理器接收语义事件,用来筛选表格、更新另一张图表或改变应用状态;反过来,应用部件也可以向 Canvas 发送更新算子来控制图表。博客示例中,用户点击 Gapminder 表格中的 United States 行,气泡图中的对应数据点随即高亮,并弹出标注:2007 年美国人均 GDP 42,952 美元、预期寿命 78.2 岁。

第三条路径是定制交互。超出预设的交互通过编程 API 定义触发器(trigger)与自定义处理函数,把语义事件映射为一串图表更新,例如组合 set style 与 set annotation 来高亮并标注被点击的国家。博客给出的 DimpVis 示例中,用户拖动一个城市沿其季节路径移动,五座城市的温度与降水随时间同步变化——西雅图停在 1 月时,右侧面板显示 4.2°C、日降水 5.7 毫米。

基础版 Flint 的三个月铺垫

Flint-interactive 建立在基础版 Flint 之上,后者已有三个多月的公开迭代记录。2026 年 7 月 8 日,微软研究院在中介绍 Flint:一门可视化中间语言,让智能体从简洁、人类可编辑的规格生成精致图表——编译器从数据、语义类型、图表类型与编码中推导刻度、坐标轴、间距、标签等低层设置,同一份规格可编译到 Vega-Lite、Apache ECharts、Chart.js 等后端。开源的更新记录显示,项目在 7 月 13 日至 8 月 12 日间连发 6 个版本:0.4.0 加入 38 种 Plotly 图表类型和 18 种原生可编辑 Excel 图表模板,0.5.0 引入正式主题规范,0.5.1 把主题支持扩展到 Plotly 后端。仓库目前列有 70 余种语义类型(如 Rank、Temperature、Price、Country)、10 套内置主题(如 Economist、Swiss、Pop),后端覆盖 Vega-Lite、ECharts、Chart.js、Plotly 与原生 Excel。

学术侧的对应记录是 arXiv 论文《Flint: A Semantics-Driven Data Visualization Intermediate Language》(),2026 年 7 月 22 日提交,作者为 Yunhai Wang、Kecheng Lu、Junhao Chen、Alper Sarikaya 和 Chenglong Wang。摘要称,Flint 让作者无需显式配置刻度、坐标轴、格式等低层参数,即可从语义驱动的简洁规格生成高质量可视化,对人类作者和 AI 智能体同样适用。7 月博客还报告了微软自己的评估:在 Tidy Tuesdays 测试数据上、以 LLM 自评流水线对比“让模型直接生成完整 Vega-Lite 规格”的基线 DirectVL,Flint 在三个模型上获得更高的 LLM 评审总分(GPT-5.1:16.27 对 15.91;GPT-5-mini:16.16 对 15.60;GPT-4.1:15.91 对 15.34)。Flint 也已被用于驱动微软研究院的 Data Formulator,一个 AI 辅助数据分析与可视化项目。GitHub 仓库注明,Flint 由微软研究院与中国人民大学 IDEAS Lab 合作构建。这些评估针对的是基础版的静态图表生成;交互层自身的评估结果未出现在本次公告材料中。

MIT 许可、npm 包与托管 MCP 服务器已可用

发布形式方面,Flint-interactive 随开源项目 flint-chart 提供,仓库采用 MIT 许可。npm 上有 flint-chart(TypeScript 库)与 flint-chart-mcp(MCP 服务器)两个包;README 还给出托管 MCP 服务器端点 flint.data-formulator.ai/mcp,并列出在 VS Code 的 GitHub Copilot 与 Claude 中的接入示例,处理大数据集时建议改用本地 MCP 服务器。Python 包尚未发布,仓库内只有源码形式的预览版。

博客结尾把入口分给三类人:图表用户按指南在聊天里设置 Flint-MCP,从交互画廊寻找灵感;应用开发者用编程 API 构建仪表盘、数据故事和联动视图,并与编码智能体共享 interaction-author 技能;交互设计者则被邀请探索定制(bespoke)交互示例,设计新交互并做成可复用的预设——在 GitHub 上提议新 preset、分享原型或实现,帮助扩展 Flint 的交互词汇表。

参考链接