企业级数据智能体:阿里云Data Agent的构建与实践

阿里云DMS Data Agent:突破传统分析边界,实现企业级深度数据洞察与智能决策。

原文标题:如何构建企业级数据智能体:Data Agent 开发实践

原文作者:阿里云开发者

冷月清谈:

本文深入探讨了阿里云DMS如何构建其企业级数据分析智能体(Data Agent for Analytics)的技术思考与实践。该产品定位为基于Agentic AI技术,旨在帮助企业用户实现数据查询、分析、报告生成及深度洞察。
文章首先明确了Data Agent与传统ChatBI/NL2SQL的区别,指出Data Agent不仅能覆盖描述性、诊断性分析,更能拓展至预测性、规范性等高级分析能力,打破了传统分析壁垒。其核心价值在于降低高级分析门槛,摆脱预定义限制,实现端到端分析闭环,并具备处理企业级大规模数据的能力。
在技术内核方面,文章详细介绍了Data Agent如何优化LLM的局限性,包括通过多层知识与记忆管理实现深度语义理解;利用Agent Core Loop构建规划、分析、反思、学习的智能认知系统进行上下文管理;特别强调了以Code-based Reasoning为核心策略来抑制幻觉,将最终答案生成的责任转移给代码执行引擎,并通过Verify机制确保可解释性与可复现性。此外,Data Agent在工具使用上保持克制,通过统一的交互协议与云原生沙箱环境进行Python、SQL等代码执行,实现与数据分析生态的深度融合。
最后,文章总结了Data Agent所需具备的企业级能力,包括可验证的智能、数据资产化管理、协作与分工、安全合规、企业内生态集成与扩展,以及持续学习与适应,以确保其在企业生产链路的可靠性、可控性与可复用性,助力企业实现更深刻的数据洞察。

怜星夜思:

1、文章里提到Data Agent在深度分析时可能会有更高的延迟和Token消耗,这对于我们公司日常的快速决策场景来说,是不是成本太高了点?大家觉得在实际企业应用中,怎么平衡这种深度分析能力和实时性及成本呢?
2、Data Agent的Code-based Reasoning和Verify机制听起来能减少幻觉,但如果AI给出的分析结果和我们业务人员的直觉完全相反,或者发现它对某个特定指标的理解有偏差,我们该如何有效地介入和校正呢?毕竟最终拍板的还是人,这种“人机互信”怎么建立?
3、文章说Data Agent能降低高级分析门槛,还能自主探索数据,那我作为做数据分析的,以后是不是就没啥事干了?大家都觉得未来数据分析师的角色会怎么变?是解放双手去干更高级的活儿,还是直接被替代?

原文内容

前言

“What I cannot create, I do not understand.”  --  Richard Feynman

2025年3月,笔者曾撰文探讨LLM驱动的AI Agent如何重塑人机协同模式,彼时更多聚焦于技术实验与理论推演,尚未在实际业务场景中落地。如今,随着Agentic AI技术的成熟,Data Agent for Analytics 正式从实验室走向企业生产一线——它不仅是对AI Agent潜力的验证,更是企业级数据分析范式的革新。 

本篇将介绍DMS的一款数据分析智能体(Data Agent for Analytics )产品的技术思考和实践。Data Agent for Analytics 定位为一款企业级数据分析智能体, 基于Agentic AI 技术,帮助用户查数据、做分析、生成报告、深入洞察。由于不同产品的演进路径,背景都不一样,所以只介绍最核心的部分,来深入剖析如何构建企业级数据分析助手:能力边界定义,技术内核,企业级能力。希望既能作为Data Agent for Analytics产品的技术核心介绍,也能作为读者的开发实践的参考。

能力边界定义

与ChatBI/NL2SQL的区别

很多客户会问Data Agent是不是ChatBI,是不是另一个NL2SQL产品。我一般都会明确回答不是,并补充Data Agent 使用了ChatBI和NL2SQL相关的技术。但为了更好的让用户理解本质的区别,需要先做一些概念的抽象, 聚焦在数据与分析技术领域上,以及对Agentic AI的介绍,  抽象能够更好的理解。

定义分析技术

数据与分析主题在大语言模型起来之前已经比较热门。我们可以借助Gartner对数据与分析的定义,尝试把Data Agent的分析能力边界定义清楚。 Gartner把数据和分析定义为:管理数据以发挥数据作用,分析数据以优化决策、业务流程和成果的方法。并将核心分析技术按照目标分为四种:

  • 描述性分析(Descriptive analytics使用BI工具、数据可视化和展示面板来回答:发生了什么?

  • 诊断性分析(Diagnostic analytics需要更深入的分析和数据挖掘能力来回答:为什么会发生?

  • 预测性分析(Predictive analytics通过概率预测或模拟一段时间内一系列结果 来回答:可能发生什么?

  • 规范性分析(Prescriptive analytics ):以结构化方式整合已有的知识和优化技术,在约束范围内寻找最佳结果并生成可执行的行动计划,以此来回答:应该做什么?

传统的BI分析

 ChatBI或NL2SQL类的产品分析技术本质上在传统的BI分析基础上结合了LLM能力。 传统的BI分析侧重描述性分析和诊断性分析,也就是回答发生了什么,为什么会发生问题,为决策提供事实依据 典型流程是:业务系统,ETL工具,数据仓库,预定义指标最后到报表和仪表盘。

传统的BI分析技术,优势在于直观可控, 业务人员可以自主地生成报表, 工具链完整,技术成熟。 劣势主要在分析能力上,比如深度上存在局限,依赖预定义指标,需提前定义分析维度和提出假设,比较难以发现隐藏洞察。

高级分析技术

传统的BI分析对于预测性或者规范性的分析洞察是比较困难的,所以这里提出了高级分析技术, 涵盖了预测性,规范性和人工智能技术偏向于使用数据科学和机器学习技术,主要流程包含数据处理与特征工程,模型构建,模型推理最后到行动建议。

高级分析技术的优势是可以利用不同的数据输入类型和来源,为分析者提供更多的角度洞察,推动企业作出更明智的商业决策。通过ML模型预判趋势/风险,优化算法生成行动方案,以及从非结构化数据中挖掘关联规则,比如自然语言处理,挖掘隐藏模式等。 劣势主要是门槛较高,落地周期长。 数据类型支持上,除了结构化数据, 相比传统BI分析,多了非结构化,实时数据流以及图关系数据,所以对数据治理要求也比较高。 另外涉及到机器学习,尤其是用到了深度学习模型,可解释性存在挑战。 

Data Agent的价值主张

我们现在可以更明确地定义DMS Data Agent for Analytics了。 我们希望把 Data Agent 定位为一款能够同时覆盖传统BI分析(描述性、诊断性)和高级分析(预测性、规范性)能力的智能体。也就是既可以作为自然语言到SQL查询的转换工具(NL2SQL),也可以生成预定义报表的聊天式BI(包括ChatBI),更重要的是一个具备理解分析意图、规划分析路径、执行复杂任务、并生成深度洞察的自主智能系统

这里先尝试定义Data Agent的价值主张,技术实现也是围绕以下的价值主张:

  • 打破分析能力边界: 用户无需预先知道该用描述性统计还是构建预测模型。Data Agent 能根据用户模糊或复杂的自然语言提问(比如“为什么上季度华东区销售额下滑?预测下季度趋势并给出改善建议”),自动判断所需的分析技术组合,无缝衔接查询、诊断、预测和规划。

  • 降低高级分析门槛: 将复杂的机器学习、优化算法等高级分析能力封装在Data Agent内部,用户通过自然语言即可调用,无需具备数据科学专业知识,缩短从问题到洞察的行动路径。

  • 摆脱预定义的限制: 不再局限于预定义的指标、维度和仪表盘。Data Agent 能动态探索数据,发现预定义框架之外的隐藏模式、关联关系和异常点,提供更全面、更深入的洞察。

  • 实现端到端分析闭环: 从数据查询、可视化、根因诊断、趋势预测到行动方案建议,能够在一个连贯的交互过程中完成,过程可解释,分析过程可复用,提供闭环的分析体验。

  • 具备企业级更大规模数据的分析能力:不限于分析数据库或者表格文件,借助于云原生计算能力,能够无缝对接大数据生态,使用分布式计算(Spark/Ray)实现海量,多模的数据实时分析。

Agentic AI 能力对比

Data Agent与ChatBI等市面上其他的问数的产品区别是什么呢?毕竟都在强调具备Agentic AI的能力。 Agentic AI(智能体驱动的人工智能)的概念在LLM出现之前就存在(例如在强化学习、传统AI中), 但随着LLM能力的突破性进展,Agentic AI作为新一代AI范式被广泛认可。其核心可定义为:以大型语言模型为认知引擎,具备自主决策、目标导向和环境交互能力的智能体系统

我们可以从利用模型推理的程度来进行分别,也就是Test-Time Scalling。 是模型推理阶段的Scaling Law。 

随着OpenAI o1和DeepSeek R1等模型展示了强大的CoT推理能力,业界认识到增加推理计算量能显著提升复杂任务的准确性。这催生了TTS(Test-Time Scaling)这一新兴的研究领域。TTS模仿了人类在处理困难问题时的倾向,也就是投入更长的时间和更多的思考资源来提高决策的可靠性, 对于AI Agent来说, 通过增加LLM的测试时间, 可以增强其自我改进,减少人工监督。 接下来我们结合TTS从架构差异,性能和适用场景进行简单对比。

  • 架构的差异:

  • ChatBI(问数优势:架构简洁,基于NL2SQL技术,易于集成现有BI平台,支持快速意图识别和可视化输出,适合对话式交互。局限:TTS应用有限(简单的CoT),被动响应模式,缺乏上下文记忆和多步推理,难以处理复杂查询和根因分析。前期配置工作较多,比如需要对接入的数据源进行清洗,质量优化。同时为了提高自然语言查询的准确度,需要预定义好数据模型(维度,独立,层次关系等)

  • Data Agent 优势:多代理架构,集成知识库和长期记忆,深度应用TTS(多路径探索、迭代采样),支持主动监控和个性化洞察。局限:架构复杂,实施门槛高,对于简单的问题容易陷入复杂的逻辑陷阱中,导致取数效率不高。

  • 性能:

  • ChatBI(问数响应速度快,低延迟(单轮100-5000 Token)适合即时洞察(如销售汇总、图表生成)推理深度有限,缺乏主动性。

  • Data Agent深度分析(异常检测、预测建模、行动建议)支持多源数据处理延迟较高,Token消耗大,但可以基于问题的难易程度实现推理时间的最优分配。

  • 适用场景:

  • ChatBI(问数):适合标准化、高频的简单查询场景,但对数据质量要求极高,需要提前做数据建模。

  • Data Agent:适合复杂、个性化的分析场景,对数据质量要求不高,提供主动式、智能化的数据洞察体验。

总结

最后,我们可以用表格对传统BI/ChatBI,高级分析和Data Agent差异化进行总结:

维度

传统 BI 分析/ChatBI

高级分析(数据科学 / ML)

Data Agent for Analytics(Agentic AI)

典型技术栈

SQL、ETL、可视化报表、OLAP、多维分析

机器学习、预测模型、优化算法、NLP、深度学习

融合了BI分析和高级分析技术

分析方式

预定义指标、固定维度的报表分析

需要专家设计算法与特征工程

自然语言驱动、自主任务规划与工具调用

使用门槛

低,业务人员可用

高,需数据科学家介入

低,用户自然语言交互

高,AI 自动调用高级分析

核心能力

描述性、诊断性分析

预测性、规范性分析

自主推理 ,智能工具协作

可解释性

传统BI:强,逻辑固定,可视化清晰

ChatBI/NL2SQL:弱,一次性产生结果,SQL生成不可追溯。

弱,模型黑箱,结果难解释

强,同时具备高级分析的智能深度与BI系统的透明度,生成可执行中间逻辑,分析路径与计算过程可验证、可复盘

扩展与集成

内部系统集成有限

需定制开发与模型部署

原生支持云原生计算、API、企业生态融合

技术内核

通过前面的介绍,Data Agent将LLM作为认知引擎。 LLM基于语言模式的统计学习,缺乏对事实世界的真实理解。生成的内容是对训练数据中模式的重组,而非基于逻辑推理的事实表述,这就会导致数据分析过程中,有可能出现幻觉。  其次是上下文学习能力(ICL)的局限性,比如差的Few-shot会误导后续推理,泛化能力问题,难以理解复杂场景下的深度语义和意图等。 另外是工具使用上,一方面LLM对于太多工具难以适应,一方面工具调用也存在安全的风险。 

接下来重点介绍 Data Agent 针对以上的问题是如何优化的,以及如何让LLM像分析师一样思考与行动,包含以下几个方面:

  • 深度语义理解

  • 上下文管理

  • 幻觉抑制

  • 工具的使用

深度语义理解

首先需要理解用户想要什么,当用户说"分析一下销售表现"时,作为数据分析的智能助手, Data Agent需要考虑提问者的角色背景、所处的业务场景、以及历史对话记录中学习的用户偏好,计算口径等,需要记忆沉淀能力。

其次是语义理解,语义理解的复杂性体现在同一个词在不同行业、不同公司甚至不同部门都有不同含义。"活跃用户"在电商场景下可能指30天内有购买行为的用户,在社交产品中可能指7天内有登录行为的用户,在SaaS产品中可能指当月有核心功能使用的付费用户。Data Agent必须维护这些领域特定的语义映射,并在对话中动态选择正确的解释。

数据的元数据(Catalog)决定Data Agent的数据理解, 比如多表关联查询,或者某个字段的分布特征,如果一开始 Data Agent不理解或者未完全理解,直接导致后续分析逻辑错误,我们把数据理解作为独立模块,便于在用户录入和分析过程中可以复用。

计算口径的澄清是语义理解的另一个关键维度。企业数据分析中最常见的问题之一就是:同样的指标名称,不同团队计算出的结果不一样,这往往源于对计算口径的理解差异。是否包含退货、是否剔除测试订单、是用下单时间还是支付时间、汇率是用实时还是月末等等。

我们把以上的内容抽象为知识和记忆。

知识与记忆形成了人对事物的认知,AI Agent中的知识和记忆是什么呢?在AI  Agent 系统中,“知识”通常指Agent可获取的领域事实、规则或静态信息,如预先收集的文档、知识库或训练数据中的隐式知识;而“记忆”指Agent在交互过程中动态记录的上下文信息和经验,如用户历史对话、偏好或之前决策。知识和记忆如同光谱的两端,二者在某种程度上可以相互转化。 

  • 左侧是具体,个性化的记忆,偏向具体的事实记录,有情景性和特殊性。

  • 右侧是抽象,通用的知识,原理和规则,具有逻辑性强,通常是经过整理和归纳的通用信息。

  • 中间存在过渡状态,如同光谱的颜色渐变一样,当记忆被多次验证、结构化、抽象化后,它可以上升为知识;反之,当知识被个性化使用时,也会沉淀为新的记忆。

 

哲学家对知识的定义始终未达成一致,不过我们可以尝试定义 Data Agent的知识,可以按照不同的抽象层次进行划分:

  • 底层是基础数据知识,关于数据本身的详细信息,包括数据的Catalog(通常包含库表列,名称含义、数据类型,存储方式,采集来源,数据血缘等),是 Data Agent理解和获取原始数据的基础。

  • 中间为分析方法知识,包含各种用于处理和分析数据的算法,模型,统计方法或口径,以及自定义的分析流程, 决定 Data Agent如何从原始数据中提取有价值的信息和规律。

  • 最高层为行业通用知识,包含通用的业务逻辑,行业术语(黑话),概念以及行业的一般性规则和理念等,用于指导 Data Agent的分析方向,如何解读分析结果,并使得 Data Agent以符合行业或公司习惯的方法进行交流和应用分析结果。

知识和记忆的难点在于如何召回,二者的召回目的,流程和策略都有较大的差别,知识的目的是保证分析的正确性与通用性,提供确定性,逻辑规则,而记忆是为了连续性和情景化。 策略上,知识可以使用RAG,层级(上文的三个抽象层级)分类召回。 而记忆需要根据时间和热度召回,记忆需要具备遗忘机制。

最后,人与人之间沟通需求时,也不是一次问答就能够清晰明了的,所以多轮对话也是必要的, 这就要求 Data Agent 需求分析模块具备“反向提问”的能力,当模型检测到语义置信度不足,通过Human-in-the-Loop 意图澄清机制,使得Data Agent能够在前期确保问题被正确定义。


不阻塞分析-提示


阻塞分析-需要明确反馈

在语义结构明确后,Data Agent 会自动生成意图执行计划,以结构化方式给用户展示分析思路,用户也可以根据需要进行调整。 


执行计划概览


展开后的计划详情

如何处理开放式探索性类型的问题, 很多时候用户可能也不知道怎么提问,就像老板给你分配一个模糊的任务一样,老板内心里面可能希望你发现一些洞察,但是不知道具体是什么。 这类问题对人来说简直是天灾,没有目的地分析,对于认真工作的你来说,往往需要耗费更多的精力。 但是对于Data Agent来说,这反而是其最擅长的点。 Data Agent可以结合业务语义,数据语义从不同的角度进行分析。在这个过程中,可能会给你更多的启发,帮助你进一步下钻分析。

Data Agent一轮分析完后给出问题建议,帮助用户进一步洞察

上下文管理

Context Engineering 是当下比较流行的AI Agent开发的工程实践, 针对每一次给到LLM的上下文进行动态的设计,构建,和优化,上下文内容除了系统提示词、角色和目标描述、用户需求外,还有对话历史,外部知识,工具调用等。 简单来说,上下文工程决定了模型知道什么,何时知道以及何种方式知道, 最终目的是LLM在约束的搜索空间下, 可以更好的理解、推理和决策。

如下图,Data Agent 的上下文管理实际上是一个完整的智能认知系统的构建,核心流程如下:从规划,分析,反思到学习,构建一个完整的智能认知系统。 


 Agent Core Loop

进一步展开,如下图, 从右往左看:


Data Agent上下文管理

  • Data Agent通过Multi-Agents协作,每个Agent具备独立的上下文管理能力,有助于进一步缩小模型的搜索空间, 通过协作完成复杂的任务。

  • Context Windows内容是动态的,也就是大家常看到的上下文管理能力, 比如长度控制,KVCache优化, 按需从长期记忆层寻找相关规则和知识内容。 

  • 我们称为Cognition,有点拟人化意思。 包含前文描述的三层知识(基础数据知识,分析方法支持和行业通用知识),同时包含Agent的长期记忆,  作为 Data Agent的认知基座,为每次分析提供认知支撑。 

  • 最左边是外部输入层,具备多源知识融合能力, 主要负责将文档、数据库、实时搜索等异构数据源统一处理,通过知识图谱和向量化技术实现语义级的知识存储和检索。

幻觉抑制

用户经常会问使用Data Agent做数据分析,模型有上下文窗口限制,是怎么放得下的, 我们通常回答放不下,因为Data Agent并不会把用户的原始数据给到模型上下文, 根本原因不是上下文窗口问题,而是模型推理的本质, 虽然今天像Qwen,DeepSeek这类模型具备Thinking模式,模型进行依然是语义空间的模式匹配和概率推理,对于精确的数值计算,逻辑推导,模型本质是在模拟计算过程,而非真正执行计算。 比如下面的例子, 模型会根据问题进行下一个Token预测, 如果使用Greedy Decoding方式,每次取概率最大的Logis或token,很有可能计算错误,设置不同的tok_k或者temperature会产生不一样的结论。

来自:Chain-of-Thought Reasoning without Prompting

 如果结合LLM的预训练机制,我们可以进一步分析LLM数字幻觉的原理,尽管今天的LLM在数学能力上显著提升,在一些竞赛上已经超过了大部分人,  但在处理需要精确数值理解的任务时,仍易产生数字幻觉。具体体现在以下几个方面。

  • 分词问题,LLM在推理之前,会把输入进行分词,也就是我们常说的Token化,然后再进行Embedding向量化。 有时LLM对数字的分词是非原子化的,比如“489,012” 可能被分解为:489、 , 、012 三个独立的Token,这不仅割裂了数字的整体性,使模型难以将其作为一个单一数值实体处理,分隔符Token(如逗号)还可能引入干扰或歧义。

  • 位置编码干扰,主流的序列位置编码方法(比如RoPE)主要解决文本的相对位置依赖性,但对数值的绝对精度需求支持不足。位置编码的量化特性也可能对邻近小数字的表征造成不利影响。

  • 预训练知识中数据分布的长尾效应, 数据中某些模式的普遍性会导致模型产生系统性偏差。例如我们之前遇到的一个真实案例:训练语料中“第X个”的表达常以“第0个”或“第一个”对应索引0开始,导致模型在明确要求“从1开始计数”时,仍顽固地输出从0开始的索引(BadCase)。相反,要求“从100开始计数”则可能正确,因为该模式在数据中相对少见。

  • 数字模式的过拟合,比如LLM学到了“销售增长通常在20-30%” 这样的模式, 当实际需要计算时,如果PE没有做好,模型很可能会输出这个“经验值”

  • 语义空间和数值空间是不对等的, 我们知道LLM基于自然语言模式匹配,其数值推理缺乏数学严谨性,在Embedding空间中,两组数字语义距离可能离得很近,但实际上对数值分析来说,毫无意义,甚至产生误导。

那如何解决这个问题呢,一种方式是通过提示词工程(PE)手段进行优化,比如COT,Step by Step等,这些PE优化手段的主要作用是:提升推理过程的透明度、引导LLM结构化思考、暴露潜在错误,它们本身不能直接大幅降低前面描述的LLM固有幻觉。在Agent应用场景中,这些方法的作用是让错误更容易被发现,并为后续的验证或工具调用创造条件。另外也可以使用Self-Consistency 方式,采样多个推理路径并投票,能在一定程度上减少随机错误的发生。Self-Consistency 假设正确的答案往往对应多条合理的推理路径,从统计上是优于单一路径上的结果。

另外就是借助工具,比如计算器。 2023年6月GPT-4首次引入Function Calling,而Calculator是最早的示例之一。 

观察今天的大语言模型,主要在内容创作,Math和Coding能力方面,这很大原因是这些知识都是人类对世界的抽象语言,并且已经数字化,这正是LLM的学习来源。 对于Agent来说,使用LLM 来Coding,实际在创造工具,感知真实世界,解决更复杂的问题,可能是通往AGI的必经之路。各大厂商都在不断增强LLM的Codding能力。

Data Agent 综合了以上的优化思路,尤其是以 Code-based Reasoning 为核心策略, LLM负责理解问题并生成可执行代码,比如SQL,Python 以及其他的DSL,作为中间的逻辑表示, 将最终答案生成的责任转移给代码执行引擎,使输出可执行、可解释、可复现。将产生幻觉的风险从“自然语言层面的直接幻觉”转化为“逻辑层面的代码正确性风险”,后者可通过工程化手段(代码检查、测试、验证)进行更有效的系统性管理,从而从大幅减少LLM 在最终数值和事实断言上的编造问题。

其次Data Agent使得LLM像一个数据分析师那样思考:理解问题,数据获取,数据验证,逻辑建模,可视化,结论生成等。除了通过编写SQL或者借助Pandas,Numpy这类数据分析常用的库以外,Data Agent也会和数据分析一样,通过数据可视化进行直觉验证,毕竟一图胜千言,借助VL模型可以比较容易地洞察数据趋势和异常点。 Verify机制也是Data Agent最重要的部分,不仅可以对可视化效果进行审查,最重要的是对最终的分析结果进行上下文验证,进一步降低幻觉。另外在数据分析层次上,比如DIKW模型的内化,有助于 Data Agent更加的专业化的分析。

工具的使用

LLM因为有了工具,不再局限于文本生成。 MCP掀起一波AI Ready 热潮,可能MCP的构建者比MCP用户还要多。 实际上模型能够准确地用好几个工具已经是非常大的进步了。实际经验来看,超过10个以上,主流的LLM很难得心应手。总结下来有几个方面。

  • 当系统中工具数量增多时,系统注册了大量工具(例如:查询数据库、绘图、报表生成、外部 API 调用等), 模型需要根据自然语言描述在这些工具之间进行匹配,面临工具选择的语义模糊性,导致工具误选,漏选。

  • 其次是工具多,增加了组合复杂性,尤其是参数复杂或中间状态不透明时,很容易导致调用链断裂,结果不一致和死循环。

  • 上下文容量与记忆碎片化问题, 工具说明会占用大量上下文,工具调用之间的状态和结果难以长期保留,导致记忆碎片化,信息丢失。

  • 工具接口不统一,往往由不同团队或系统提供,接口规范、输入输出格式、错误机制各不相同,无形地增加了LLM推理时的搜索空间。 

  • 最后是安全问题,工具调用往往意味着执行外部代码或访问敏感数据,外部工具恶意 Prompt 注入可能诱导模型越权执行。

Data Agent 对于工具的选择始终保持克制,前文提到 Data Agent 使用 “Code-based Reasoning” 的策略,专注于数据分析, 除了给到LLM的上下文是连贯的, 我们希望代码逻辑也是连贯的,也就是LLM的输出是可执行、可解释、可复现的。 结合DMS的DataOps的能力积累,我们为客户提供一个安全的,云原生的沙箱环境,Agent通过统一的交互协议与之通信。 这种模式有以下几个关键优势,也是 Data Agent服务于企业客户数据分析场景的关键。

  • 模型只需要知道一个工具,可以执行SQL,Python代码,画图,编写文档,并且是交互式的,可验证计算,有助于LLM自动修正与逐步推理。

  • 具备持久执行上下文,代码执行器可以在多轮推理中保留变量、函数、数据表和中间结果,变量与函数在多轮推理间复用。这种模式与模型上下文的目的是一致的,能让 LLM 以更自然、更一致的方式进行多步推理与探索。同时可以固化为分析文档,使得分析流程可追踪和可解释。

  • 与数据分析生态融合, 兼容主流 Python 数据分析与机器学习库,在分析过程中动态构建、训练模型,利用算法结果辅助推理,传统的算法提供确定性,LLM 提供语义解释。

  • 大小模型协同,尤其是自然语言处理领域除了LLM,还有许多专有的语言模型,在情感分析,文本聚类等场景下,尤其是数据规模比较大的情况下,性能效率更出色。

  • 支持部署在用户VPC网络环境,计算沙箱环境与VPC内存储与计算资源打通,构建私有网络分析环境,数据不出域。

  • 支持更大规模数据的分析,计算沙箱环境可以作为数据库,分布式计算引擎或框架(比如Spark,Ray, Dask等)的Driver端,进而连接更大规模的数据。对海量的数据进行探索性分析。

举一个例子,  Data Agent分析《2017年Kaggle 机器学习和数据科学调查》 公开数据集,Data Agent 可以利用BERTopic,将基于 Transformer 的嵌入模型,聚类以及自定义 TF-IDF 策略相结合,创建可解释且语义上有意义的主题,再结合LLM的语言理解能力,可以给出人能看得懂的分析报告。

 

企业级能力

Data  Agent 经过小半年的建设,其分析能力已经得到客户的认可,并在云栖大会上,备受关注。 三天的云栖大会,团队的同学在展台边上与来自各行各业的300+客户交流,深刻认识到,成为企业生产链路的一环是多么的重要,技术先进性需与企业价值对齐,缺乏业务增长支撑的能力将难以落地。那我们常说的企业级能力是什么呢, 或者说用云企业客户关注企业级能力什么特征?我理解核心有三点:

  • 首先是可靠性,系统持续在线;

  • 其次是可控性,数据,安全,责任边界等可控;

  • 最后是可复用性, 知识,流程,洞察能被沉淀和扩展。

从这三个特征出发,结合客户交流反馈, 可以定义出Data Agent应当有哪些企业级核心能力。

核心能力

说明和实现机制

企业价值

可验证的智能

Code-based Reasonning , Verify机制

过程可复现,结果可解释,可复用

数据资产化管理

DMS OneMeta 统一基础元数据和业务知识层

提高数据价值变现速度

协作与分工

企业内部员工,部门之间业务领域的划分和协作,企业内部不同角色如何分工协作

提升组织效率

安全合规

私有计算沙箱环境,VPC网络环境,细粒度数据权限管理

数据不出域,合规透明

企业内生态集成与扩展

连接内部知识体系与复用已有的数据架构和系统

降低集成成本

持续学习与适应

融合语义,数据,知识与反馈,形成长期记忆

越用越智能,长期回报


Data Agent 知识,记忆与协作

空间内部成员, 一个企业或者组织中, 围绕数据可以分为四层结构,通常每一层对数据的认知需求也不太一样, 可以面前的与DIKW模型对应起来,但这也不是绝对的。  但我们可以明确的是, 对数据洞察的需求以及数据分析技能的掌握是不匹配的, 大多数最有能力的人距离真实业务场景相对而言更远。所以Data Agent需要考虑他们之间的协作关系,帮助有数据专业分析技能的人更加高效,使得他们的价值通过Data Agent 放大数倍,实现对企业数据更加深刻的洞察,同时可以减少数据消费者洞察数据价值的等待时间,另外借助Data Agent赋予数据消费者更多的自主能力。



企业数据分析需求分布

最后

以上是我们这半年做Data Agent 一些想法和实践经验,希望使得您对Data Agent有更全面的认识, 同时在构建类似的产品功能时有些参考价值,  LLM能力的快速发展,使人有一种AGI很快就会到来的错觉, 但实践下来其实还有很长的路要走, 或许不久将来会出现比基于Transformer或者RL更先进的训练方法,不管怎么样,人工智能始终是一门应用学科,只有不断地实践,才能突破认知瓶颈,更好的拥抱时代的变化。

云栖大会 Data Agent 架构介绍

最后放一段激动人心的宣传视频

了解更多

1. 产品文档—> https://help.aliyun.com/zh/dms/data-agent-for-analytics

2. 产品详情页—> https://www.aliyun.com/product/dms/data-agent

3. 让数据自己开口说话,深度解码业务洞察,解放你的思考力!Data Agent 个人版99元/月,每天不限时使用—>https://agent.dms.aliyun.com/cn-hangzhou

4.如果您对本文的方案感兴趣,欢迎钉钉搜索群号:105130018526 加入

Data Agent


面向企业内所有报告依赖数据分析获得业务洞察的用户,提供Agentic for Analytics能力,实现深度、高效的数据探索分析工作,让用户专注于数据价值而非数据处理。


点击阅读原文查看详情。


从软件工程的角度看,AI生成的代码面临一系列挑战。首先是正确性与鲁棒性。虽然Code-based Reasoning降低了幻觉,但生成的SQL或Python代码仍可能存在逻辑错误、边界条件处理不当、SQL注入风险或面对非预期数据时的崩溃。其次是可维护性。AI生成的代码可能缺乏注释、结构混乱或过度优化导致难以理解,增加后续人工修改和调试的难度。这会显著推高技术债。再次是性能。AI生成的代码不一定是最优的,尤其在大规模数据处理中,可能会导致性能瓶颈。企业需建立严格的自动化测试框架、代码审计流程,并考虑引入资深工程师进行代码复审,确保代码在安全、性能和可维护性上达到企业级标准。

哈哈,这不就是未来“甩锅侠”的升级版嘛!老板以前问:“销售为什么下滑?”现在AI直接告诉他:“你应该裁掉华东区的销售经理,换个90后!”真要出事,是AI的锅,还是老板盲信AI的锅?我觉得短期内,AI的建议更多是提供一个参考方向,或者辅助验证某个想法。真要“应该做什么”,核心还是人去判断和最终拍板。AI能帮你把复杂问题拆解清楚,把各种可能性分析透,但真到下决心,还是要靠CEO的智慧和胆识。毕竟,AI不会为企业的兴衰负责任,但CEO会。

可以预见,Data Agent这类工具的普及将推动数据专业人才的角色转型而非简单取代。数据分析师和数据科学家将从“数据处理员”和“模型构建者”向“问题定义者”、“AI协作专家”和“价值洞察师”转变。他们需提升对业务的宏观理解能力,学会如何有效向AI提问、如何解读并验证AI生成的结果,以及如何将AI的洞察转化为可执行的业务策略。此外,对数据治理、模型公平性与可解释性、以及多模态数据整合的能力要求也会提高。未来,能够熟练与AI协作并借力AI实现更高阶价值输出的人才,将更具竞争力。

哈哈哈,AI写代码听起来就像给你的实习生无限开火权。一开始可能觉得很爽,一下子就搞定了好多需求。但仔细一看,这代码能跑就行,美不美观、健不健壮那就不好说了。万一哪天突然报错,找半天都不知道错在哪,因为AI写的逻辑人类理解起来可能也费劲。更别提安全漏洞了,万一AI‘灵光一闪’生成了能访问敏感数据的片段,那可就出大问题了!所以说,即使是AI写的代码,也得有专门的人去Review,去测试,就像验收一个项目一样,不能完全撒手不管。让AI写代码可以,但得有人类老司机在旁边盯着方向盘,确保不翻车!

饭碗可能不会丢,但肯定要换个盘子装了!以前数据分析师是‘SQL搬运工’ + ‘Excel艺术家’,以后可能就是‘Prompt魔法师’ + ‘AI翻译官’。数据科学家嘛,以前是‘模型炼丹师’,以后可能就是‘AI调教师’,主要精力用来打磨更强大的模型,或者确保AI分析的’三观’正确。那些简单的跑数、做图表的工作,AI分分钟搞定,你再不学点新技能,等着看AI写汇报PPT了吗?所以,赶紧研究研究怎么‘哄’AI干活,怎么让它更听你的话,这才是王道啊!

我觉得这里的“遗忘机制”可能更多是针对那些琐碎的、临时性的对话上下文和短期用户偏好,比如你上次问了一个很细枝末节的问题,下次就不太需要记住了。但对于长期、关键的业务规则和行业知识,它们应该作为“知识”的一部分,存储在更稳定的知识库中,并通过RAG(检索增强生成)等方式被持续有效地召回,而非置于容易被“遗忘”的“记忆”范畴。Data Agent应该在设计上确保一个分层的记忆结构,这样才能避免因遗忘关键信息而导致分析结果偏差的问题。

关于Data Agent的落地挑战,我首先想到的是数据治理的成熟度。Agent的能力再强,如果底层数据源是散乱的、质量差的、语义不统一的“脏数据”,那么Agent产生的任何洞察都可能基于错误的前提,甚至导致误导性决策。此外,企业内部的组织文化和对AI的信任度也是一大挑战。让业务人员从固有的报表查看习惯,转变为信任AI自动生成的分析和建议,这需要一个适应和建立信任的过程,可能会遇到阻力。技术集成虽然复杂,但有明确的路径和方案,相比这两点,反而可能更容易克服。

哼,AI代码审查员?听起来我的工作又多了一项!不过说真的,我觉得未来人类和AI的协作模式肯定不会是单向的。如果AI生成了复杂的SQL或者Python脚本,而我们无法理解,那这个工具的易用性就大打折扣了。也许Data Agent在生成代码的同时,也应该能用自然语言解释它生成这段代码的“意图”和“逻辑假设”是什么,就像一个新手程序员在提交代码时会写注释一样。我们更多的是去审查AI的“思考过程”是否符合业务常理,而不是一行一行地debug它的代码。另外,对于关键数据,我们可能会用小范围的人工抽样或者交叉验证来确保AI结果的准确性,就像产品上线前总要A/B Test一样。

这个问题很实际!LLM生成代码,我觉得更多是解决“从0到1”的问题,就是把自然语言快速转化为可执行的初步代码。但要达到“从1到100”的优化和效率,目前的LLM可能还得加把劲。尤其是在面对复杂的业务逻辑和性能瓶颈时,人类数据分析师的经验和直觉是无可替代的。他们知道哪些表应该join,哪个索引更合适,甚至哪个算法在这种数据分布下跑得更快。AI生成的代码可能逻辑正确,但缺乏“灵魂”,说白了,就是缺乏针对具体场景的精细打磨。所以,“能用但不好用”是很有可能的,特别是对于那些对性能和成本有严格要求的企业级分析任务来说。

问得太好了!我觉得最大的挑战其实是文化和组织转变。传统BI团队可能更熟悉固定的报表和预设指标,而高级分析团队则倾向于探索性分析和建模。Data Agent想要融合这两者,就要求团队之间打破壁垒,互相学习。数据治理方面,如果数据源头各自为政,口径不统一,那Data Agent再智能也可能得出“南辕北辙”的结论。所以,不仅仅是技术叠加,更是需要从上而下推动一场数据素养和协作模式的革新。先从统一元数据、明确核心指标定义开始,逐步建立信任,让不同团队看到融合带来的实际效益。

关于“Code-based Reasoning”生成代码的效率和质量,从学术角度看,LLM生成代码的能力在持续进化,尤其是在特定领域(如SQL查询)的零样本或少样本学习表现令人印象深刻。然而,其代码逻辑的优雅性、性能优化以及处理边缘情况的能力,往往不如经验丰富的人类分析师。对于超大规模数据,LLM生成的代码可能在分布式计算优化上有所欠缺,例如未能充分利用Spark的特定优化函数。因此,虽然“能用”,但确实可能存在“不够高效”甚至“不易维护”的问题。长远来看,可能需要结合静态代码分析、性能评估工具和Human-in-the-Loop机制进行持续优化和学习。

关于“Code-based Reasoning抑制LLM幻觉”的问题,我个人觉得, Code-based Reasoning确实是目前应对LLM数学/逻辑幻觉的实用方案。它相当于让LLM把“思考过程”外包给更可靠的解释器执行。未来这条路可能会深挖,比如LLM自身可以生成更完备的测试用例来验证生成的代码,或者结合形式化验证技术,确保关键业务逻辑的代码是无误的。长期看,我认为可能需要底层模型架构的突破,让LLM在“数值空间”也有原生的强推理能力,而不只是依赖“语义模式匹配”,这才是根本解决之道,但这难度不亚于重塑模型。

关于“部署和维护Data Agent的挑战”的问题,我个人觉得,最大的挑战是“数据质量和治理”。文章也提到了,Data Agent可以处理多源数据,但如果数据源本身是孤岛、格式不统一、口径不一致,再智能的Agent也可能“巧妇难为无米之炊”。初期数据清洗、元数据管理和知识沉淀的投入会非常大,这不仅是IT部门的事,更需要业务部门的高度参与和协作。没有高质量的数据基石,一切高级分析都是空中楼阁。

@小公司运营:我们公司数据量不大,主要就是把ERP、CRM里导出来的报表拼一拼。老板经常问“为什么这个月销售额掉这么多?”或者“去年的营销活动效果怎么样?”,我经常要找研发小哥帮忙拉数据。如果有个Data Agent能帮我用自然语言问这些问题,然后自动生成个图表和分析,哪怕不能预测太复杂的东西,对我来说也是巨大的效率提升啊!99块钱一个月,我可以接受啊,比请个数据分析师便宜多了。所以,我觉得轻量版的需求非常旺盛,关键是门槛要真正降下来。

@研发小哥:从技术角度看,“杀鸡用牛刀”确实是可能的。企业级 Data Agent 背后涉及多Agent协作、复杂知识图谱、分布式计算沙箱等,这些成本摆在那里。对于中小企业,如果数据源只是简单的Excel或MySQL,其实很多现成的NL2SQL或Dashboard工具就能满足。但如果未来LLM能力进一步增强,能把很多复杂功能“内化”到模型本身,或者云服务商能把底层资源进一步池化,降低边际成本,那提供一个轻量级的API接口就能实现核心功能,价格自然会下来。现在更多是看厂商的策略和市场教育程度。

@职场老兵李:话不能说太满。确实,简单的描述性分析和一些固定套路的诊断性分析,Data Agent 会做得又快又好。但真正的“分析”是需要经验、直觉和对业务痛点的深刻理解的,这部分机器短期内很难取代。我觉得更像是“助理”的角色,能提升效率,但核心决策和创新还是得靠人。挑战在于,如果你只会基础操作,那确实危,得赶紧提升自己的不可替代性,比如结合业务场景提出创新的分析角度。

从工程角度看,Code-based Reasoning本身就是一种很好的验证手段。因为代码只要编译通过,逻辑正确,执行结果就是确定的,不像纯文本生成那样容易‘编造’。但光有代码还不够,还需要有完善的测试框架,比如对关键指标结果进行回归测试,确保每次更新后都能得出一致的结果。再者,可以通过‘双AI校验’或者‘专家巡检’模式,让另一个Agent或人类专家对结果进行复核,形成一个闭环的QA流程。信任不是凭空产生的,是靠一点一滴的验证和修正垒起来的。

我更看好‘小而美’专业模型的潜力,尤其是在企业应用场景。原因很简单:资源效率和专业深度。通用大模型虽然能力强,但推理成本高,而且在特定领域的‘知识’往往不够精细。而专业模型可以针对性地进行数据训练和架构优化,在特定任务上达到更高的准确率和更低的延迟,更符合企业对性能和成本的严格要求。当然,它需要一个大模型作为‘调度者’,但在执行层面,专业模型会有不可替代的优势。

确实,文章主要讲技术,但落地比技术复杂得多。我感觉最大的“坑”之一是数据治理!不是说Data Agent能处理非结构化数据就万事大吉,如果基础的数据质量就是一团糟,表结构混乱,字段语义不一致,那Data Agent再智能,给出的洞察也可能是基于‘垃圾’。所谓‘Garbage In, Garbage Out’嘛。另外,用户习惯的培养也是个大挑战,让大家从手动写SQL或者拖BI报表,过渡到自然语言交互,需要一个过程,还得有好的引导和培训。