惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
IT之家
IT之家
B
Blog
博客园_首页
博客园 - 司徒正美
有赞技术团队
有赞技术团队
博客园 - 聂微东
I
InfoQ
美团技术团队
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog

博客园 - PetterLiu

OpenReel开源项目 OpenConnector 技术白皮书 汽车行业高效办公AI实践案例集 工业互联网零信任安全应用进展与挑战 开发思维导论:从大白话创意到AI全自动执行 从微服务到 Agent:我们到底在焦虑什么? Drain3与LogParser-LLM技术优劣势及适用场景对比 人机协作的工程化进化路线与落地案例 长视频如何实现信息压缩与细节 AI 站点可靠性工程 (SRE) Agent 苹果公司"中国+1"布局的逻辑重塑与风险对冲 训练 Agent 最怕什么?不是模型笨,是环境烂。 大语言模型自我验证机制与环境鲁棒性前沿技术研究报告 全球软件产业智能化范式转移与商业价值重构研究报告 基于AJ-Bench智能体自我验证场景案 物业行业 AI 落地避坑指南 AI 驱动的视频内容自动化创作框架ShortGPT 2026年6月份个人回顾 Skill不是长Prompt:如何写出工业级 Skill AI 驱动下的上下文治理与管理范式革命 为什么 FDE 正在成为商业落地的唯一解药 《不懂人性,就别做管理》:软件研发管理的核心洞察解读 四周实现非母语教学APP Agent Mail 产品介绍与 Trae Solo Agent 实测 AI时代团队效能的非线性陷阱与组织重构升级 AI落地三大误区与组织提效路径 AI工程化人才的角色演变与组织冲击 揭秘AI搜索时代的"GEO全链路技能库" AI领域值得关注的人与机构 MAICC 如何让 AI 团队在瞬间学会完美协作
微软开源Flint语义驱动的图表项目
PetterLiu · 2026-07-11 · via 博客园 - PetterLiu

      微软开源Flint 是一种语义驱动的可视化中间语言,它让 AI Agent 和开发者能够通过紧凑且易于人工编辑的规范,创建出表现力强且精致的图表。你无需手动调整冗长的配置细节——比例尺、坐标轴、间距、标签、颜色和布局——只需声明每个字段的含义以及所需的图表类型,Flint 编译器便会推导出其余一切。相同的输入可编译为原生的 Vega-LiteEChartsChart.js 规范。当原始数据类型(数字、字符串)与视觉编码完美契合时,Vega-Lite 和 ECharts 等声明式图表语法能运作良好。然而,当语义含义与存储表示发生偏离时,它们就会变得脆弱——例如,像 202001 这样的整数代表的是年月(YearMonth),而不是一个定量量级;将温度或比率等非加性度量进行堆叠,会产生误导性的图表;在顺序色阶上渲染发散字段则会丢失关键信息。专家可以通过编写冗长且高度耦合的规范来解决这些问题,但当需要替换字段、旋转热力图或更改图表类型时,这些规范将难以维护。Flint 将语义类型视为一等对象,并根据语义及数据特征来解析编码、布局和颜色——因此你再也无需手动应对这些问题。

image

image

SKILL在这儿里

https://github.com/microsoft/flint-chart/blob/main/agent-skills/flint-chart-author/SKILL.md

架构

image

AI 智能体在使用语义类型时的优势:

  • [x] 生成体积最小化: AI 仅需声明语义意图,无需输出臃肿的底层配置 JSON。
  • [x] 推理逻辑自洽: 基于语义约束,防止 AI 做出“对经纬度求和”等逻辑错误的视觉决策。
  • [x] 跨引擎一致性: 只需修改一个字符串即可在 Vega-Lite 或 ECharts 间切换,而无需重写渲染代码。

这些语义意图通过简洁的声明进入 Flint 的“加工厂”,随后通过精密的三阶流水线转化为最终的视觉实体。

测试

image

/`flint-chart-author` 在帮助全球经济走出疫情的低迷之后,中国的增长开始放缓。担忧是多方面的,消费者和企业都表现出疲软迹象。虽然出口依然强劲,但能源和原材料成本上升正在侵蚀工厂和零售商的利润。就业前景恶化、收入减少、粮食危机迫在眉睫以及房地产断供止赎都在给家庭带来压力。应用 AD/AS 框架绘制对应图标说明并解释经济增长是如何放缓的,以及通货膨胀是如何造成的,

image

/`flint-chart-author` 根据数据绘制合适图表 `20250101-20250331客单分析1.xlsx`

image

image

也可以用如下提示词评估

你是一个严格的评测专家。请根据以下标准对 Agent 的回答进行打分(0-10分):

【评分维度】
1. 规范正确性 (3分):
    - 是否输出了 `ChartAssemblyInput` 结构(包含 `chart_spec` 和 `semantic_types`)?
    - `chartType` 是否精确匹配 SKILL.md 中的注册名称(如 "Scatter Plot" 而非 "scatter")?
    - 是否错误地直接输出了 Vega-Lite/ECharts 的底层 JSON?(若直接输出底层 JSON 则此项 0 分)

2. 语义类型与通道映射 (3分):
    - `semantic_types` 是否选择了最具体的类型(如 Price, Temperature, Rank, Percentage),而不是全部用 Unknown/Category?
    - 通道映射是否符合逻辑(如 Pie Chart 必须用 `size` 和 `color`,Bullet Chart 必须有 `goal`)?
    - 是否正确区分了 Bar/Grouped/Stacked Bar Chart 的 `group` 和 `color` 通道用法?

3. 边界与约束遵守 (4分):
    - 数据绑定:是否避免了在 MCP 调用中内联大型数据集?是否正确使用 `data: { url: "..." }` 或 `{ values: [] }`?
    - 数据陷阱:是否识别并警告了数据中的 "Total/All" 等聚合行(Embedded totals)?
    - 转换前置:当用户要求聚合、过滤或组合图时,是否拒绝了在 Flint 内发明 transform,并建议前置数据处理?
    - 样式逃生舱:当用户要求参考线/注释时,是否明确说明了需要先 `compile_chart` 到 Vega-Lite,且修改后的 JSON 不能再传回 `render_chart`?
    - MCP 路由:是否根据“交互式”或“静态图片”正确选择了 `create_chart_view` 或 `render_chart`?

【扣分项】
- 捏造不存在的 semantic type 或 chart property(直接扣 2 分)。
- 在 `chart_spec` 中发明 `transforms` / `fold` 属性(直接扣 2 分)。
- 将修改后的 Vega-Lite JSON 传回 `render_chart`(直接扣 2 分)。

image

总结

Flint 的核心价值在于它不仅仅是一个工具库,而是一套面向未来的技术范式:

  • Flint 实现了视觉意图与渲染实现的深度解耦。
  • Flint 将复杂的绘图启发式细节封装进语义化的推理层。
  • Flint 让 AI 能够通过紧凑且具备健壮性的指令生成专业级视觉产物。