微信扫码
添加专属顾问
基于开源Agent框架,可自动解决复杂数据科学问题的Agent来了!
具体来说,Data Science Assistant(以下称DS Assistant)是基于Modelscope-Agent框架开发的数据科学助手。
有了它,我们只需给需求,这个助手就能自己跑完探索性数据分析(EDA)、数据预处理、特征工程、模型训练,模型评估等步骤。
当然,除了本文将重点提到的DS Assistant,它背后的Modelscope-Agent框架也值得说道。
这个框架由阿里开源,主要特点包括:
可通过vllm、ollama等工具接入各主流开源模型,也可以直接调用模型API;
提供RAG组件支持开发者快速接入知识库;
工具生态丰富,支持大量的Modelscope社区模型作为工具,也支持直接调用langchain的工具,还接入了各类常用的工具,如web-browsing、文生图、code-interpreter等;
更妙的是,Modelscope-Agent框架允许开发者无需编码即可交互式地创建Agent助理。
这不,啪的一下,咱们的数据科学助手“诞生”了~
实现复杂数据科学任务自动化一直存在挑战。
传统的ReAct(Reasoning and Action)框架对于简单的任务比较有效,但是有以下缺点:
每次工具调用都需要一个LLM调用。
LLM一次仅计划1个子问题。这可能会导致任务的轨迹更加不可控,因为它不会被迫“推理”整个任务。
而DS Assistant使用了plan-and-excute框架,这是一种新兴的Agent框架,通过明确计划和执行步骤高效完成复杂任务。
langchain官网对Plan-and-execute Agent的描述:https://blog.langchain.dev/planning-agents/
具体而言,其工作流程包括以下几个步骤:
1、任务计划:Agent接收用户输入的任务描述,进行语义理解,将任务分解为多个可执行子任务。
2、子任务调度:基于任务之间的依赖关系和优先级,智能调度子任务的执行顺序。
3、任务执行:每个子任务分配给特定的模块执行。
4、结果整合:汇总各子任务的结果,形成最终输出,并反馈给用户。
基于上述框架,咱们接着看整个系统架构,DS Assistant整套系统有4个主要模块。
先说右侧的DS Assistant,它作为整个系统的大脑,负责调度整个系统的运转。
而Plan模块负责根据用户的需求生成一系列Task列表,并对Task先后顺序进行拓扑排序。
在这一阶段,DS Assistant根据用户输入的复杂数据科学问题,自动将其分解为多个子任务。
这些子任务根据依赖关系和优先级被组织和调度,确保执行顺序符合逻辑且高效。
接下来到了Execution模块,负责任务的具体执行,保存任务执行结果。
在这里,每个子任务被具体化为可执行的操作,如数据预处理、模型训练等。
最后是Memory management模块,负责记录任务中间执行结果,代码,数据详情等信息。
在所有Task执行完成后,DS Assistant会将中间数据的执行情况 ( 包括每个task生成的代码和结果,消耗token数,任务时间 ) 保存为文件。
下面,我们以一个具体的例子来了解DS Assistant的执行过程。
我们选用Kaggle上的一个比赛任务ICR - Identifying Age-Related Conditions作为示例:
该任务是一项机器学习任务,主要目的是通过分析各种数据(如医疗记录、基因数据、生活方式数据等),识别与年龄相关的健康状况。
最终结果将用来帮助医疗专业人员及早发现老年人群中常见的健康问题,并提供个性化的预防和治疗方案。
废话不多说,我们这就开始~
首先,对于选用的LLM,我们需要配置一下。
我们引入MetaGPT的Data Science工具和Tool Recommender,可以根据任务类型向DS Assistant推荐合适的数据科学工具。
接着,我们需要将任务的具体要求传给DS Assistant。需要注意的是,在要求中需向DS Assistant指明数据文件的路径:
from modelscope_agent.agents.data_science_assistant import DataScienceAssistant
from modelscope_agent.tools.metagpt_tools.tool_recommend import TypeMatchToolRecommender
llm_config = {
'model': 'qwen2-72b-instruct',
'model_server': 'dashscope',
}
tool_recommender = TypeMatchToolRecommender(tools=["<all>"])
ds_assistant = DataScienceAssistant(llm=llm_config, tool_recommender=tool_recommender)
ds_assistant.run(
"This is a medical dataset with over fifty anonymized health characteristics linked to three age-related conditions. Your goal is to predict whether a subject has or has not been diagnosed with one of these conditions. The target column is Class. Perform data analysis, data preprocessing, feature engineering, and modeling to predict the target. Report F1 Score on the eval data. Train data path: ‘./dataset/07_icr-identify-age-related-conditions/split_train.csv', eval data path: ‘./dataset/07_icr-identify-age-related-conditions/split_eval.csv' ."
)
在Plan阶段,DS Assistant会根据用户需求生成任务列表,将整个数据处理流程进行分解,接着对任务列表进行按顺序处理。
可以看到,DS Assistant生成了5个任务,分别是数据探索,数据预处理,特征工程,模型训练和预测。
然后这5个任务进入了Execute阶段,下面咱们挨个看一下。
可以看到生成的代码在执行时报了如下错误,原因是没有引入numpy包。
DS Assistant根据报错进行了反思,并重新生成代码并执行,成功输出数据探索的结果。
最后,code judge会对代码进行质检,确保本次生成代码逻辑正确。
在数据预处理阶段,DS Assistant分别对数值型数据和类别型数据进行了合适的缺失值处理,并清除了ID列。
在修复了两次错误后,DS Assistant对数据进行了特征工程的处理,对类别型变量进行编码。
同时对之前定义的categorical_columns变量进行了更新,去除了ID列。
DS Assistant主动安装了合适的依赖,并选择了多个模型(随机森林,梯度提升,逻辑回归)进行训练,并选择了结果最好的模型。
DS Assistant选择了训练集中F1分数最高的模型对验证集进行测试,并计算了这个模型在验证集上的F1分数,成功地完成了任务。
执行完以上任务后,DS Assistant支持将运行结果保存为Jupyter Notebook类型的文件,并记录运行的中间过程。
我们使用ML-Benchmark作为测试集(指路论文“Data Interpreter: An LLM Agent For Data Science”),分别从Normalized Performance Score (NPS) ,total time,total token三个维度对DS Assistant效果进行评测。
其中NPS是一种将不同任务或模型的性能指标标准化的方法,使得不同指标之间可以进行比较。
它的计算通常涉及以下步骤:
步骤1:确定指标优化方向,判断性能指标是“越大越好”还是“越小越好”。
步骤2:规范化计算。如果指标是“越大越好”(如准确率、F1分数、AUC),NPS等于原始值;如果指标是“越小越好”(如损失值),则需要将原始值映射到接近1的较高NPS值。
规范化后的性能得分范围通常是0到1,其中1表示最优性能,0表示最差性能。
实验任务详情和结果如下( 绿色代表当前任务下最优指标 ):
可以看到,在部分复杂的数据科学任务上,DS Assistant在规范化性能得分(NPS),任务时间,消耗token数的指标上取得超过开源SOTA的效果。(其中开源SOTA效果指MetaGPT实测值)
完整实验日志:https://modelscope-agent.oss-cn-hangzhou.aliyuncs.com/resources/DS_Assistant_results.zip
对不同的人来说,DS assistant有不同作用:
不熟悉数据分析流程但是又有需要的同学,可以快速根据生成的任务以及处理过程,了解处理数据的思路,以及技术点。
对于了解数据分析流程的同学,可以通过详细的描述,来影响数据处理的方法,方便做不同的实验参照比较。
对于所有人,可以自动化的快速实现对于当前手上文件的更深层次的理解,仅需提问即可。
下一步,DS assistant将从三个方向展开优化:
1、进一步提高任务执行成功率:
a)对于Code Agent来说,传入信息量过大(报错信息,中间数据信息,已生成代码信息)会导致模型生成代码正确率下降,可以在未来考虑使用LLM进行总结,对信息进行筛选。
b)同一个Task可进行进一步的分解,以降低对LLM推理能力的要求。
2、对话交互式,可以将任务和任务的执行展示分开,通过对话的方式推进任务,并影响执行结果。
3、支持批处理相同任务多批文件的场景。
更多细节可进一步查看Modelscope-Agent官方仓库中Data Sciecne Assistant示例。
https://github.com/modelscope/modelscope-agent/blob/master/examples/agents/data_science_assistant.ipynb
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-07-05
复旦期末考「造反」了:51名学生联手围攻Claude、DeepSeek,谁能让AI交白卷谁就是学霸
2026-07-05
Loop Engineering 会是 AI 的下个关键词吗?
2026-07-04
Cursor 如何把 AI 部署进企业内部
2026-07-04
字节跳动CEO梁汝波最新万字分享深度拆解:这可能是2026年最重要的一堂管理课
2026-07-03
开发者转向 AI 应用工程,真正要迁移的是工程判断力
2026-07-02
不改一行代码,看透 AI Agent 的每一次调用
2026-07-02
AI 不缺智商缺纪律:一场 Harness 工程化实践
2026-07-02
天工 3.2 重磅升级:Skywork Tags 上线,给 Agent 一张工牌,邀其加入你的工作群聊
2026-04-15
2026-04-07
2026-04-07
2026-04-24
2026-04-17
2026-04-14
2026-04-24
2026-04-22
2026-05-19
2026-04-24
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。