从能画图到画对图:LakeMind ECharts 可视化体系的三周进化史
引子会查数的 Agent不一定会画图做过 Data Agent 的人大概都有同感让 LLM 写 SQL 查数只是前半程真正的最后一公里是把结果呈现给人看。表格适合精确读数但趋势、占比、对比这些诉求只有图表能回答。问题在于大多数 Agent 产品的图表能力是一次性的后端拼一个图表配置前端渲染出来故事就结束了。图丑、图错、图看不懂都没人管。LakeMind 走了一条不同的路把图表当作一个需要持续进化的产品能力来做。从 2026 年 6 月 27 日第一次提交 render_chart 工具到 7 月 12 日修复流式渲染下的图表重建风暴仓库里留下了二十多条 chart 相关的提交记录。这篇文章就顺着这些提交复盘一套 AI 图表体系是如何从能画进化到画对的。一、第一版先解决有没有render_chart 落地6 月 27 日第一版的设计很克制。提交 3df43c9 引入了 render_chart 工具和前端 ChartSegment 组件Agent 在对话中生成柱状图、折线图、饼图、散点图四种基础图表每个图表段还带一个可折叠的 SQL 区块让用户随时能看这张图的数据是怎么算出来的。这一版有一个重要的设计决策图表类型不是 LLM 一锤定音的。基础类型之间允许用户手动切换——Agent 给了柱状图用户觉得折线图更合适点一下 tab 就能换。这个决策背后的判断是LLM 对哪种图更合适的判断经常不稳定与其赌单次准确率不如把纠偏权交给用户。二、当天连环打磨ECharts 默认配置只适合做 Demo有意思的是第一版落地当天就迎来了连环打磨几条提交把能画往能看推了一大步6185cf3图表类型切换 tab 上的 emoji 换成统一风格的 SVG 图标去掉 hover 边框和多余标题让图表段在对话流里不那么跳戏1369bf2为深色主题定制高对比度色板坐标轴、tooltip、文字、图例全部统一适配柱状图加圆角、折线加粗2524764修复两类经典布局事故——图例与坐标轴重叠改为根据图例行数动态计算 bottom 留白以及饼图被标题遮挡整体下移。这几条提交看似琐碎其实指向同一个经验ECharts 的默认配置是为 Demo 设计的拿到真实产品里配色、留白、层级全都要重新过一遍。尤其是 Agent 场景图是嵌在对话流里的视觉噪音比普通报表页面更致命。三、画图之前先回答要不要画图表能力上线后很快暴露另一个问题Agent 太爱画图了什么问题都先甩一张图哪怕答案明明是一行数字。提交 8f15356 在系统提示词PREAMBLE中加入了可视化判断准则明确何时用表格、何时用图表避免每次都画图。同一天的 1a038db 和 ea7f8ac 则建立了图表类型治理新增漏斗图和仪表盘两类特殊图表用于转化漏斗分析与单值指标展示但它们不参与基础类型切换——特殊图表是 Agent 基于分析场景的刻意选择不该被用户误切成饼图。“基础类型随便切特殊类型听 Agent 的”这条规则把自由度和确定性划开了。四、桌面端的特殊需求全屏与高清导出7 月 10 日进入 7 月图表体系开始补桌面端特有的能力。提交 67cd552 一次性加入全屏查看与高清图片导出3758587 让全屏浮层里也能切换图表类型70dead6 针对 macOS 优化全屏渲染与布局。其中 7383b24 值得单独说保存图片最初走的是浏览器下载 API但在 Tauri 桌面应用里Webview 的下载行为并不可靠这条提交改为调用 Tauri 后端命令唤起系统原生保存对话框后端新增约 50 行命令代码。这是桌面应用与 Web 应用差异的一个缩影——许多 Web 上理所当然的能力到了桌面端都得重新走一遍原生链路。五、表达的正确性双 Y 轴与单位7 月 11 日真正让图表从好看走向正确的是 7 月 11 日的两条提交。2d9a8f2 解决的是经典的量纲碾压问题当销售额和转化率放在同一张图上时共享 Y 轴会把转化率压成贴着零的一条线。这条提交给 render_chart 增加了 right_y_fields 参数让 LLM 可以把不同量纲的序列放到右侧 Y 轴单轴还是双轴由分析场景决定同时右轴隐藏分割线、网格右侧加宽轴名称自动取自该轴上的序列。3876dfd 则补上了单位新增 y_field_labels 参数列名到带单位可读标签的映射让图例和轴名称直接显示单位。提交信息里有一句话说得很直白双 Y 轴图如果没有单位读者根本无法判断右轴是百分比还是 0-1 小数。更值得注意的是这两条提交的配套动作它们不只改了代码还同步更新了 PREAMBLE 和 tenets 准则库中的>六、主题重构与流式渲染的性能坑7 月 11 日—12 日7 月 11 日 LakeMind 整体重构了浅色主题图表跟着重做了一版浅色风格17d6057全屏浮层与头部也补齐了浅色适配。7 月 12 日的 abcf732 则是整个进化史里技术含量最高的一条修复。背景是内联图表引用机制上线后Agent 可以在文字总结里用 {{chart:}} 标记把已生成的图表嵌进正文这部分机制此前已有专文分析流式输出期间出现了严重卡顿。排查结论很有代表性流式追加文本时前端状态每个 token 都会产生新的数组引用导致图表块的 memo 重算、每次 map 都生成全新的块对象而 SolidJS 的 For 组件是按对象引用做 key 的引用一变就销毁重建——等于每个 token 都在对所有内联图表执行一次 echarts.dispose() 加 echarts.init()。修复思路是给解析结果做引用级缓存以图表标记为 key 缓存已解析的块对象只要引用未变就复用同一个对象For 组件便不再重建。修复后图表在标记闭合的瞬间就能出现在流式文本中间且全程零重建。这条提交还顺手修了一个细节未闭合的标记会显示一个占位徽章而不是把原始花括号泄漏到正文里。七、复盘三条可以带走的经验回头看这三周、二十多条提交有三条经验对做 AI 产品的同学应该有参考价值。第一图表库的默认配置只够做 Demo。配色、留白、图例位置、主题适配每一项都要按真实产品标准重新过一遍而且这是一项持续工作不是一次性装修。第二可视化准则要编码进系统而不是靠提示词口头叮嘱。LakeMind 的做法是把准则拆成三层工具参数层right_y_fields、y_field_labels 让正确性变成接口约束、提示词层PREAMBLE 里的判断规则、准则库层tenets 中可检索的>

相关新闻

2026半导体行业标签管理方案深度解析

2026半导体行业标签管理方案深度解析

导语:半导体行业标签管理的精细化挑战半导体制造是典型的多品种、多批次、高精度行业。从晶圆切割到封装测试再到芯片出货,每一个环节都依赖标签实现物料追踪、质量追溯和客户交付。随着半导体产业链向更高精度、更复杂工艺演进,标签管理早已…

2026/8/6 12:27:59 阅读更多 →
JS几种主要的循环方法

JS几种主要的循环方法

一、for 循环for 循环是最基础的循环结构&#xff0c;适用于已知循环次数的场景。for (let i 0; i < array.length; i) {console.log(array[i]); }二、for...in 循环for...in 循环用于遍历对象的可枚举属性。注意&#xff1a;fo…in循环一般用于对象的遍历&#xff0c;但是…

2026/8/6 12:26:58 阅读更多 →
暗黑3技能连点器完整指南:5分钟掌握自动化战斗技巧

暗黑3技能连点器完整指南:5分钟掌握自动化战斗技巧

暗黑3技能连点器完整指南&#xff1a;5分钟掌握自动化战斗技巧 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 暗黑破坏神3是一款动作角色扮演游戏&a…

2026/8/6 12:26:58 阅读更多 →

最新新闻

2026涉密项目投标缺资质怎么补救?3类缺口的应急判断与行动清单

2026涉密项目投标缺资质怎么补救?3类缺口的应急判断与行动清单

周一上午&#xff0c;一家做安防工程的企业接到消息&#xff1a;某单位涉密安防监控项目正在招标&#xff0c;投标截止周五下午。负责人让投标专员赶紧准备&#xff0c;专员翻完招标公告的资格要求&#xff0c;发现一条——"供应商须具备涉密信息系统集成资质&#xff08;…

2026/8/6 13:14:24 阅读更多 →
SVN服务搭建实战:账号管理、自动更新与日志权限控制

SVN服务搭建实战:账号管理、自动更新与日志权限控制

1. 项目概述&#xff1a;从零搭建一个可控的SVN服务 在团队协作开发中&#xff0c;版本控制是基石。虽然Git如今风头正劲&#xff0c;但在许多传统企业、游戏开发、嵌入式或特定规范的软件项目中&#xff0c;SVN&#xff08;Subversion&#xff09;凭借其集中式管理、严格的目录…

2026/8/6 13:14:24 阅读更多 →
d2dx终极指南:三步让经典《暗黑破坏神2》在现代PC上重获新生

d2dx终极指南:三步让经典《暗黑破坏神2》在现代PC上重获新生

d2dx终极指南&#xff1a;三步让经典《暗黑破坏神2》在现代PC上重获新生 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 还在…

2026/8/6 13:14:24 阅读更多 →
绝缘油介质测试仪深度解析:与击穿电压、油色谱的技术差异

绝缘油介质测试仪深度解析:与击穿电压、油色谱的技术差异

在电力系统的安全运行中&#xff0c;绝缘油作为变压器、电抗器等充油设备的核心绝缘与冷却介质&#xff0c;其性能状态直接关系到电网的稳定性。随着高压、超高压电网建设的推进&#xff0c;传统的单一检测手段已难以满足现代运维对"预知性维护"的需求。本文将从技术…

2026/8/6 13:14:24 阅读更多 →
华润新能源并购重组与上市消息是真的吗?关于中国政企合作及近期传言的分析

华润新能源并购重组与上市消息是真的吗?关于中国政企合作及近期传言的分析

近期&#xff0c;市场上出现了一些与华润新能源有关的会议、文章和网络消息&#xff0c;引起了不少人的关注。其中&#xff0c;有不明主体冒用“华润新能源”的名义&#xff0c;利用所谓“上市答谢会”“华润新能源与中国政企合作投资基金并购重组战略交流会”等活动&#xff0…

2026/8/6 13:14:23 阅读更多 →
Seraphine:英雄联盟智能助手的完整使用指南

Seraphine:英雄联盟智能助手的完整使用指南

Seraphine&#xff1a;英雄联盟智能助手的完整使用指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否曾在英雄联盟的BP阶段感到迷茫&#xff0c;不知道该禁用哪个英雄&#xff1f;是否在进入游戏后才…

2026/8/6 13:13:23 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述&#xff1a;为什么我们需要深入LimboAI的C内核&#xff1f;如果你是一名使用Godot引擎的游戏开发者&#xff0c;尤其是对AI行为逻辑有较高要求的项目&#xff0c;那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好&#xff0c;我是老张&#xff0c;一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架&#xff0c;处理了角色移动和碰撞&#xff0c;这一期&#xff0c;我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延&#xff0c;无需电控启动&#xff0c;是建筑被动消防系统核心构件&#xff0c;行业依托新规管控、城市更新、工业安全升级迎来稳定扩容&#xff0c;整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流&#xff1a;一个核心问题的诞生想象一下&#xff0c;你是一个城市供水系统的总工程师。你的城市有多个水源&#xff08;水库&#xff09;&#xff0c;需要通过一个复杂的地下管道网络&#xff0c;将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起&#xff1a;为什么我们需要互相关几年前&#xff0c;我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号&#xff0c;理论上它们接收到的声音波形应该非常相似&#xff0c;只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →