AVA 4.0:让 Agent 用企业数据回答业务问题

数据可视化 AntV · 软件开发

原创 半璇 2026-11-04 18:06 浙江 AVA 4.0 是 一套面向 JavaScript 应用和 AI Agent 的开源数据分析与可视化框架。 今天,让 AI 写一段 SQL、生成一张图表,已经不难。但面对真实的业务问题,挑战才刚刚开始:数据分散在不同系统,指标有各自的计算口径,分析结论需要经得起核对。 AI 数据分析需要的不只是一个更强的模型,还需要可信的数据上下文、可靠的计算和清晰的可视化。 这正是 AVA 4.0 想要解决的问题。AVA 是 一套面向 JavaScript 应用和 AI Agent 的开源数据分析与可视化框架 。 3.0 基于规则与统计方法,聚焦数据洞察与图表推荐,帮助开发者发现数据中的异常、趋势,并选择合适的图表。4.0 进一步面向 AI Agent,打通数据接入、分析执行与可视化表达。Agent 可以结合业务口径理解问题,调用 AVA 查询和计算数据,再用图表呈现结果。 💡 先看看 AVA 4.0 的几个核心亮点: 快速接入现有 AI Agent 可信分析,结论有据可查 多源异构数据,统一接入 自动发现洞察 数据安全,运行环境自主可控 智能可视化,自动推荐合适图表 <<< 左右滑动看更多 >>> 如果你熟悉 PandasAI,可以把 AVA 理解为 JavaScript 生态中面向 AI Agent 的数据分析与可视化框架。 从一个业务问题开始 一次经营复盘,往往从一个问题开始: “净销售额下降,要不要加大投放?” 这个问题同时包含对现状的分析和对下一步行动的判断。回答它,需要先确定净销售额的含义、比较周期和退款归属,再检查下降来自哪里,以及现有数据能否支持增加投放的建议。 我们用同一份模拟零售数据,连续提出三个问题: 1. 净销售额下降后的投放判断 2. 核对净销售额有没有算对 3. 看清两个部门怎么算销售额 *限于推文篇幅,完整的真实对话与分析过程,请前往 AVA 官网查看。 这个案例的背后,是 AVA 提供的数据理解、分析执行和可视化能力。开发者可以通过 Skill、CLI 或 SDK 将这些能力接入 Agent,让它围绕业务问题开展分析。 AVA 分析链路图 统一业务口径,建立分析共识 可靠的数据分析,需要一套人和 Agent 都能复用的业务定义:指标怎么算、时间如何归属、数据如何关联。定义明确,渠道拆解、商品分析和跨期比较才有共同依据。 AVA 定义了统一的 数据模型(DataModel) ,为查询生成提供标准化的上下文: 上下文 职责 典型内容 结构元数据(Schema) 描述数据的组织结构 表与视图、字段类型、键约束及关联关系 统计画像(Profile) 描述数据的实际取值特征 行数、空值数、基数、取值范围与高频值 业务语义(Semantic) 定义业务概念与数据的映射 指标表达式、分析维度、时间口径与业务关联 大模型很强,但把自然语言准确转成 SQL,仍然是难题。 我们使用 GLM-5.1,在公开数据分析基准 DataBench 和自然语言转 SQL(NL2SQL)基准 Spider2-Lite 的 SQLite 子集上,比较了模型获得不同数据背景时的表现。 数据背景评测对比 在 Spider2-Lite SQLite 子集中,仅提供表头和数据样例,正确率为 25.9% ;补充数据结构和统计画像后为 33.3% ;进一步加入业务定义后为 80.7% 。当然,更多背景信息也会增加模型的 Token 用量。 要让模型算对业务问题,还需要语义层。 数据结构告诉模型有哪些字段,业务定义则告诉它指标怎么算、数据如何关联。把这些知识沉淀下来,人和 Agent 才能复用同一套分析口径。 连接多源异构数据,支撑复杂分析 订单在数据库里,广告数据在文件里,经营记录在飞书表格里。一次销售复盘,往往需要串联多个数据源,对大量明细进行筛选、关联和汇总。 面对这些任务,AVA 的分工是: 模型组织探索,程序承担计算。 模型负责拆解问题、生成查询和选择下一步;执行引擎处理数据并返回结果或错误,供模型继续比较和下钻,无需将整张原始表放进模型上下文。 AVA 通过统一接口接入 10+ 种数据源 ,让应用在不同数据来源之间复用分析流程。 多源数据接入图 接入数据后,AVA 可以根据数据所在位置和分析需求,使用不同的执行引擎完成计算: • 文件分析 :使用 DuckDB 2.0 完成筛选、聚合与多表关联,能支撑约 6 亿行 数据上的文件查询。 • 数据库分析 :ClickHouse、Supabase 在数据库侧完成计算,利用已有算力返回查询结果。 • 代码计算 :Python/pandas 承接复杂变换与数值计算,JavaScript 支持浏览器或 Node.js 中的轻量处理。 分析执行引擎图 以可视化

查看原文