综述地址:

原先只整理了DS Agent,后续整合加入了AI Scientist。两个细分方向笔者都做过项目也都比较感兴趣,对以上两份综述进行了初步对比整合阅读。
【TBD】DS Agent的综述一年前(2024.12)出的已有些过时,后续计划自行增补2025年DS Agent信息。


定义

数据科学智能体(Data Science Agent)

数据科学智能体是以大语言模型(LLM)为核心推理引擎,通过自然语言接口接收用户指令,并在受控执行环境(如容器化沙箱)中自动完成统计分析、机器学习建模、数据可视化等任务的软件系统。其核心特征包括:

  • 输入为自然语言指令(例如:“对鸢尾花数据集做聚类”)
  • 输出包含可执行代码、运行结果、以及自然语言解释
  • 具备错误检测、诊断与自我修正能力(即“反思”机制)
  • 支持端到端自动化或人机交互式执行模式

典型应用场景包括:Kaggle竞赛辅助、商业BI分析、学术研究中的探索性数据分析(EDA)、自动化报告生成等。

人工智能科学家(AI Scientist)

AI Scientist 是一类面向完整科学研究生命周期的自主智能系统,不仅处理数据,还参与知识发现、假设生成、实验设计、结果解释、论文撰写乃至投稿准备等高阶认知活动。其终极目标是实现端到端可验证、可复现、可审计的科研自动化

区别在于:

  • Data Science Agent 关注“如何执行分析”(How to analyze),聚焦于任务执行层面,更多涉及写DS的代码部分,除了理解、建模,也需要较强的Coder;
  • AI Scientist 关注“为何开展这项研究”及“如何表达科学发现”(Why to study & How to communicate),涵盖科研全流程的认知闭环。

DS Agent 技术实现

系统架构

主流数据科学智能体通常由以下六个核心模块构成:

自然语言理解(NLU)模块

  • 功能:将用户模糊指令解析为结构化任务描述
  • 技术实现
    • 利用 LLM 的 zero-shot 或 few-shot 能力提取意图、实体(如数据路径、目标变量)、约束条件(如”使用随机森林”、”5折交叉验证”)
    • 通过命名实体识别(NER)提取关键信息:数据集路径、目标变量名、分析方法偏好
    • 使用意图分类模型区分任务类型:分类、回归、聚类、可视化等
    • 支持多轮对话,通过上下文理解用户真实意图

任务规划器(Task Planner)

  • 功能:将高层目标分解为有序子任务 DAG(有向无环图)
  • 技术实现
    • 基于 ReAct(Reason + Act)或 ToT(Tree of Thoughts)框架,生成带依赖关系的任务列表
    • 每个任务含 task_iddependent_task_ids
    • 采用链式思维(Chain-of-Thought)分解复杂任务为可管理的子步骤
    • 支持动态调整:根据执行结果重新规划后续任务
    • 使用约束求解器确保任务依赖关系的正确性

代码生成器(Code Generator)

  • 功能:为每个子任务生成可执行 Python/R 代码
  • 技术实现
    • 结合动态上下文(如数据 schema、缺失值分布、包版本)调用 LLM
    • 常使用 system prompt 注入最佳实践(如”优先使用 sklearn.pipeline”)
    • 集成领域知识库,确保生成的代码符合统计和数据科学最佳实践
    • 支持代码模板和模式复用,提高生成代码的质量和一致性
    • 使用检索增强生成(RAG)技术,从代码库中检索相似示例作为参考

执行沙箱(Execution Sandbox)

  • 功能:安全运行代码并捕获标准输出、错误日志、返回值
  • 技术实现
    • 基于 Docker 容器隔离,预装 Python 3.9+、R 4.3+、Jupyter、SQL 引擎
    • 限制 CPU/内存/GPU 使用;支持超时中断
    • 实施多层安全机制:代码静态分析、运行时监控、资源限制
    • 支持持久化执行状态,允许增量执行和断点恢复
    • 捕获完整执行轨迹:标准输出、标准错误、变量状态、内存使用情况

反思与调试器(Reflection Module)

  • 功能:分析执行失败原因并触发修正策略
  • 技术实现
    • 将异常信息(如 KeyError、ImportError)作为新 prompt 输入,引导 LLM 生成替代方案
    • 支持多轮重试(如最多3次)
    • 采用自洽性检查:验证代码逻辑、数据一致性、结果合理性
    • 从历史执行中学习常见错误模式,提供更精准的修复建议
    • 支持用户交互反馈,将人工修正纳入学习循环

结果解释器(Result Interpreter)

  • 功能:将数值、图表、模型指标转化为自然语言总结
  • 技术实现
    • 使用模板填充(如”准确率为 {acc:.3f}”)或 LLM 生成解释
    • 示例解释:”该模型性能优于基线,表明特征工程有效”
    • 支持多模态输出解释:数值结果、图表解读、统计显著性说明
    • 生成可操作的建议:下一步分析方向、潜在改进点
    • 提供可解释性分析:特征重要性、模型决策路径可视化

任务规划机制

以 Data Interpreter 为例详解:

用户输入
“I want to train a classifier to classify breast cancer using the data from /Users/xxx/breast_cancer_wisconsin_diagnostic.csv. The target variable is ‘diagnosis’. Use any model you think is appropriate. Perform 5-fold cross-validation during training and print the final accuracy.”

系统处理流程

  1. 意图解析
    LLM 提取结构化元数据:

    1
    2
    3
    4
    5
    6
    7
    {
    "goal": "train classification model",
    "dataset_path": "/Users/xxx/breast_cancer_wisconsin_diagnostic.csv",
    "target_column": "diagnosis",
    "validation_method": "5-fold CV",
    "output_metric": "accuracy"
    }
  2. 任务分解
    规划器生成三个串行子任务:

    • Task 1 (id=1, deps=[]): Load and preprocess the dataset
    • Task 2 (id=2, deps=[1]): Train model with 5-fold cross-validation
    • Task 3 (id=3, deps=[2]): Evaluate and print final accuracy
  3. 依赖执行
    系统按拓扑序依次执行,确保前序任务成功后再启动后续任务。

代码生成与执行流程

上下文构建

在生成 Task 1 代码前,系统会预读取数据文件头几行(安全模式下仅读 schema),获取:

  • 列名列表(如 ['id', 'diagnosis ', 'radius_mean', ...]
  • 数据类型(int64, float64, object)
  • 缺失值统计(df.isnull().sum()

若发现列名含不可见字符(如 'diagnosis '),系统会在 prompt 中显式提醒:“注意目标列名可能包含尾随空格”。

执行与错误处理(ReAct 范式)

  • 首次执行失败:因代码中使用 'diagnosis',但实际列为 'diagnosis ',抛出 KeyError: 'diagnosis'
  • 错误捕获:沙箱返回异常堆栈
  • 反思触发:系统构造新 prompt:

    “执行失败:KeyError: ‘diagnosis’。当前 DataFrame 列名为:[‘id’, ‘diagnosis ‘, ‘radius_mean’, …]。请修正列名引用。”

  • 修正生成
    1
    2
    3
    # 修正:去除空格
    df = df.rename(columns=lambda x: x.strip())
    y = df['diagnosis'].map({'M': 1, 'B': 0})
  • 重试成功:最终输出准确率 0.9649

此过程体现 ReAct(Reason + Act) 范式:先推理错误根源,再采取具体修正行动。

用户交互模式

Data Interpreter 支持两种运行模式:

  • 全自动模式(--auto_run True

    • 系统连续执行所有子任务,中间不暂停
    • 适用于简单、确定性高的任务(如标准 EDA)
    • 缺点:无法人工干预,出错需重跑全部步骤,token 消耗高
  • 交互式模式(--auto_run False

    • 每步生成代码后暂停,等待用户确认、修改或跳过
    • 用户可插入断点、保存中间变量、调整超参
    • 支持增量执行:后续任务可复用已生成的变量(通过全局命名空间)
    • 适合复杂、探索性任务

该设计在自动化效率与用户控制权之间取得平衡。


关键技术设计趋势

Planning

  • 任务分解策略

    • 采用链式思维(Chain-of-Thought)将复杂任务分解为可管理的子步骤
    • 使用树状思维(Tree-of-Thoughts)探索多个可能的执行路径
    • 动态规划:根据中间结果调整后续任务序列
  • 依赖关系管理

    • 构建有向无环图(DAG)表示任务依赖
    • 拓扑排序确保任务执行顺序的正确性
    • 支持并行执行:识别可独立执行的任务子集

Reasoning

  • 上下文理解

    • 维护会话历史,理解多轮对话中的隐含信息
    • 识别用户意图的细微差别(如”探索性分析” vs “验证性分析”)
    • 结合领域知识进行智能推断
  • 统计推理

    • 理解统计假设检验的适用条件
    • 选择合适的分析方法(参数 vs 非参数检验)
    • 解释统计显著性结果的含义

Reflection & Iteration

  • 错误诊断

    • 分析执行失败的根因(数据问题、逻辑错误、环境配置)
    • 从错误堆栈中提取关键信息
    • 识别常见错误模式(如数据类型不匹配、缺失值处理不当)
  • 迭代改进

    • 基于执行结果评估代码质量
    • 生成替代方案并比较优劣
    • 从用户反馈中学习,避免重复错误

Multi-agent Collaboration

  • 专业化分工

    • 数据分析代理:专注于数据清洗和探索
    • 建模代理:负责模型选择和训练
    • 可视化代理:生成图表和报告
    • 评估代理:评估模型性能和结果质量
  • 协作机制

    • 代理间通过消息传递共享信息
    • 协调资源分配,避免冲突
    • 汇总各代理的输出生成最终结果

Knowledge Integration

  • 领域知识注入【2025年出的几个DS Agent这块的trick已经玩出花了】:

    • 集成统计和数据科学最佳实践
    • 使用检索增强生成(RAG)从知识库中检索相关信息【如何抽取?什么粒度/格式?如何rerank? RAG很简单,怎么选知识库的材料、以什么形式建库、怎么召回知识等等来确保增强有效且高效不简单。】
    • 结合领域特定术语库确保用词准确
  • 代码模式复用【2025代码RAG增强的方法效果还没有特别好的】:

    • 维护常用代码模板库
    • 从历史执行中提取成功模式
    • 根据任务类型推荐合适的代码片段

System Desiign

工程问题,但是实际实验也需要注意。

  • 安全性保障

    • 代码静态分析:检查恶意代码、危险操作
    • 资源限制:CPU、内存、磁盘使用上限
    • 沙箱隔离:防止对宿主系统的破坏
  • 可复现性

    • 记录完整的执行环境信息(包版本、系统配置)
    • 固定随机种子确保结果一致性
    • 导出可复现的脚本和配置文件

AI Scientist 科研自动化框架

根据《A Survey of AI Scientist》,完整科研流程被形式化为以下几个阶段,每阶段均有明确输入、输出与技术方法。

Contemporary AI Scientist systems transcend these limitations by integrating foundation models with closed-loop scientific reasoning (observe → hypothesize → experiment → analyze → publish), through agentic planning, principle-driven inference, and adaptive self-correction mechanisms.

文献综述(Literature Review)

  • 输入:研究主题关键词(如”large language models in drug discovery”)
  • 输出:领域知识图谱、研究空白识别、关键论文摘要
  • 技术方法
    • 使用 Semantic Scholar / arXiv / PubMed API 进行语义检索
    • 构建 citation graph,计算节点中心性以识别奠基性工作
    • 应用 RAG(Retrieval-Augmented Generation)生成连贯综述
    • 使用 BERT-based 模型对论文进行细粒度分类(方法/实验/理论)
  • 代表系统
    • LitLLM:基于引用网络的总结和知识提取,生成知识演化路径
    • HypER:引用驱动的文献筛选与总结(如”寻找支持 GNN 可解释性的证据”)
    • SciAgents:利用网络规模的交互和图推理来映射现有知识
    • DeepResearcher:在真实网络环境中进行图推理,为下游任务提供坚实基础

想法生成(Idea Generation)

  • 输入:文献综述结果 + 领域约束
  • 输出:新颖、可行的研究假设(如”将 diffusion model 用于蛋白质折叠”)
  • 技术方法
    • 在知识图谱上进行多跳推理(A → B → C ⇒ A → ?)
    • Prompt engineering 引导 LLM 进行反事实思考(”What if we replace X with Y?”)
    • 使用强化学习优化假设质量,奖励函数 = α·新颖性 + β·可行性 + γ·影响力
    • 结合专家标注数据微调 idea 生成模型
  • 代表系统
    • IdeaBench:提供标准化 benchmark,由人类专家对假设打分,明确评估该能力
    • Coscientist:领域特定系统,具备假设发现和问题表述能力
    • DeepScientist:端到端框架,将想法生成作为核心组件

实验准备(Experimental Preparation)

  • 输入:研究假设
  • 输出:可执行实验方案(含数据集、模型、指标、超参范围)
  • 技术方法
    • 将假设转化为可操作变量(如”测试不同 dropout rate 对泛化的影响”)
    • 自动生成数据选择逻辑(如”使用 CIFAR-10 而非 MNIST,因后者过于简单”)
    • 使用 CSP(Constraint Satisfaction Problem)求解器确保方案可行性(如 GPU 显存 ≥ 模型参数量 × 4 bytes)
    • 支持多智能体协商资源分配
    • 定义变量、选择数据集、生成分析代码、设计实验协议
  • 代表系统
    • DS-1000:数据科学导向的 benchmark,评估实验方案生成能力
    • MLAgentBench:数据科学导向的 benchmark,提供标准化 ML 实验环境
    • The AI Scientist v1:集成系统,包含实验准备作为关键步骤
    • freephdlabor:集成系统,将抽象假设转化为可执行计划

实验执行(Experimental Execution)

  • 输入:实验方案
  • 输出:原始结果(指标、日志、模型 checkpoint)
  • 技术方法
    • 在隔离沙箱中运行代码(Python/R/Julia/Matlab)
    • 自动管理依赖:生成 requirements.txtenvironment.ymlDockerfile
    • 实时监控资源使用,支持超时与异常中断
    • 支持分布式执行(如 Ray + Optuna 实现 AutoML 并行搜索)
    • 与工具交互、控制机器人、根据实时反馈调整计划
  • 代表系统
    • Coscientist:协调物理实验室硬件,在真实实验环境中执行实验
    • Quantum-Agent-SDL:协调物理实验室硬件,在量子算法领域执行实验
    • Curie:在模拟环境中展示实验执行能力
    • DeepResearcher:在真实世界网络环境中展示实验执行能力

科学写作(Scientific Writing)

  • 输入:实验结果
  • 输出:符合学术规范的章节文本(Methods, Results, Discussion)
  • 技术方法
    • 使用 LaTeX 模板填充内容(如 \section{Results}
    • 控制生成风格:被动语态、第三人称、避免主观表述
    • 自动插入统计显著性标记(如 “p < 0.01***”)
    • 结合领域术语库确保用词准确(如”sensitivity” vs “recall”)
    • 将结构化结果转化为连贯、引用支撑的叙述
    • 从段落感知总结到数据到文本的合成
  • 代表系统
    • Research Bench:端到端系统的关键功能,支持科学写作
    • freephdlabor:人在回路的框架,AI 起草内容供人类审查和完善

论文生成(Paper Generation)

  • 输入:全文各章节 + 图表 + 参考文献
  • 输出:可提交的 PDF 论文(符合 arXiv / ACL / NeurIPS 格式)
  • 技术方法
    • 多模态融合:将 matplotlib/seaborn 图表嵌入 LaTeX
    • 自动引用管理:匹配 BibTeX 条目,避免重复引用
    • 格式校验:使用 latexmk 编译并检查错误
    • 支持多语言输出(英文为主,部分系统支持中文摘要)
    • 需要紧密集成所有先前阶段的能力
  • 代表系统
    • The AI Scientist v1/v2:完全自主系统,可生成完整 publication-ready 手稿
    • AI-Researcher:完全自主系统,实现端到端论文生成
    • DeepScientist:完全自主系统,代表最高级的端到端能力

系统能力覆盖矩阵


应用领域

AI Scientist 系统现已能够自主生成假设、设计实验、分析数据并产出论文手稿,覆盖多个科学领域。现有实现可分为两个层级:(1)通用 AI Scientist 系统,追求端到端、跨领域的自主性;(2)领域特定的 AI Scientist 系统,专门针对化学、生物学、物理学和元科学等领域。

通用

通用 AI Scientist 系统体现了领域无关的框架,复现完整的科研工作流——从问题表述到实验执行、结果解释和成果传播——既作为发现加速器,也作为探索机器智能的认识论工具。

  • The AI Scientist v1:采用模块化多智能体架构(规划、编码、分析、写作),由元科学家模块协调,自主选择主题、生成可执行代码、起草论文,并复现经典机器学习研究。

  • The AI Scientist v2:在 v1 基础上通过智能体树搜索规划推进,动态探索并行假设,通过反思反馈循环评估新颖性和有效性。

  • AI-Researcher:优先考虑透明度,通过溯源追踪记忆图记录所有产物(代码、数据日志),与 Scientist-Bench 共同开发用于可复现性评估。

  • Curie:通过因果感知规划循环实现严格的实验控制,在明确因果假设下自动化机器学习假设检验。

化学与材料

化学和材料科学为 AI Scientist 系统提供了成熟的测试平台,通过结构化分子表示、明确定义的协议和自主实验室(SDLs),实现了数字推理与物理实验的闭环集成,支持从头发现。

  • Coscientist:整合 GPT-4 推理与机器人液体处理系统,自主规划反应、生成控制代码、解释光谱反馈,并迭代优化假设。

  • A-Lab:结合贝叶斯优化与 LLM 引导的实验设计,每周自主合成和表征数千种新型无机材料。

  • Robotic AI Chemist:将认知自主性(基于文献的推理)与物理自主性(机器人操作)融合,实现端到端的反应设计与执行。

  • AutoLabs:部署多智能体自校正循环(规划、控制、安全审计),检测异常并重新校准仪器,提高通量和安全性。

生物医学

生物学和生物医学需要语义解释复杂协议,从噪声高维数据中进行因果推理,目标包括疾病通路发现和药物靶点识别。

  • BioPlanner:为 LLM 驱动的生物协议设计建立基准,形式化地将研究目标转化为可执行的实验工作流。

  • LLM4GRN:整合 LLM 推理与生物信息学工具,发现因果基因调控网络,自动化复杂数据分析以推断生物学机制。

  • Hierarchically Encapsulated Representation:采用分层架构进行多级协议推理(从宏观工作流到微观参数),实现鲁棒的、上下文感知的自主实验室规划。

物理与工程

物理和工程领域通过溯因推理追求基本方程发现——通过数值模拟、符号推理和实时仪器控制的协同集成,从观测数据中提取符号原理。

  • Agentic Physics Experiments:在粒子加速器设施部署 AI 智能体,通过闭环反馈自主协调数据采集和束线配置,优化校准。

  • SR-Scientist:采用智能体工作流进行符号回归,从观测数据中自主发现基本方程。

  • AIFeynman:引入物理约束的符号搜索(量纲一致性),从原始数据中重新发现经典定律,启发现代符号推理架构。

  • Quantum-Agent-SDL:结合强化学习与基于 LLM 的假设优化,在量子计算中实现自优化的量子比特校准和纠错。

元科学与社会科学

元科学应用分析科学事业本身(映射知识流动、识别范式、评估可复现性),将 AI 系统从研究执行者转变为元研究者,将科学作为复杂自适应系统进行研究。

  • SciAgents:采用多智能体协作和动态图推理遍历发表/作者网络,识别知识空白、跨学科连接,并预测研究趋势。

  • AI for Social Science (AI4SS):概述 AI 驱动的大规模社会建模、政策模拟以及创新扩散和协作模式分析的路线图。

  • Ethical Governance Frameworks:解决 AI 生成科学的社会影响,提出作者管理、信用归属和责任维护的框架。


挑战与解决方案

除了定义部分提到的差异侧重外,二者也具有很多共性。

领域知识注入不足

  • 问题表现:LLM 误用统计检验(如对非正态数据使用 t-test)、混淆专业术语(如“precision” vs “positive predictive value”)
  • 解决方案
    • RAG 增强:在生成前检索权威来源(如《Statistical Inference》教材、Stack Overflow 高赞回答)
    • 微调专用模型:使用 SciBench、BioCoder、DS-1000 等领域代码数据集微调 Code Llama 或 StarCoder
    • 规则约束层:在代码生成后应用静态分析器(如 pylint + 自定义规则)拦截常见错误

可复现性保障

  • 问题表现:随机种子未固定、依赖版本不明,导致他人无法复现结果
  • 解决方案eg
    • 强制在代码开头插入:
      1
      2
      3
      4
      5
      6
      7
      import numpy as np, random, torch
      SEED = 42
      np.random.seed(SEED)
      random.seed(SEED)
      torch.manual_seed(SEED)
      if torch.cuda.is_available():
      torch.cuda.manual_seed_all(SEED)
    • 自动生成 environment.yml(Conda)或 requirements.txt(pip)
    • 输出完整执行日志,包含 package versions(通过 pip freezeconda list
    • 支持导出 Docker 镜像,实现环境完全封装

多模态内容处理

  • 问题表现:无法解析公式、图表、表格等非纯文本内容
  • 技术进展
    • LaTeX 解析:使用 pandoc 或 Mathpix 将公式转为 MathML 或结构化 AST
    • 图表理解:集成 Qwen-VL 或 LLaVA,从 matplotlib 输出中提取趋势(如“准确率随 epoch 上升”)
    • 表格生成:使用 pandas-styled 或 tabulate 生成符合期刊格式的表格(含 p 值星号标记)

评估体系缺失

  • 现状:缺乏统一 benchmark 衡量“科研能力”
  • 已有基准
    • DS-1000:1000 个真实数据任务,评估代码正确性、鲁棒性、效率
    • ResearchBench:基于“灵感分解”的科研任务链评估(如从文献到假设再到实验)
    • EXP-Bench:聚焦实验设计合理性(如对照组设置、样本量功效分析)
    • IdeaBench:由领域专家对生成假设的新颖性(novelty)、可行性(feasibility)、影响力(impact)打分(1–5 分)

未来发展

当前,LLM-Based 数据科学智能体已在标准化、确定性高的任务上达到实用水平(如 Kaggle 风格分析),而 AI Scientist 系统正从“演示原型”迈向“可部署科研工具”。未来五年,随着评估体系完善、领域知识深度融合、人机协同机制成熟,AI 将逐步成为科研工作者的可信协作者,而非仅是自动化脚本生成器。其核心价值不在于取代科学家,而在于降低科研门槛、加速知识发现、提升研究可复现性

  1. 可验证研究(Verifiable Research)基础设施
    构建端到端可审计的科研流水线,每一步输出附带元数据:

    • 数据来源哈希(SHA-256)
    • 代码版本 ID(Git commit hash)
    • 统计检验 p 值与置信区间
    • 敏感性分析结果(如不同随机种子下的性能波动)
  2. 多智能体科研协作平台
    不同专业 Agent 协同工作:

    • Statistician Agent:负责假设检验设计与功效分析
    • Domain Expert Agent:提供领域约束(如“排除非生物可降解材料”)
    • Writer Agent:负责语言润色与期刊格式适配
  3. 人机协同科研协议
    定义标准接口(如 JSON-RPC over WebSocket),允许人类科学家:

    • 注入先验知识(如“X 机制已被证伪”)
    • 审批关键决策(如“是否接受该假设进入实验阶段”)
    • 标注错误反馈用于在线强化学习
  4. 跨学科知识图谱构建
    整合 PubMed、arXiv、USPTO、GitHub、ClinicalTrials.gov 等多源数据,构建统一科研知识底座,支持跨领域类比推理(如“将 NLP 中的 attention 机制迁移到基因调控网络”)。