资讯动态

174、让Agent看懂图表:视觉推理

发布时间:2026/10/17 7:07:59 来源:尧图企业网站定制
这一篇笔记,得从上周调的一个生产问题说起。客户那边有个Agent,任务是盯着一堆行业报告里的柱状图,自动提取某个季度的营收数据。日志里看,模型明明把图“看”了,也输出了数字,可跟真实报表一对,差了整整一个数量级。最诡异的是,它给的结论跟图例里的单位完全对不上——图例写的是“百万美元”,它当成“万”来理解。我拉出原始图片,一眼就看出问题在哪:那张图左上角有个很小的“Total”标注,模型把那个值当成了季度值,而实际上那是全年累计。这种错误,人一眼就能识别出“这是合计不是季度”,但Agent就是傻傻地信了视觉编码。后来我翻了不少类似场景,发现“让Agent看懂图表”这事,远比“让Agent识别图片里的文字”难得多。图表本质上是视觉符号系统,横轴、纵轴、坐标系、颜色分组、图例、标注,每一层都在传递信息。而大多数多模态模型在训练时拿到的图文对,往往是“图+一段描述性文字”,这导致它们在生成时倾向于“描述图表像什么”,而不是“推理图表意味着什么”。换句话说,它们擅长写“这是一张2023年各季度营收柱状图”,却不擅长回答“Q3比Q2增长了多少百分比”或者“哪两个季度之间差距最大”。有个老办法是把图先转成Markdown表格或者JSON,再丢给Agent做推理。这个路子能用,但很容易踩坑。我曾经就让模型直接输出表格,结果它把柱状图里的刻度线也当成了一列数据,输出了一堆莫名其妙的数值。后来我学乖了,在prompt里明确写“忽略网格线,只读取数值标签”,可新问题又来了:有些柱子的顶端没有数值标签,模型就靠“目测”像素位置来猜高度,误差大到离谱。真正的解法,是让Agent学会“读坐标”,而不是“读像素”。具体怎么做?下面边写边聊。当时我重新设计了视觉推理链路,核心是引入“结构化中间表示”。所谓中间表示,就是让模型先不要急着给答案,而是

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑