返回首页

微软发布 Flint-interactive:为 AI Agent 补上可交互图表生成语言

  • 核心发布:微软研究院推出 Flint-interactive,构建在 Flint 图表语言之上,用高层交互规格描述点击、框选、缩放、高亮与跨图联动,目标是让 Agent 生成的图表从静态图片变为可探索界面。
  • 要解决的问题:前沿模型生成交互式可视化常需多轮推理、编码与调试,布局和交互容易出错;内置交互库又不足以表达复杂需求。根因是缺少一种既具表达力又可高层描述视觉交互的语言。
  • 机制:Flint 编译器把点击、拖拽、按键等原始触发解析为标识图表元素与数据的语义事件,再把 set style、set annotation、set viewport 等更新算子翻译成画布渲染变化;用户或 Agent 只写交互逻辑,命中测试与底层视觉更新由编译器处理。
  • 接入方式:可在聊天或画布环境中通过 Flint-MCP 与 MCP Apps 使用,Agent 同时生成图表规格与 interaction_spec;应用开发者可用 Flint Interactive Canvas 的编程 API,把语义事件接到表格、文档、其他图表或应用状态。
  • 预设与定制:提供 linked-brush 等预设交互;需要更复杂行为时可定义 trigger 与自定义 handler,把语义事件映射为图表更新序列,例如点击国家后高亮并标注名称。
  • 行业意义:这项工作的重点不是再做一个图表库,而是把交互逻辑从渲染逻辑中拆开,交给编译器处理依赖关系。对 Agent 而言,这意味着生成交互图表的可靠性、token 成本与调试负担可能同时下降;对数据应用而言,图表、表格、文本与外部控件可以在同一套语义事件模型下联动。
  • 边界:公开材料以研究博客与示例为主,未披露在真实业务数据集上的生成成功率、延迟与成本对比;实际效果仍需开发者按自身 Agent 与数据负载验证。

🔗 Microsoft Research Blog | Flint 文档与示例

Flint Interactive flowchart | purple gradient backgroundAbstract teal-toned image of aluminum cans viewed from above, overlaid with a network of connected flowchart shapes (rectangles, rounded nodes, and diamonds) linked by thin line.Interactive Gapminder visualization showing linked brushing across two scatterplots of countries in 1952 and 2007. Each plot charts GDP per capita on the horizontal axis and life expectancy on the vertical axis, with countries colored by continent. A blue rectangular selection highlights a group ofgraphical user interface, chartInteractive Gapminder dashboard for 2007 showing a table of countries alongside a bubble chart comparing GDP per capita and life expectancy. In the table, the row for the United States is selected and highlighted, displaying GDP per person of $42,952 and life expectancy of 78.2 years. The correspondInteractive climate visualization showing a seasonal phase portrait for five U.S. cities, with temperature (°C) on the horizontal axis and precipitation (mm/day) on the vertical axis. Seattle is selected, and its annual weather cycle is displayed as a connected path labeled by month from January thr