Project report / GitHub evidence

AutoML-Agent: 多 Agent 协作的自动化机器学习

这是可索引项目报告证据页:它保留 AutoML-Agent: 多 Agent 协作的自动化机器学习 的源材料入口、机制线索和限制提醒;正文仍需 reader/editor 与 academic public-copy review 后才能当作最终结论引用。

AutoML-Agent: 多 Agent 协作的自动化机器学习

基本信息

字段内容
GitHubhttps://github.com/DeepAuto-AI/automl-agent
作者Patara Trirat, Wonyong Jeong, Sung Ju Hwang
论文AutoML-Agent: A Multi-Agent LLM Framework for Full-Pipeline AutoML (ICML 2025)
技术栈Python 3.11, vLLM 0.4.1, Mixtral-8x7B (LoRA), PyTorch, LangChain, AutoGluon
许可证CC BY-NC 4.0 (非商用)

项目简介

AutoML-Agent 是一个分层管理式多 Agent 的 AutoML 框架,用 LLM 驱动的五个专业 Agent 完成从数据理解到模型部署的完整 ML 流水线。

核心创新:将 AutoML 分解为五个专职 Agent 的协作任务 + 多计划并行 + 自动修订循环。

目录结构

automl-agent/
├── configs.py                    # 全局配置(LLM后端、API密钥、任务指标映射)
├── AutoMLAgent.ipynb             # 入口 Jupyter Notebook
├── agent_manager/                # ★ Manager Agent(状态机 + 知识检索)
│   ├── __init__.py               # AgentManager + 7状态FSM + 主循环
│   └── retriever.py              # 4路知识检索 + 对抗性噪声注入
├── prompt_agent/                 # Prompt Agent(自然语言→JSON)
├── data_agent/                   # Data Agent(数据方案 + 6级检索回退)
│   ├── __init__.py               # DataAgent 类
│   └── retriever.py              # HF/Kaggle/PyTorch/TF/UCI/OpenML 检索
├── model_agent/                  # Model Agent(建模方案 + 3级检索)
│   ├── __init__.py               # ModelAgent 类
│   └── retriever.py              # HF/Kaggle/PyTorch Hub 检索
├── operation_agent/              # Operation Agent(代码生成+自修复)
│   ├── __init__.py               # OperationAgent 类(最多5次迭代修复)
│   └── execution.py              # 子进程代码执行器
├── prompt_pool/                  # 7种任务的代码骨架模板
│   ├── tabular_classification.py # 表格分类(F1)
│   ├── tabular_regression.py     # 回归(RMSLE)
│   ├── tabular_clustering.py     # 聚类(RI)
│   ├── image_classification.py   # 图像分类(ACC)
│   ├── text_classification.py    # 文本分类(ACC)
│   ├── node_classification.py    # 图节点分类(ACC)
│   └── ts_forecasting.py         # 时序预测(RMSLE)
├── experiments/                  # 实验评估(含约束/自由/AgentK/SELA对比)
├── utils/
│   ├── embeddings.py             # RAG 检索(FAISS/BM25 + CrossEncoder重排)
│   └── evol_instruct/            # ★ 进化指令模块(深度+广度进化)
│       ├── depth.py              # 深度进化(4种策略)
│       └── breadth.py            # 广度进化
└── example_plans/                # 示例计划(few-shot)

核心模块分析

1. 多 Agent 协作模式

分层管理式架构

用户输入 (自然语言)

[Prompt Agent] ──解析──> JSON结构化需求

[Agent Manager] ──规划──> 生成N个并行计划
       ├──> [Data Agent] ──数据检索/预处理──> 数据方案
       │       ↓
       ├──> [Model Agent] ──模型检索/优化──> 建模方案
       │       ↓
       └──> [Operation Agent] ──代码生成/执行──> 可执行.py文件

7状态有限状态机agent_manager/__init__.py):

状态含义
INIT接收用户输入,解析需求
PLAN生成多个候选计划
ACT并行执行 Data/Model Agent
PRE_EXEC验证方案是否通过
EXECOperation Agent 写代码
POST_EXEC验证代码执行结果
REV修订失败计划

并行执行 + 串行验证

# 并行执行多个计划
with Pool(self.n_plans) as pool:
    self.action_results = pool.map(self.execute_plan, self.plans)

# 每个计划内部串行: Data Agent → Model Agent
def execute_plan(self, plan):
    data_result = DataAgent(...).execute_plan(plan, data_path)
    model_result = ModelAgent(...).execute_plan(plan, data_result)
    return {"data": data_result, "model": model_result}

2. 进化/自我改进机制

计划级迭代修订:所有计划失败时,Manager 反思原因并重新规划:

fail_rationale = self.generate_reply(fail_prompt)
plan_prompt = f"使用以下失败洞察创建新计划...{fail_rationale}"

代码级自动修复(最多 5 次迭代):

def implement_solution(self, code_instructions, n_attempts=5):
    while iteration < n_attempts:
        rcode, log = self.self_validation(filename)
        if rcode == 0: break
        # 将错误信息反馈到下一轮
        exec_prompt = "...If there is any error, please carefully fix it first."

Evol-Instruct 提示进化utils/evol_instruct/):

对抗性噪声注入(Adversarial Agent):

3. Prompt 工程模式

角色增强梯度策略(实验验证有效):

"You are a helpful assistant."
  → "You are a [role] of an AutoML project..."
    → "You are an experienced [role]..."
      → "You are the world's best [role]..."

统一 Prompt 模板

[系统角色定义] + [任务描述] + [上下文信息] + [约束条件列表] + [输出要求]

两级验证

Prompt Pool 代码模板(7种任务): 每个模板定义函数签名和评估框架,LLM 填充 TODO:

def preprocess_data():    # TODO: 数据预处理
def train_model():        # TODO: 模型训练
def evaluate_model():     # 框架已有指标计算
def prepare_for_deploy(): # TODO: 模型压缩

4. 评估框架

7种任务类型 + 评估指标

任务指标数据源
图像分类ACCButterfly, Shopee
文本分类ACCEcommerce, Entailment
表格分类F1Banana, Defects
表格回归RMSLECrab, Crop
表格聚类RISmoker, Education
图节点分类ACCCora, Citeseer
时序预测RMSLEWeather, Electricity

RAG 检索管线utils/embeddings.py):

数据/模型多级回退检索

评估方式:生成 Python 代码 → 无错误执行 → 包含 “Model Performance on Test Set” 输出

技术亮点

  1. 多计划并行 + 自动修订:N 个独立计划并行执行,失败后反思重规划
  2. 5个专职 Agent:PM + 数据 + 模型 + 运维 + Prompt 的完整团队
  3. Evol-Instruct 进化:深度(4策略)+ 广度提示进化
  4. 对抗性噪声注入:内置鲁棒性测试
  5. 4路知识检索:Google/arXiv/PapersWithCode/Kaggle 并行检索
  6. 代码自动修复:最多 5 次迭代修复
  7. ICML 2025 顶会认可

与 Self-Evolve 关联

维度AutoML-Agent 贡献
多 Agent分层管理式 5 Agent 架构 + 状态机驱动,可参考
自我改进计划级修订循环 + 代码级自动修复 + Evol-Instruct 进化
Prompt角色增强梯度 + 统一模板 + 两级验证
RAG4路知识检索 + 多级回退机制
评估7种任务类型 + 执行式评估
启示”多 Agent 自动化 ML” → “多 Agent 自动化 Agent 自身设计”

参考资料

GitNexus 深度架构分析