跳转至

Memory-Augmented LLM-based Multi-Agent System for Automated Feature Generation on Tabular Data

会议: ACL 2026
arXiv: 2604.20261
代码: GitHub
领域: LLM/NLP
关键词: 自动特征工程, 多智能体系统, 记忆增强, 表格数据, AutoML

一句话总结

提出 MALMAS,一个记忆增强的 LLM 多智能体系统用于表格数据自动特征生成,通过六个专职 Agent 分工探索不同特征空间维度 + 三级记忆机制(过程/反馈/概念)实现跨轮迭代优化,在 16 个分类和 7 个回归数据集上超越现有基线。

研究背景与动机

领域现状:自动特征生成是 AutoML 的关键环节,目标是从原始表格数据中自动构造高质量特征。传统方法(如 DFS、OpenFE)依赖预定义算子库进行组合搜索,而近期 LLM 方法(如 CAAFE)引入语义信息来指导特征变换,但仍有局限。

现有痛点:(1) 传统方法受限于固定算子集,无法利用任务语义,搜索空间狭窄;(2) LLM 方法虽然引入了语义信号,但依赖单一生成策略、思维模式固化,导致特征空间探索仍然受限;(3) 更关键的是,现有 LLM 方法缺乏来自下游学习目标的反馈机制——生成过程与模型性能脱钩,只能做低效的试错探索。

核心矛盾:特征空间的高维度和多样性与单一 Agent 的有限探索能力之间的矛盾,以及"生成→评估→优化"闭环的缺失。

本文目标:设计一个多 Agent 协作 + 记忆驱动的自动特征生成框架,能够 (1) 通过角色分工广泛探索特征空间,(2) 通过多级记忆实现跨轮的经验积累和策略调整。

切入角度:从特征工程实践中的"黄金特征"分类出发,沿三个正交维度(变换复杂度、数据范围、数据类型依赖性)设计专职 Agent,并引入过程记忆(做了什么)、反馈记忆(效果如何)、概念记忆(为什么有效)三级经验系统。

核心 idea:将特征生成分解为多个专职 Agent 的并行探索 + Router Agent 动态调度 + 三级记忆驱动的迭代优化。

方法详解

整体框架

每轮迭代:Router Agent 从 Agent 池中选择本轮激活的子集 → 每个活跃 Agent 根据元数据+记忆构建 prompt,与 LLM 多轮交互生成特征 → 评估生成特征在下游模型上的验证性能 → 更新三级记忆 → Summary Agent 汇总全局概念记忆 → 选取 TopN 特征加入数据集 → 进入下一轮。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
    A["表格数据 + 任务元数据"] --> B["Router Agent 动态调度<br/>读元数据与记忆选本轮激活子集"]
    subgraph AG["六专职 Agent + Router 并行架构"]
        direction TB
        C["一元 / 交叉 / 时序 / 聚合 / 局部变换 / 局部模式<br/>各管一类特征变换,覆盖三个正交维度"]
    end
    B --> AG
    AG --> D["下游模型评估<br/>XGBoost 验证 AUC / NRMSE"]
    subgraph MEM["三级记忆机制"]
        direction TB
        E["过程记忆 ProcMem<br/>做了什么"] --> F["反馈记忆 FeedMem<br/>效果如何·信用分配"] --> G["概念记忆 ConMem<br/>为什么有效"]
    end
    D --> MEM
    MEM --> H["全局概念记忆与跨 Agent 知识传递<br/>Summary Agent 汇总 GlobalMem"]
    H -->|"TopN 特征加入数据集,进入下一轮"| B
    H --> I["输出增强特征集"]

关键设计

1. 六专职 Agent + Router 的并行架构:让不同 Agent 各管一类特征变换,避免单一思路把特征做得千篇一律

单个 LLM 反复生成特征容易同质化(feature homogenization),思路固化在少数几种变换上。MALMAS 把特征构造拆给六个专职 Agent,分别负责一元变换(Unary)、交叉组合(Cross-Compositional)、时序特征(Temporal)、聚合构造(Aggregation-Construct)、局部变换(Local-Transform)和局部模式(Local-Pattern),这组角色恰好覆盖变换复杂度、数据范围、数据类型三个正交维度,让它们去探索互补的特征区域而非互相重叠。每一轮并不全员上阵:Router Agent 先读任务元数据和累积记忆,动态挑出本轮该激活的 Agent 子集,把算力花在当前数据集最可能见效的方向上。

2. 三级记忆机制(Procedural + Feedback + Conceptual):给无状态的 LLM 生成装上"做了什么→效果如何→为什么有效"的经验链

没有记忆的 LLM 每轮都从零生成,既会重复探索同样的变换,也学不到哪些操作真正有用。MALMAS 用三级记忆把每轮反馈沉淀下来:过程记忆(ProcMem)记录每次变换的完整 trace(基列、变换类型、特征名、描述、轮次),让后续轮次绕开已试过的路;反馈记忆(FeedMem)把每个生成特征与它在下游模型上的验证指标绑定,做显式的信用分配,知道哪条变换带来了增益;概念记忆(ConMem)则由 LLM 从前两者中蒸馏出可复用的启发式规则。三层逐级抽象,对应短期避错、中期导向、长期策略适应,让迭代不再是盲目试错。

3. 全局概念记忆与跨 Agent 知识传递:把一个 Agent 学到的有效模式广播给全队,减少重叠探索

局部记忆只服务单个 Agent,A 学到的经验 B 用不上,仍会各自造出冗余特征。每轮结束后,Summary Agent 汇总所有活跃 Agent 的概念记忆和反馈记忆,凝练成一份全局概念记忆 GlobalMem;下一轮 Router 的调度决策和每个 Agent 的 prompt 构建都会参考它。这样某个 Agent 发现的好模式能传播到全队,Router 也能据此更聪明地分派任务,把有效探索的成果在 Agent 之间复用起来。

一个完整示例:在 Titanic 上跑一轮迭代

以 Titanic 数据集为例。某一轮开始时,Router 读到任务元数据(含 Age、Fare、Pclass、Sex 等列)和已有记忆,判断时序特征意义不大,于是只激活一元变换、交叉组合和聚合构造三个 Agent。一元 Agent 对 Fare 做对数变换,交叉 Agent 把 Pclass 与 Sex 组合出新类别,聚合 Agent 按舱位算平均票价。三者生成的特征接入下游 XGBoost 评估,反馈记忆记录下"log(Fare) 让 AUC 微升、Pclass×Sex 增益最大";Summary Agent 把"舱位与性别的交叉对生存预测有效"写进全局概念记忆。下一轮 Router 据此继续侧重交叉组合方向,而过程记忆确保不会再重复生成 log(Fare)。几轮迭代下来,Titanic 的 AUC 收敛到 0.872,高于次优方法的 0.849。

损失函数 / 训练策略

目标是最大化验证集上下游模型的性能指标(分类用 AUC,回归用 NRMSE)。使用 XGBoost 作为下游模型,每轮通过 TopN-Features 筛选保留最优特征。

实验关键数据

主实验(分类 AUC,16 数据集平均排名)

方法 类型 Mean Rank
DFS 传统 3.69
OpenFE 传统 3.12
CAAFE LLM 3.57
OCTree LLM 4.81
LLMFE LLM 3.75
MALMAS 多Agent+记忆 1.12

消融实验(关键组件贡献)

配置 说明
单 Agent (无 Router) 特征多样性下降,同质化严重
无记忆 每轮独立生成,大量重复探索
无全局记忆 Agent 间无知识传递,冗余特征增多
无反馈记忆 无法从历史中学习哪些变换有效
MALMAS (完整) 最优表现,Mean Rank 1.12

关键发现

  • MALMAS 在 16 个分类数据集中平均排名 1.12,远超第二名 OpenFE (3.12)
  • 在难数据集上优势更明显:如 Titanic (0.872 vs 次优 0.849)、Credit_G (0.775 vs 次优 0.758)
  • 记忆机制是关键:概念记忆将"为什么某变换有效"抽象为可复用规则,指导后续探索
  • Router Agent 的动态调度避免了对所有数据集千篇一律地激活所有 Agent

亮点与洞察

  • 三级记忆的层次设计很有启发性:从操作 trace 到信用分配到策略抽象,对应了认知心理学中的程序性记忆→工作记忆→元认知。可以迁移到任何需要迭代优化的多 Agent 系统
  • Router Agent 的动态调度解决了"所有 Agent 都跑一遍"的计算浪费,实现了 task-dependent 的资源分配
  • 从"黄金特征"分类出发设计 Agent 角色是一个好实践——将领域知识编码到 Agent 分工中

局限与展望

  • Agent 角色划分是手工设计的,能否自动发现最优分工?
  • 记忆管理没有遗忘机制,长轮次下可能导致上下文膨胀
  • 下游模型固定为 XGBoost,在深度学习模型上的效果未验证
  • 未与 AutoML 全流程方法(如 Auto-sklearn)做端到端对比
  • 可以探索 Agent 间的对抗/辩论机制来提升特征质量

相关工作与启发

  • vs CAAFE: CAAFE 用单个 LLM 生成特征,受限于单一生成策略。MALMAS 通过多 Agent 分工+记忆反馈大幅扩展了探索空间
  • vs OpenFE: OpenFE 用树模型的算子搜索,高效但受限于预定义算子。MALMAS 利用 LLM 的语义理解生成更多样的变换
  • vs Generative Agents: 后者在社会模拟中使用多 Agent+记忆,MALMAS 将类似范式引入特征工程,是该思路的新应用方向

评分

  • 新颖性: ⭐⭐⭐⭐ 多 Agent + 三级记忆用于特征生成是新的组合,但各组件单独看并不新
  • 实验充分度: ⭐⭐⭐⭐ 23 个数据集覆盖广,但消融细节不够详细
  • 写作质量: ⭐⭐⭐⭐ 框架图清晰,但符号略显冗余
  • 价值: ⭐⭐⭐⭐ 对 AutoML 社区有实际贡献,三级记忆的设计思路有广泛迁移价值