打造你的数据虚拟员工:腾讯云TCDataAgent数据智能解决方案

腾讯云TCDataAgent是面向企业级场景的Data Agent解决方案,以腾讯云ES为知识库底座,通过Multi-Agent协同实现跨模态统一分析检索。其核心包含Planner、Retrieval、Analysis、Report、Eval等专业Agent,支持自然语言驱动的数据理解、NL2SQL、AI搜索、报告生成与系统自治运维。架构融合混元大模型、Document AI、语义层与MCP工具链,覆盖数据智能与系统智能双象限,助力用户构建7×24小时专属数据虚拟员工团队。

导读:什么样的 Agent 才是真正可落地的企业级 Data Agent ?单 Agent 打天下不够,「越用越聪明」不够,能统一调度内外部 Agent 才够。在 腾讯云 x Elastic AI 搜索技术大会上,腾讯云 TCDataAgent 产品经理付振雄发表《腾讯云大数据数据智能解决方案》演讲,系统阐述了 TCDataAgent 如何以 腾讯云 ES 为知识库存储与搜索底座,通过多智能体协同串联数据理解、分析、报告与系统操作,让数据任务的全流程工作交给一支「数字生产力员工」团队完成。

可落地的Data Agent三要素

演讲开篇给出团队的判断,真正可落地的企业级 Data Agent 需要三个要素:

  • Multi-Agent:简单通用任务单 Agent 即可完成,但复杂、跨步骤、跨平台的大数据任务需要多 Agent 协作——从单 Agent 到 Agent 团队,并支持自定义工作流与工作团队;

  • Self-Evolution:「越用越聪明」——Team、Agent、Skill 基于历史任务、用户反馈与技能调用结果持续成长,能记住用户习惯;

  • Openness:自研 Agent 接入框架统一控制企业内外部 Agent,一键托管、无缝路由。

目标一句话:让每个人都拥有一支 7×24 小时的专属数据虚拟员工团队。

图片

可落地企业级Data Agent的三要素

TCDataAgent × 腾讯云ES:互为底座的深度结合

TCDataAgent 定位为企业 Data+AI 场景的 AI 原生数字员工,通过多智能体协同支持对话式多模态数据分析、系统智能操作等能力。它与腾讯云 ES 的结合是双向的:

ES 作为 TCDataAgent 的知识库存储与搜索底座:多模态数据统一承载、全文与向量检索的关键词/语义/混合召回原子能力、索引过滤排序弹性扩展的工程化搜索能力,支撑多模态数据存储和 RAG 检索。

TCDataAgent 反过来作为 ES 的智能操作系统:覆盖数据智能(知识问答、数据分析、智能洞察、图表报告)与系统智能(资源与索引操作、巡检诊断、调优运维、评估审计)两大象限。

产品架构上,多个专家 Agent(数据分析、数据工程、AI 搜索、智能管家、多模态、RL 等)构建在自研增强的原子能力(NL2SQL、Code Gen、AI Search、Document AI、数据科学、MCP 工具)与中枢服务(语义层、记忆/会话、意图/规划、AI Guardrails)之上,向下接入 ES、弹性 MapReduce、数据湖计算 DLC、云数据仓库 TCHouse 等大数据引擎,底座由混元大模型、第三方模型、Ray on TKE、TCLake、Xpark、Document AI 共同支撑。

图片

TCDataAgent:ES智能操作系统,数据智能×系统智能

图片

TCDataAgent全栈产品架构

Agentic RAG:Multi-Agent跨模态统一分析检索

以 腾讯云 ES 为底座的多模态知识库,支持从数据接入到检索分析的全流程:数据源覆盖自有数据与可信数据(腾讯云数据库/数仓、第三方数据库、本地文档、网页解析、COS 文档);经 Document AI 完成文本分段、段落总结、图片理解、表关系提取等处理,统一存储进 ES;对上层提供 AI 搜索、AI 搜索 + 数据分析、报告生成等智能场景。

在此之上,Multi-Agent 跨模态统一分析检索的完整闭环是:

  1. Planner Agent 任务规划:意图识别 → 子任务拆解 → 动态选择组件组合;

  2. Retrieval Agent 多路召回:并行调用向量检索(RAG Embedding)、全文检索、知识图谱查询(Cypher/SPARQL)、树状结构检索(层级遍历);

  3. Analysis Agent 推理融合:交叉验证 → 逻辑推理 → 信息融合 → 多跳补充检索;

  4. Replan 动态重规划:信息不足自动调整计划、重新调度;

  5. Report Agent 生成输出:文本摘要、数据表格、图表可视化、引用溯源标注;

  6. Eval Agent 质量闭环:自动评估、归因分析、反馈优化、持续迭代。

用户提问 → 意图拆解 → 多路并行召回 → 交叉推理 → 重规划 → 生成回答,全流程生产闭环。

图片

Multi-Agent 跨模态统一分析检索全流程

数据与系统智能:自然语言驱动的腾讯云ES平台应用

传统数据平台范式有两个交互痛点:功能叠加导致学习成本不断升高——业务人员要先懂控制台才能用好大数据;Data+AI 运维调优复杂——故障靠告警、调优靠人工试,集群越大越依赖经验。TCDataAgent 的解法分别是「自然语言即入口 / Agentic 即操作」与「AI Driven 智能自治」:平台自感知、自诊断、自处置、自复盘,用户只需设定目标、关注结果。

落地形态是开箱即用的大数据专家团队:大数据智能管家(集群健康、故障诊断、性能调优、日志分析、容量治理,统一诊断入口)、大数据工程专家(数据加工建模、ETL、任务编排、数据治理)、大数据分析专家(数据理解、可视化报告、业务洞察)。从购买选型、迁移上云、日常使用的查询配置,到运维调优的自动诊断,每个阶段都有 Agent 在协助用户——传统方式里需要客户经理、解决方案专家、人工迁移、找菜单填表单、看仪表盘、靠告警排障的环节,全部由对应 Agent 接管。

图片

开箱即用的大数据专家团队

两项关键能力支撑这套体验。

其一,平台核心控制操作中心:Agent 接收自然语言目标而非固定命令,意图识别后自动拆解、选工具、定顺序;Policy & Guardrails 做权限校验、风险分级、执行前确认;通过 Cloud API、Console、MCP 调用实例与资源、索引与配置、查询与分析、巡检与诊断等工具族;Eval & Trace 做结果评估与全链路监测——关键动作始终保留人工确认(Human-in-the-loop)。

图片

Agent 作为平台的核心控制操作中心

其二,增强语义的数据分析:语义是 Agent 理解数据的上下文,TCDataAgent 用「智能语义增强 + 业务语义配置」构建统一语义层——AI 自动完成元数据提取、数据概要分析、列注释增强,业务名词、规则、指标手动接入;基于统一语义层实现智能选表、按数据源类型匹配 SQL/DSL 语法、结合问题/Schema/执行结果多轮优化代码。语义理解 × 执行验证 × 多轮优化,换来 NL2SQL 的高准确率。

客户案例:从新闻数据到分析报告

某报业客户需要对新闻稿件中的政府官员及相关活动进行检索、分类、统计并自动生成分析报告。痛点典型:数据分散在多系统多格式、人工维护导致数据永远滞后;纯 RAG 理解语义但难以精准统计,纯数据分析理解不了新闻长文本——客户原话是「我们要的不是单一分析工具,而是一站式 AI」。

基于 TCDataAgent 构建的一站式问答系统这样跑:Xpark + Document AI 解析新闻长文本和数据表并天级自动更新;Planner 拆解检索、统计、报告任务生成动态执行计划;RAG Agent 向量召回、重排与分类理解稿件语义;SQL Agent NL2SQL 按人员、类型、内容统计;Report Agent 汇总洞察与引用来源生成报告。最终形态:1 个对话入口完成检索、分析与报告闭环,全链路可溯源——关键结论自动关联数据结果和文档来源,便于核验。

图片

客户案例:Xpark多模态处理+TCDataAgent知识检索与数据分析+自动化报告

结语

TCDataAgent 的愿景是帮助用户高效把数据变成业务价值:数据 → 知识 → 洞察 → 行动 → 场景化复用,每一次交付都让下一次数据工作更快、更一致。当检索底座腾讯云 ES 与智能体编排 TCDataAgent 互为表里,「数据智能」才真正从工具变成了生产力。

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值