Meta Context Engineering via Agentic Skill Evolution

论文阅读:Meta Context Engineering via Agentic Skill Evolution

论文标题:Meta Context Engineering via Agentic Skill Evolution
作者:Haoran Ye, Xuning He, Vincent Arak, Haonan Dong, Guojie Song
作者机构:北京大学通用人工智能国家重点实验室、智能科学与技术学院(第一作者 Haoran Ye、通讯作者 Guojie Song);北京大学电子与计算机科学学院(Vincent Arak)
发表位置:ICML 2026(The 43rd International Conference on Machine Learning),Proceedings of Machine Learning Research,Volume 306,Pages 148325–148368
arXiv 编号:2601.21557
原文链接:https://arxiv.org/abs/2601.21557
正式发表链接:PMLR - ICML 2026
代码仓库:GitHub
主题:Context Engineering、Agentic Skill Evolution、Bi-level Optimization、Self-Improving Agents
核心问题:现有 Context Engineering 方法依赖人工设计的固定工作流和上下文结构,限制了上下文优化的搜索空间。如何让 Agent 不仅能够优化上下文本身,还能够自主进化负责上下文优化的方法?


1. 论文要解决什么问题?

随着 LLM Agent 的发展,Context Engineering(上下文工程)逐渐成为提升 Agent 能力的重要手段。

简单来说,一个 LLM 在执行任务时,最终表现不仅取决于模型本身,还取决于模型能够获得什么信息,以及这些信息如何组织。

例如,在一个金融领域的分类任务中,我们可以为模型提供:

  • 领域知识和专业术语;
  • 历史任务中的成功案例;
  • 常见错误及其纠正方法;
  • 针对不同输入的检索策略;
  • 具体的推理步骤和决策规则。

这些内容共同构成模型执行任务时使用的 Context。

因此,Context Engineering 的目标就是通过优化这些上下文内容及其组织方式,提高模型的任务表现。

但是,作者发现,现有 Context Engineering 方法存在一个共同问题:

虽然它们能够不断优化 Context,但是负责优化 Context 的方法本身通常是人工预先设计好的。

例如:

  • GEPA 主要采用 Prompt Rewrite 的方式,通过反思任务执行结果,不断重写和优化 Prompt。
  • ACE 采用 Generator、Reflector、Curator 等角色组成的固定工作流,通过不断生成经验、反思和整理来更新 Playbook。
  • Dynamic Cheatsheet 则采用动态示例和经验积累的方式优化上下文。

这些方法虽然取得了不错的效果,但其优化过程都受到预定义工作流和上下文表示方式的限制。

作者将这种限制归纳为两类。

1.1 Context 表示方式的限制

不同方法通常预先规定 Context 应该如何组织:

Context 表示方式 特点 局限性
Case-based Trajectories 保存完整的历史任务执行轨迹 信息丰富,但抽象和泛化能力有限
Itemized Lists 将经验整理为一个个独立条目 容易积累经验,但缺乏复杂的层次结构
Graph-based Memory 通过图结构组织知识和经验 结构灵活,但维护和检索成本较高

这些表示方式各有优势,但很难保证某一种结构适合所有任务。

例如:

  • 某些任务需要保留大量具体案例;
  • 某些任务需要提炼抽象的领域知识;
  • 某些任务需要复杂的层次化知识组织;
  • 某些任务则需要根据输入动态选择不同的知识。

因此,提前规定 Context 的组织结构,本身就限制了优化空间。

1.2 Context 优化工作流的限制

除了 Context 的表示方式,现有方法还存在另一个问题:优化工作流通常也是固定的。

作者主要讨论了两种具有代表性的倾向。

第一种:过度追求简洁。

例如 GEPA 通过反思和重写 Prompt 来优化上下文,倾向于提炼简洁、抽象的高层规则。

这种方式适合一些可以通过少量原则解决的任务,但在需要大量领域知识和细粒度规则的任务中,可能会丢失重要信息。

第二种:过度积累经验。

例如 ACE 采用 Generation → Reflection → Curation 的工作流,不断将新经验加入 Playbook。

这种方式能够积累大量知识,但也容易产生:

  • 重复经验;
  • 无关信息;
  • 上下文膨胀;
  • 局部更新导致的整体结构不协调。

本质上,这些方法都在使用人工预先设计好的 Context Engineering 策略。

作者提出的问题是:

既然我们可以让 Agent 优化 Context,那么为什么不能进一步让 Agent 优化如何优化 Context 的方法本身?

这就是 Meta Context Engineering(MCE)的出发点。


2. Background:从 Context Engineering 到 Meta Context Engineering

在介绍方法之前,需要先明确论文中两个重要概念。

2.1 Context Function

作者并没有将 Context 简单理解为一段 Prompt,而是将其抽象成一个 Context Function。

给定一个输入 Query,Context Function 负责根据输入动态组织和生成最终需要提供给 LLM 的上下文。

作者将其定义为:

\[c(x)=(F_k\circ\cdots\circ F_1)(x;\rho) \]

其中:

  • \(x\):当前输入 Query。
  • \(\rho\):静态组件,例如 System Prompt、知识库、代码库、规则和历史案例。
  • \(F\):动态操作,包括 Retrieval、Selection、Filtering、Formatting、Composition 等。

可以将其理解为两个部分:

静态组件(Static Components)

负责保存已有的知识和信息。

例如:

  • knowledge.md:领域知识;
  • rules.md:决策规则;
  • examples.md:历史案例。

动态操作(Dynamic Operators)

负责根据当前 Query 决定如何使用这些知识。

例如:

  • 根据关键词检索相关规则;
  • 根据输入类型选择不同的知识文件;
  • 过滤掉与当前任务无关的内容;
  • 按照特定格式组合上下文。

因此,Context 不一定是一个固定的文本文件,也可以是一套由文件和代码组成的动态上下文生成系统。

最终,LLM 根据 Query 和生成的 Context 执行任务:

\[\hat y=f_\theta(x,c(x)) \]

其中 \(f_\theta\) 是模型本身。

Context Engineering 的目标就是找到能够最大化任务表现的 Context Function:

\[c^*=\arg\max_{c\in\mathcal C}J(c) \]

\(J(c)\) 是任务相关的评价目标,可以是分类准确率,也可以是强化学习中的期望奖励。

2.2 MCE 的核心思想:将 Context Engineering 本身也变成优化对象

传统方法的优化过程可以理解为:

  • 人工设计 Context Engineering 工作流;
  • Agent 执行该工作流;
  • 不断优化 Context;
  • 最终得到更好的 Context。

MCE 则进一步将整个过程拆成两个优化层次:

层次 优化对象 目标
Meta-Level Context Engineering Skill 优化如何构建和维护 Context
Base-Level Context Function 优化实际供 LLM 使用的 Context

这里需要区分两个对象:

Skill:负责告诉 Agent 如何学习和优化 Context。

例如,Skill 可以规定:

  • 如何分析训练错误;
  • 如何提炼领域规则;
  • 如何组织知识文件;
  • 如何更新已有知识;
  • 如何设计动态检索逻辑。

Context Artifact:实际学习得到的上下文工件。

例如:

  • 领域知识文件;
  • 分类规则;
  • 历史案例;
  • 错误分析结果;
  • 检索和过滤代码。

换句话说:

Skill 决定如何学习,Context 决定学到了什么。

MCE 的核心贡献就是让这两个对象共同进化,而不是只优化其中一个。


3. Meta Context Engineering

MCE 是一个 Bi-level Optimization(双层优化)框架,由两个 Agent 组成:

  1. Meta-Agent:负责进化 Context Engineering Skill。
  2. Base-Agent:负责执行 Skill,优化 Context。

两个 Agent 分别工作在不同的层次,但通过历史记录和评价结果形成闭环。

3.1 Problem Formulation

给定一个 Skill \(s\),Base-Agent 执行该 Skill,最终得到一个 Context Function \(c_s\)。

作者将整个问题形式化为:

\[s^*=\arg\max_{s\in\mathcal S} J_{\mathrm{val}}(c_s^*) \]

满足:

\[c_s^*= \arg\max_{c_s} J_{\mathrm{train}}(c_s;s) \]

这两个公式分别对应两个优化层次。

内层优化:Base-Level。

给定一个 Skill \(s\),Base-Agent 根据训练数据优化 Context Function:

\[c_s^*= \arg\max_{c_s} J_{\mathrm{train}}(c_s;s) \]

目标是找到当前 Skill 所能构建出的最佳 Context。

外层优化:Meta-Level。

不同 Skill 会产生不同的 Context,因此需要比较这些 Skill 最终带来的效果。

作者使用验证集评价结果:

\[s^*=\arg\max_{s\in\mathcal S} J_{\mathrm{val}}(c_s^*) \]

目标是找到能够产生最佳 Context 的 Skill。

这里的两个优化过程并不是梯度下降,而是通过 Agent 执行、修改文件和代码、运行实验以及比较评价结果来完成。

这种设计将两个问题分离:

  • What to learn:应该学习什么样的 Context?
  • How to learn:应该采用什么方法构建和优化 Context?

LLM 的模型参数保持冻结,优化发生在 Skill 和 Context 这两个层面。

3.2 Meta-Level:Agentic Skill Evolution

这是 MCE 的第一个核心模块。

Meta-Agent 的职责不是直接修改 Context,而是不断改进负责 Context Engineering 的 Skill。

3.2.1 Skill Database

Meta-Agent 会维护一个历史数据库:

\[\mathcal H_{k-1} = \left\{ (s_i,c_i,J_i^{\mathrm{train}},J_i^{\mathrm{val}}) \right\}_{i=1}^{k-1} \]

其中每条历史记录包含:

  • \(s_i\):第 \(i\) 轮使用的 Skill;
  • \(c_i\):该 Skill 最终产生的 Context;
  • \(J_i^{\mathrm{train}}\):训练集表现;
  • \(J_i^{\mathrm{val}}\):验证集表现。

因此,这个数据库不仅保存历史 Skill,还保存每个 Skill 对应的 Context 和实际表现。

这很重要,因为 Meta-Agent 不仅需要知道之前使用了什么策略,还需要知道这些策略最终产生了什么结果。

例如:

Skill Context 表现 结果
Skill A 65% 较差
Skill B 72% 较好
Skill C 68% 一般

Meta-Agent 可以进一步分析:

  • Skill B 为什么表现更好?
  • Skill A 的哪些设计可以保留?
  • Skill C 是否有值得借鉴的部分?
  • 当前的优化策略是否存在过拟合?

这些信息都会成为下一轮 Skill 优化的依据。

需要注意,历史数据库会保留所有迭代的记录,而不是只保留当前表现最好的 Skill。

3.2.2 Agentic Crossover

在第 \(k\) 轮迭代中,Meta-Agent 根据任务描述和历史 Skill 生成一个新的 Skill:

\[s_k=\textsc{Crossover}(\tau,\mathcal H_{k-1}) \]

其中:

  • \(\tau\):任务规格,包括任务描述、数据格式、评价标准等;
  • \(\mathcal H_{k-1}\):此前所有迭代的历史记录;
  • \(s_k\):新生成的 Skill。

作者将这个过程称为 Agentic Crossover。

这里的 Crossover 与传统遗传算法中的交叉操作有所不同。

传统遗传算法通常会预先定义交叉规则,例如选取两个父代个体,将它们的某些片段组合成一个新个体。

而 MCE 将这个过程交给 LLM Agent 自主完成。

Meta-Agent 可以:

  1. 阅读历史 Skill;
  2. 检查不同 Skill 对应的文件和代码;
  3. 分析历史实验结果;
  4. 找到表现较好的设计;
  5. 识别失败策略及其原因;
  6. 选择性地组合和修改不同 Skill 的组成部分;
  7. 生成新的 Skill。

因此,这并不是一个固定的交叉算子,而是一个由 LLM 驱动的、基于历史经验的策略搜索过程。

3.2.3 Skill 的具体组成

论文将 Skill 表示为一个文件夹,而不是简单的一段 Prompt。

一个 Skill 可以包含以下内容:

组成部分 作用 示例
Methodology 定义整体优化方法 分阶段学习、错误分析、Context Pruning
Executable Scripts 实现具体操作 Python 错误分析、Embedding 相似度分析
Context Templates 定义知识组织模板 决策框架、歧义消除规则
Validation Protocols 验证 Context 的质量 泛化测试、质量评价
Dynamic Context Operators 定义动态上下文操作 检索、过滤、知识组合

因此,Skill 不只是一个告诉 Agent 应该怎么做的自然语言 Prompt。

它实际上是一个可以包含:

  • 自然语言指令;
  • Python 脚本;
  • 数据处理程序;
  • 知识模板;
  • 验证逻辑;
  • 检索函数;

的完整文件系统工件。

Meta-Agent 可以直接通过编程工具检查和修改这些内容。

作者认为,这种表示方式能够让不同抽象层次的优化内容被统一进一个 Skill 中。

例如,一个 Skill 可以同时修改:

  • Context 的知识组织策略;
  • 错误分析方法;
  • 检索算法;
  • 用于评价 Context 的验证程序。

这使得 Skill Evolution 不再局限于简单的 Prompt 修改。

3.3 Base-Level:Fully Agentic Context Optimization

Meta-Agent 生成新的 Skill 后,就进入第二个优化层次。

Base-Agent 负责执行这个 Skill,并根据训练数据优化实际使用的 Context。

在第 \(k\) 轮迭代中,Base-Agent 的工作空间包含四类主要内容:

内容 作用
当前 Skill \(s_k\) 指导 Base-Agent 如何优化 Context
最佳历史 Context \(c_{k-1}^*\) 作为本轮优化的初始基础
Training Rollouts \(\mathcal R_k\) 提供当前 Context 的执行结果和错误反馈
Utility Functions 提供调用其他 LLM、Embedding 模型等能力

其中,Training Rollouts 定义为:

\[\mathcal R_k= \{(x_i,\hat y_i,\mathrm{eval}_i)\} \]

也就是将当前最佳 Context 在训练集上运行,得到:

  • 输入样本;
  • 模型预测结果;
  • 对应的评价结果。

Base-Agent 的优化过程可以表示为:

\[c_k= \textsc{Engineer} (\tau,s_k;c_{k-1}^*,\mathcal R_k) \]

它需要根据当前 Skill 和历史执行结果,构建一个新的 Context Function。

这里有两个关键设计。

第一,使用历史最佳 Context 作为 Warm Start。

Base-Agent 并不是每次都从零开始构建 Context,而是可以直接读取之前表现最好的 Context,在其基础上进行修改。

这使得每轮优化都可以继承之前已经验证有效的知识。

第二,Context 的表示方式不受预定义 Schema 限制。

Base-Agent 可以根据当前 Skill,自主决定如何组织 Context。

例如:

  • 创建新的知识文件;
  • 修改已有规则;
  • 将经验拆分成多个文件;
  • 编写 Python 检索程序;
  • 根据 Query 动态选择知识;
  • 对已有知识进行重新整理和压缩。

因此,最终得到的 Context Function 可以是一个由多个文件和代码组成的系统,而不是传统意义上的单一 Prompt 或 Playbook。

3.4 Algorithmic Orchestration

前面介绍了两个 Agent 的职责,接下来看看它们如何共同工作。

MCE 使用了一个简单的 \((1+1)\) Evolution Strategy(进化策略)来组织整个优化过程。

其核心流程如下。

初始化:

  • Skill Database 为空;
  • 最佳 Context 为空。

每轮迭代:

  1. Meta-Agent 读取任务规格和历史 Skill Database。
  2. Meta-Agent 通过 Agentic Crossover 生成新的 Skill。
  3. 使用当前最佳 Context 在训练集上执行 Rollout,获得反馈数据。
  4. Base-Agent 根据新 Skill、最佳历史 Context 和 Rollout 结果构建新的 Context。
  5. 在训练集和验证集上评价新 Context。
  6. 将本轮的 Skill、Context 和评价结果加入历史数据库。
  7. 比较新 Context 与历史最佳 Context 的验证集表现,保留表现更好的一个。

其中最重要的是第 6、7 步。

历史 Skill Database 和当前最佳 Context 是两个不同的概念。

  • 历史数据库保留每轮生成的 Skill 及其对应的 Context 和评价结果。
  • 当前最佳 Context 则始终是验证集表现最好的 Context。

因此,即使某一轮生成的 Context 没有超过历史最佳结果,它对应的 Skill 及其评价信息仍然会被保留,供 Meta-Agent 在未来迭代中参考。

这意味着 Meta-Agent 可以从成功和失败的历史尝试中共同学习。

作者将这种优化方式称为 History-informed \((1+1)\)-ES。

\((1+1)\) 的含义是:

  • 当前只有一个最佳解;
  • 每轮产生一个新的候选解;
  • 比较新旧两个解;
  • 保留验证集表现更好的那个。

但需要注意,Skill 的搜索并不局限于当前最佳 Skill 的直接修改。Meta-Agent 可以访问完整的历史数据库,从不同历史 Skill 中选择和组合设计。

Agent 的执行环境

两个 Agent 都可以使用编程环境和文件系统完成任务,论文提供的工具包括:

  • Read
  • Write
  • Edit
  • Bash
  • Glob
  • Grep
  • TodoWrite

不同 Agent 的文件读写权限会根据其职责进行限制。

论文使用 Claude Agent SDK 实现 Agent,实验中的 Agentic Model 为 MiniMax M2.1。

image

【Figure 2(MCE 方法总体架构图),重点展示 Meta-Agent 如何从历史 Skill Database 生成新 Skill,以及 Base-Agent 如何利用 Skill、历史 Context 和 Training Rollouts 优化 Context,最后通过验证集评价结果形成闭环】


4. Experiments

4.1 Experimental Setup

作者在五个不同领域的任务上验证 MCE 的效果,涵盖金融、化学、医学、法律和 AI Safety。

数据集 领域 任务 训练/验证/测试样本数
FiNER 金融 XBRL 金融实体标签分类 200 / 100 / 100
USPTO-50k 化学 根据产物预测反应物 50 / 30 / 100
Symptom2Disease 医学 根据症状预测疾病 200 / 50 / 212
LawBench 法律 中国刑事案件罪名预测 200 / 50 / 100
AEGIS2 AI Safety 用户输入安全性分类 400 / 128 / 140

需要注意,作者为了控制实验成本,使用了部分数据集的采样子集,并非所有任务都在原始数据集的完整训练集上进行实验。

各任务使用的评价指标也有所不同:

  • FiNER:Accuracy;
  • USPTO-50k:Exact Match Accuracy;
  • Symptom2Disease:Accuracy;
  • LawBench:Micro-F1;
  • AEGIS2:F1。

模型配置

实验主要使用以下模型:

模型 职责
DeepSeek-V3.1 默认 Generator,同时作为 Reflector
Qwen3-8B AEGIS2 任务的 Generator
MiniMax M2.1 MCE 的 Agentic Model

其中,Base-Agent 在执行过程中也可以调用 DeepSeek-V3.1。

对比方法

作者比较了以下方法:

方法 核心思路
Base Model 不使用优化后的 Context
ICL 在 Prompt 中提供训练样本
MIPROv2 优化指令和示例
GEPA 基于反思的 Prompt Evolution
Dynamic Cheatsheet 动态积累和检索经验
ACE Generation-Reflection-Curation 工作流
MCE 同时进化 Skill 和 Context

实验设置

作者采用两种评价环境。

  1. Offline Setting

    方法可以访问训练集,通过多轮迭代优化 Context,最后在独立测试集上评价。

  2. Online Setting

    方法按照顺序处理测试集中的样本,每个样本只统计第一次推理的表现。MCE 的 Base-Agent 可以将已经处理过的样本保存在文件系统中,用于持续学习。

这里需要特别注意:

完整的 Skill Evolution 需要多轮迭代,因此不能直接应用于这种单次顺序处理的 Online 设置。

作者在 Online 实验中使用两种简化版本:

  • MCE:使用根据任务规格预先生成的固定 Skill;
  • MCE (w/o skills):不提供 Skill,由 Base-Agent 自主优化 Context。

因此,Online 实验中的 MCE 并不代表完整的双层 Skill Evolution 过程。

4.2 Main Results

4.2.1 Context Performance

论文的 Table 1 给出了不同方法在五个数据集上的表现。

方法 设置 FiNER USPTO Symptom2Disease LawBench AEGIS2 Avg. Rel. Gain
Base Model - 58.0 6.0 63.7 0.36 0.54 -
ICL Offline 64.0 9.0 84.4 0.57 0.59 32.1%
MIPROv2 Offline 69.0 14.0 73.1 0.60 0.59 48.6%
GEPA Offline 66.0 15.0 70.8 0.69 0.76 61.5%
ACE Offline 71.0 18.0 79.2 0.65 0.68 70.7%
MCE Offline 75.0 20.0 89.2 0.70 0.80 89.1%
DC Online 61.0 14.0 73.1 0.46 0.53 35.8%
ACE Online 64.0 13.0 62.3 0.63 0.57 41.1%
MCE (w/o skills) Online 67.0 18.0 76.9 0.70 0.68 71.3%
MCE (fixed skill) Online 68.0 20.0 76.4 0.66 0.63 74.1%

注:表中 FiNER、USPTO、Symptom2Disease 使用 Accuracy,LawBench 使用 Micro-F1,AEGIS2 使用 F1。Avg. Rel. Gain 是相对于 Base Model 的平均相对提升,而不是各任务原始指标的算术平均值。

可以看到:

第一,MCE 在 Offline 设置下的五个任务中均取得了最高成绩。

平均相对提升达到 89.1%,相比第二名 ACE 的 70.7% 有明显提升。

第二,MCE 在 Online 设置下同样表现较好。

使用固定 Skill 的 MCE 平均相对提升达到 74.1%,明显高于 ACE 的 41.1%。

第三,不同任务对 Context 的需求存在明显差异。

例如:

  • FiNER 需要大量细粒度领域规则和错误分析;
  • USPTO-50k 需要复杂的化学反应知识;
  • Symptom2Disease 更依赖训练样本的语义相似性;
  • LawBench 需要准确的法律要件分析;
  • AEGIS2 则需要控制小模型的误分类问题。

不同任务需要的 Context 组织方式并不相同。

MCE 能够根据任务特征调整 Context Engineering 策略,而不是始终使用同一套固定工作流。

另外,论文还报告,MCE 相比现有最优 Context Engineering 方法,在不同任务上取得了 5.6%–53.8% 的相对提升,平均相对提升为 16.9%。

需要注意,这个 16.9% 是相对于其他 SOTA 方法的平均相对提升,与上表中相对于 Base Model 的 89.1% 并不是同一个指标。

4.2.2 Context Adaptability and Efficiency

作者进一步分析了 MCE 生成的 Context 是否具有更好的适应性和效率。

1. Context 长度能够根据任务需求动态变化

不同方法存在明显的上下文长度偏好:

  • GEPA 倾向于生成简短的 Context,通常在 1K–2K Tokens 左右。
  • ACE 容易不断积累经验,在使用 200 个训练样本进行五轮优化后,Context 长度可以达到约 80K Tokens。
  • MCE 则能够根据任务需要决定 Context 的规模。

例如:

任务 MCE 生成的 Context 长度
FiNER 1.5K / 20K Tokens
LawBench 44K Tokens
USPTO-50k 86K Tokens

这说明 MCE 不会预先规定 Context 必须简洁或者必须详细,而是根据任务特点自主调整。

2. Context Efficiency

作者进一步比较了 Context 长度与准确率之间的关系。

在 FiNER 上:

方法 Context 长度 Accuracy
ACE 约 1.5K 65%
MCE-S 约 1.5K 73%
ACE 约 79K 70%
MCE-L 约 20K 75%

可以看到:

  • 在相同的上下文规模下,MCE 的表现更好;
  • MCE-L 使用约 20K Tokens 就超过了 ACE 使用约 79K Tokens 的表现。

作者将这一优势归因于两个方面:

第一,Base-Agent 能够全局观察和修改已有 Context,而不是像 ACE 一样不断追加新的经验。

第二,Base-Agent 可以批量分析训练数据中的错误和成功模式,综合多个样本的信息之后再更新 Context。

因此,MCE 更容易形成结构清晰、重复内容较少的上下文。

3. Context Transferability

作者还研究了一个问题:

使用强模型优化出来的 Context,能不能迁移到更弱的模型上?

例如,先使用 DeepSeek-V3.1 优化 Context,然后将生成的 Context 交给其他模型执行任务。

实验结果如下:

测试模型 方法 Avg. Relative Gain Avg. Relative Drop
Llama3.3-70B ACE 3.7% 28.1%
Llama3.3-70B MCE 23.6% 23.6%
Qwen3-8B ACE 11.8% 23.6%
Qwen3-8B MCE 36.4% 17.1%
Gemma3-4B ACE 58.5% 48.3%
Gemma3-4B MCE 172.6% 43.4%

其中:

  • Avg. Relative Gain:相对于对应模型 Base Model 的平均相对提升;
  • Avg. Relative Drop:从 DeepSeek-V3.1 迁移到目标模型时的平均相对性能下降。

MCE 在三个目标模型上都表现出更低的相对性能下降。

作者认为,这主要与两个因素有关:

  • Context 效率更高,减少了小模型处理长上下文时的困难;
  • Context 的组织方式更加结构化和具有泛化性,减少了对原始训练模型特定错误模式的依赖。

这里有一个实验范围限制:USPTO-50k 因为 Context 长度和任务难度,没有纳入这组迁移实验;AEGIS2 则因为本身已经使用 Qwen3-8B,未纳入比较。

4.2.3 Training Efficiency

作者还比较了 MCE 和 ACE 的优化效率。

在 FiNER 上:

指标 MCE ACE
完成五轮训练的时间 1.9 小时 25.8 小时
达到约 95% 训练准确率所需 Rollouts 450 2169

MCE 的训练速度提升约为 13.6 倍,达到相近训练准确率所需的 Rollouts 减少约 4.8 倍。

作者认为,这主要来自 MCE 的 Batch-level Optimization。

ACE 采用逐样本的 Generation-Reflection-Curation 流程,需要反复进行大量 LLM 调用。

而 MCE 可以让 Base-Agent 直接批量分析训练数据:

  • 找出预测错误;
  • 分析错误背后的共同原因;
  • 提炼一般性规则;
  • 批量修改 Context 文件。

必要时,还可以编写代码并行处理多个 Rollout。

因此,MCE 不一定需要对每个训练样本都执行完整的多 Agent 反思流程。

4.3 Ablation Studies

4.3.1 Bi-level Design 消融

作者在 FiNER 上对双层优化设计进行了消融实验。

比较了三个版本:

  1. MCE (w/o skills):Base-Agent 不使用 Skill,自主优化 Context。
  2. MCE (w/ a fixed skill):使用 Meta-Agent 根据任务规格生成的固定 Skill,但不再迭代进化。
  3. MCE (full):完整 MCE,每轮都进化 Skill。

结果如下:

方法 Offline Online
Base Model 58.0 -
ACE 71.0 64.0
MCE (w/o skills) 73.0 67.0
MCE (w/ a fixed skill) 71.0 68.0
MCE (full) 75.0 -

这里有几个值得注意的现象。

第一,即使没有 Skill,Base-Agent 本身也能够取得不错的效果。

MCE (w/o skills) 在 Offline 下达到 73%,超过 ACE 的 71%。

这说明,仅仅允许 Agent 自主修改 Context 文件和代码,就已经能够带来明显收益。

第二,固定 Skill 不一定能够带来额外收益。

Offline 下,固定 Skill 只有 71%,甚至没有超过无 Skill 的版本。

这说明根据任务描述一次性生成一个 Skill,并不能保证它适合实际任务。

第三,持续进化 Skill 能够进一步提升效果。

完整 MCE 达到 75%,超过无 Skill 版本的 73% 和固定 Skill 版本的 71%。

这表明,利用历史执行结果和验证集反馈持续改进 Skill,确实能够为 Context 优化带来额外收益。

不过,这组 Skill Evolution 的消融只在 FiNER 上进行了验证,因此不能直接认为相同幅度的收益在其他任务上也成立。

另外,完整的 Skill Evolution 无法直接应用于 Online 设置,因为该设置不具备多轮迭代优化 Skill 的条件。

4.3.2 排除 Agentic Model 带来的影响

MCE 使用 MiniMax M2.1 作为 Agentic Model。

因此,一个潜在的问题是:

MCE 的优势究竟来自方法本身,还是因为使用了更强的 Agentic Model?

作者通过替换 ACE 中的 Reflector 和 Curator 模型进行了实验。

配置 最终 Context 长度 最终 Accuracy
ACE + DeepSeek-V3.1 79K 70%
ACE + MiniMax M2.1 114K 67%

可以看到,使用 MiniMax M2.1 后,ACE 生成的 Context 反而更长,准确率却更低。

而且实验提前终止,因为 Playbook 超过了上下文窗口限制。

作者据此认为,MCE 的性能提升并不是简单来自更强的 Agentic Model,而主要来自其双层优化设计。


5. Case Studies:不同任务下的 Skill 和 Context 如何进化?

论文附录 D 对五个任务的进化过程进行了具体分析。

这些案例可以更直观地说明 MCE 的两个优化层次究竟在改变什么。

5.1 FiNER:从模式提取到错误驱动的知识泛化

FiNER 是金融领域的实体标签分类任务。

例如,给定一个金融术语及其所在句子,模型需要判断它对应哪个 XBRL 标签。

这个任务需要大量细粒度的金融领域规则,而且很多标签之间存在细微差异。

在进化过程中:

Skill 的变化:

初始 Skill 采用比较通用的分阶段 Context 整理流程。

经过多轮迭代后,Meta-Agent 发现,单纯提取正确模式并不足够,因此逐渐将核心策略转向 Error-driven Generalization。

也就是:

  • 不仅记录正确的分类规则;
  • 还要分析错误预测的根本原因;
  • 提取导致混淆的反例;
  • 明确记录哪些判断方式是不正确的。

Context 的变化:

最终 Context 被组织成三个主要文件:

文件 内容
tag-reference.md 各个标签的定义、正向和负向判断指标
semantic-guidance.md 关键语义区别和决策树
common-patterns.md 30 多种具体错误模式及其 WRONG → RIGHT 修正

最终的检索函数采用完整检索方式,将所有 Context 拼接后提供给模型。

这个案例说明,Meta-Agent 不只是让 Context 越来越丰富,还会改变 Base-Agent 学习和组织知识的方法。

5.2 USPTO-50k:从知识覆盖转向工作流和错误分析

USPTO-50k 是化学逆合成任务。

模型需要根据目标产物预测合成所需的前体反应物。

这个任务具有较大的反应空间,单纯记忆训练样本不足以解决问题。

最终 Skill 从最初的全面知识分类策略,逐渐转向:

  • 同时分析成功和失败案例;
  • 提取具有验证依据的反应模式;
  • 更关注实际的反应决策流程,而不是单纯积累百科知识。

最终 Context 包括:

文件 内容
workflow.md 具体的反应预测步骤和验证检查
QUICK_REFERENCE.md 从训练错误中提炼的关键规则
SUCCESS_PATTERNS.md 已验证的成功模式
Reaction-type guides 不同反应类型的专门知识

特别值得注意的是,作者不仅记录失败模式,还记录训练中达到 100% 准确率的成功模式。

因此,这套 Context 同时包含:

  • 哪些模式应该学习;
  • 哪些模式应该避免;
  • 应该按照什么步骤执行判断。

5.3 Symptom2Disease:学习什么时候应该停止优化

Symptom2Disease 是根据患者症状预测疾病的分类任务,共有 22 个疾病类别。

作者发现,这个任务的训练集和测试集具有较高的语义相似性,因此保留足够多的原始案例本身就很有效。

在这种任务中,过度抽象和反思反而可能破坏有用的细粒度信息。

经过多轮进化,Meta-Agent 发现当前 Context 已经接近最优,因此将 Skill 从全面构建知识转向保守优化。

其中一个重要变化是引入了明确的停止条件:

如果现有 Context 已经能够很好地解决任务,继续添加规则可能反而会引入噪声。

最终,Base-Agent 生成了一个约 1440 行的规则检索程序。

它会根据输入中的症状组合,选择性地返回相关知识,而不是始终将所有规则交给模型。

这个案例体现了 MCE 的一个特点:

进化出来的 Skill 不仅可以学习如何增加知识,也可以学习何时不应该继续增加知识。

5.4 LawBench:从表面模式学习转向结构化分析

LawBench 任务要求根据中国刑事案件事实预测适用罪名。

作者发现,简单的模式匹配容易造成过拟合。

例如,如果直接将某种表面特征映射为某个罪名,就可能忽略其他决定性的法律要件。

因此,Meta-Agent 逐渐将 Skill 的核心策略调整为 Structural Case Decomposition。

即:

  • 先对案件事实进行结构化拆解;
  • 再分析不同处理阶段的信息;
  • 最后依据关键法律要件作出判断。

最终 Context 包含 11 个专门文件,总大小约 30KB,而早期版本曾达到 88KB。

检索函数约 177 行,采用触发式增强策略,为模型提供统一的结构化分析指导,以及与当前案件相关的警示信息。

5.5 AEGIS2:面向小模型的精确率控制

AEGIS2 是 AI Safety 分类任务,使用 Qwen3-8B 作为 Generator。

由于模型规模较小,过长的上下文和复杂的推理规则容易影响表现。

经过多轮进化,Skill 逐渐强调 Precision Control,尤其关注模型将正常输入误判为不安全输入的问题。

最终 Context 包含 12 个专门文件,检索函数约 995 行。

其中一个重要设计是 Early Safe Return:

如果输入明显属于安全内容,检索程序会提前返回,不再向模型提供与违规类别有关的额外规则。

这样可以减少不必要的安全规则干扰,降低正常输入被错误判定为不安全的概率。

5.6 案例总结

五个任务最终产生了明显不同的 Context 组织方式:

任务 最终优化方向 动态检索方式
FiNER 细粒度规则、错误模式、语义消歧 全量检索
USPTO-50k 反应工作流、成功和失败模式 全量检索
Symptom2Disease 细粒度症状判别、保守更新 约 1440 行规则路由
LawBench 案件结构化拆解、法律要件分析 约 177 行触发式增强
AEGIS2 精确率控制、安全规则分类 约 995 行优先级检索

这些结果体现了 MCE 的设计目标:

它并不要求所有任务使用同一种 Memory 结构、同一种检索方法或者同一种知识更新策略,而是允许 Agent 根据任务反馈自主发现合适的 Context Engineering 方法。


6. Limitations

作者在论文中明确指出了两个主要局限性。

6.1 对推理密集型任务的优势可能有限

MCE 更适合以领域知识获取和模式匹配为核心的任务。

例如:

  • 专业领域分类;
  • 细粒度规则学习;
  • 知识积累;
  • 模式提取。

但对于高度依赖复杂推理的任务,传统的人工设计工作流可能已经非常有效。

例如,反复试错、错误纠正和系统性反思等机制,本身就比较适合推理任务。

因此,MCE 不一定能够在所有任务上超过已有的固定工作流。

6.2 长轨迹任务中的 Credit Assignment

对于执行轨迹特别长、过程特别复杂的任务,MCE 可能难以准确分析每个中间步骤对最终结果的贡献。

这类任务通常需要更细粒度的 Credit Assignment 和轨迹分析。

而 MCE 的 Batch-level Optimization 可能无法充分处理这些复杂的中间状态。

作者认为,这个问题与底层 Agentic Model 的能力有关,随着 Agent 模型能力提升,相关限制有望逐渐缓解。

6.3 实验范围上的边界

除作者明确讨论的局限外,还需要注意实验本身的适用范围:

  1. 五个任务都使用了不同程度的数据采样,实验结果并不等同于在完整原始数据集上的表现。
  2. 完整 Skill Evolution 的消融主要在 FiNER 上进行,其他任务尚未通过同样的消融方式独立验证 Skill Evolution 的增量贡献。
  3. Online 实验使用固定 Skill 或无 Skill 版本,没有验证完整的多轮 Skill Evolution。
  4. 为了与现有 Context Engineering 方法公平比较,实验将 Context 接口统一为 query → context 的一次性检索形式。

因此,实验主要验证的是 MCE 在特定 Context Engineering 任务中的有效性,而不是证明这套机制已经适用于所有类型的 Agent。


7. Future Work

作者提出了三个未来研究方向。

7.1 将 Agentic Skill Evolution 扩展到其他领域

以往的进化方法主要针对:

  • Prompt;
  • 算法和启发式函数;
  • 搜索策略;
  • Agent Workflow。

而 MCE 将 Skill 作为更高层次的进化对象。

作者认为,这种方式可以推广到其他 Agent 能力,使 Agent 不仅能够执行任务,还能够不断进化完成任务所使用的方法。

7.2 共同进化 Context Learning 和 Context Utilization

目前的实验主要采用一次性 Context 生成接口:

query → context

未来可以进一步让 Generator Agent 直接与 Context 文件交互。

这样就不仅需要优化:

  • 如何学习和构建 Context;

还需要优化:

  • 如何使用 Context;
  • 如何在执行过程中选择和组合 Context;
  • 如何根据当前任务动态调整上下文使用策略。

这意味着 Context 的学习机制和使用机制也可以成为共同进化的对象。

7.3 Skill Transfer 和 Skill Composition

由于 Skill 本身是由指令、代码和资源组成的模块化文件夹,因此未来可以研究:

  • 不同任务之间的 Skill 迁移;
  • 多个 Skill 的组合;
  • Progressive Disclosure,即按需加载 Skill 的具体内容;
  • 多个 Skill 组合后是否会产生新的能力。

这些方向有望让 Skill 从单一任务的优化工具发展为可以跨任务复用和组合的 Agent 能力模块。


8. 总结

Meta Context Engineering(MCE)提出了一种双层协同进化框架,将 Context Engineering 的优化过程拆成两个层次:

Meta-Level:进化 Context Engineering Skill。

Meta-Agent 根据任务规格、历史 Skill、对应的 Context 以及训练和验证表现,通过 Agentic Crossover 不断生成新的 Skill。

Base-Level:进化 Context Function。

Base-Agent 执行当前 Skill,分析训练 Rollouts,并通过文件和代码操作构建、修改和优化实际使用的 Context。

两个层次通过历史数据库和验证集评价结果形成闭环。

与传统 Context Engineering 方法相比,MCE 的核心变化并不是提出了一种新的 Memory 存储结构或检索算法,而是将负责构建和优化 Context 的策略本身也变成了可进化对象。

最终,Agent 可以根据任务特点自主决定:

  • 应该如何分析训练数据;
  • 应该采用什么知识组织方式;
  • 应该如何更新已有 Context;
  • 应该使用什么动态检索策略;
  • 应该在什么情况下停止继续优化。

论文通过五个不同领域的任务验证了这一设计,并展示了其在上下文适应性、迁移能力和优化效率方面的优势。


参考

  1. Ye, H., He, X., Arak, V., Dong, H., & Song, G. (2026). Meta Context Engineering via Agentic Skill Evolution. Proceedings of the 43rd International Conference on Machine Learning, PMLR 306, 148325–148368.

  2. Agrawal et al. (2025). GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning.

  3. Suzgun et al. (2025). Dynamic Cheatsheet: Test-Time Learning with Adaptive Memory.

posted @ 2026-10-30 16:42  YourF4u1t  阅读(14)  评论(0)    收藏  举报