← Home

Agentic Context Engineering: Evolving Contexts for Self-Improving Language Models

Qizheng Zhang、Changran Hu、Shubhangi Upasani et al. · Stanford University / SambaNova Systems / UC Berkeley · 2026-03-29 · arXiv:2510.04618

ACE:把上下文当「进化中的 playbook」,而不是越写越短的 prompt

> 量子位技术拆解 · 先给现象再给机制。完整结构化数据见「速查」tab。

先看一个现象:LLM 应用的性能越来越依赖上下文——指令、策略、证据都往输入里塞。可一旦让 LLM 自己迭代改写上下文,两个毛病就来了。第一个叫 brevity bias:优化器偏爱短指令,把领域洞察压成「写更有效的测试」这种正确但没用的废话。第二个叫 context collapse:整体重写会把积累的知识瞬间抹掉。AppWorld 上有个触目惊心的例子:上下文长到 18,282 token、准确率 66.7% 的时候,下一步被整体重写成 122 token,准确率掉到 57.1%——比完全不用上下文(63.7%)还差(Fig.2)。

ACE(Agentic Context Engineering,ICLR 2026)开出的药方是:把上下文当一本可进化的 playbook,逐条增删,而不是整份重写

核心机制:Generator → Reflector → Curator

框架有三个专职角色(Figure 4),模仿「做实验 → 反思 → 归档」的人类学习流程:

  • Generator:解决新问题时生成推理轨迹,并高亮哪些 playbook 条目有用、哪些误导。
  • Reflector:从成功与失败轨迹里蒸馏可复用洞察,可以多轮迭代提炼。
  • Curator:把洞察合成紧凑的 delta 条目,用确定性(非 LLM)逻辑合并进 playbook。
  • Figure 4:ACE 框架——Generator/Reflector/Curator

    关键设计是条目的结构:每条 bullet 有 identifier(唯一标识)和 描述,外加 helpful/harmful 计数器。这带来三个性质:

    1. 局部化:只更新相关的条目,不动整份上下文。

    2. 细粒度检索:Generator 能聚焦到最相关的知识。

    3. 增量适应:合并、剪枝、去重都可以在推理时低成本做。

    再配一个 grow-and-refine 机制:新条目追加,旧条目原位更新计数器,冗余条目按语义嵌入比对去重——可以每个 delta 后主动做,也可以等上下文窗口快满时惰性做。

    为什么合并必须用确定性逻辑?因为「策展」这个动作如果也交给 LLM 整体判断,就等于把 collapse 的风险请了回来——LLM 重写会压缩,压缩就丢细节。Curator 只做机械操作:新条目追加、旧条目改计数、重复条目删除,每一步都可预测、可审计、可并行。这让多路 delta 可以同时合并,批量适应成为可能。

    为什么增量比整体重写稳

    先给预期:下面这个对比要回答「整体重写到底坏在哪」。直觉是——LLM 重写长文本时倾向压缩,压缩就丢细节,而 agent 任务恰恰吃细节。

    AppWorld 案例(Fig.2):

    $$18{,}282 \text{ token / } 66.7\% \xrightarrow{\text{一次整体重写}} 122 \text{ token / } 57.1\%$$

    右侧的 57.1% 低于无上下文 baseline 的 63.7%——压缩不仅没帮忙,还把已有的知识清零了。ACE 的 delta 更新把「重写」换成「追加 + 原位修改 + 去重」,细节只增不减,膨胀靠计数与去重控制。

    关键结果:一张图看懂全面领先

    • AppWorld(agent 任务,Fig.1):Base ReAct 42.4% → 59.5%;对照 ICL 46.0%、GEPA 46.4%、DC 51.9%。比 ReAct+ICL 高 12.3 个点、比 ReAct+GEPA 高 11.9 个点。
  • 金融领域:FiNER 70.7 → 78.3(+7.6);Formula 67.5 → 76.5(+9.0);平均 +8.6% over 强 baseline。有 GT 标签的离线设置下平均 81.9%,比 GEPA 的 72.5% 高 9.4 个点(Table 2)。
  • 无标签也能学:纯靠执行成功/失败信号,AppWorld 上比 ReAct 平均 +14.8%。
  • 榜单实战:ReAct+ACE(DeepSeek-V3.1,开源)59.4% 平均,与 top-1 的 IBM CUGA(60.3%,GPT-4.1 系生产级 agent)持平;test-challenge 的 TGC 反超 8.4 个点(Fig.5)。
  • Figure 1:ACE 全面超过强 baseline

    成本侧同样干净:离线适应延迟 9,517 秒对 GEPA 的 53,898 秒(-82.3%),rollout 数 -75.1%;在线 FiNER 适应延迟 -91.5%、token 成本 $2.9 对 DC 的 $17.7(-83.6%)(Table 4)。playbook 变长也不用怕账单——GPT-5.1 的提示缓存实验里 91.8% 输入 token 命中缓存,计费成本比原始 token 数低 82.6%。

    Figure 2:Context collapse 的直观证据

    局限:Reflector 是软肋,反馈缺失就退化

    1. 强依赖 Reflector:它提炼不出好洞察,上下文就变噪甚至有害(§5 自承);HotPotQA、Game of 24 这类任务不需要丰富上下文,ACE 反而冗余。

    2. 无反馈信号时退化:没有 GT、没有执行结果,ACE 和 DC 都会掉点——上下文可能被误导信号污染(Table 2 的 ✗ 行)。

    3. 膨胀风险仍在:多轮适应后 playbook 可能到 80K token(MCE 论文的观测),KV 缓存缓解计费,但延迟与显存没有充分评估。

    4. 评估偏单基座:主体结果都在 DeepSeek-V3.1-671B 上,医疗与 text-to-SQL 只在附录。

    一句话记住这篇

    ACE 把上下文工程从「整份重写的 prompt」升级成「条目化、增量、可归因的 playbook」:Generator 产轨迹、Reflector 蒸馏洞察、Curator 打 delta 补丁。最该记住的数字是:AppWorld 42.4% → 59.5%(+17.1 个点),离线适应延迟省 82.3%;最该记住的边界是——反馈质量决定一切,机制仍是手工设计,这正是后来 MCE 要自动化的部分。

    把上下文当「进化中的 playbook」:Generator/Reflector/Curator 三组件产出带 identifier 的结构化条目,用增量 delta 更新替代整体重写,治好 brevity bias 与 context collapse;AppWorld 上 ReAct+ACE 59.5% 对 base 42.4%,FiNER +7.6 个点、Formula +9.0 个点,离线适应延迟比 GEPA 省 82.3%。

    问题

    要解决什么:LLM agent 与领域推理的性能高度依赖上下文(指令、策略、证据),但上下文适应方法有两个通病:brevity bias——优化器把领域洞察压成简短通用摘要丢掉细节;context collapse——整体重写让知识随时间坍缩,AppWorld 案例中 18,282 token/66.7% 的上下文一步塌成 122 token/57.1%,比不用上下文还差(63.7%)。

    为什么 prior work 不够:GEPA 等 prompt 优化器把 brevity 当优点,验证指标也偏向短指令;Dynamic Cheatsheet 这类在线记忆靠 LLM 整体重写,积累到一定规模就会把知识瞬间抹掉;两者都没有「结构化、增量、可归因」的上下文维护机制。

    进化循环(搜索空间 → 算子 → 评估 → 选择)

    搜索空间(什么被进化):上下文 playbook:bullet 条目集合(identifier + 描述 + helpful/harmful 计数器),条目是唯一可编辑表面;生成-反思-策展的 workflow 与更新规则是手工固定的(论文自承:update rules and the overall workflow are still handcrafted)。

    变异/提案算子

    • Generator:生成推理轨迹并高亮用到的条目(有用/误导),提供反馈信号
    • Reflector:从成功/失败轨迹蒸馏可复用洞察,可多轮迭代提炼
    • Curator:把洞察合成紧凑 delta 条目,用确定性非 LLM 逻辑合并进 playbook
    • grow-and-refine:新条目追加、旧条目原位更新计数器、语义嵌入去重

    评估方式:执行反馈驱动:AppWorld 的代码执行成功/失败、金融任务 GT 标签与公式正确性;无标签时纯靠执行信号。评估基准:AppWorld(TGC/SGC,test-normal/test-challenge)、FiNER、Formula、DDXPlus、BIRD-SQL,按官方协议 pass@1。

    选择与归档:条目级计数器跟踪 helpful/harmful 次数;周期或惰性 refine 用语义嵌入去重;无跨代淘汰——靠计数与去重控制膨胀;同一批样本可多 epoch 重访强化(multi-epoch adaptation)。

    自我改进程度:L1 边缘:基座模型固定,playbook 内容随执行经验自进化,但三角色机制、条目结构、更新规则全部手工设计;论文明确说机制层仍 handcrafted,这正是 MCE 后续要自动化的部分。

    输入 / 输出

    输入

    名称类型说明

    输出

    名称类型说明

    数据集

    数据规模备注

    架构(摘要)

    主干与结构

    backbone

    参数

    类型

    → 详见 Architecture tab。

    关键结果

    指标最强 baselinesetup
    AppWorld 平均准确率(agent 任务)59.5%(ReAct + ACE)Base ReAct 42.4%;ICL 46.0%;GEPA 46.4%;DC 51.9%Fig.1(p1)+ §4.3;AppWorld test 集,DeepSeek-V3.1 基座;相对 ReAct 提升 17.1 个点
    金融领域 FiNER / Formula 准确率78.3%(+7.6)/ 76.5%(+9.0)base 70.7% / 67.5%;GEPA 73.5% / 71.5%Fig.1(p1);DeepSeek-V3.1;XBRL 金融推理;平均 +8.6% over 强 baseline(abstract)
    AppWorld 相对提升比 ReAct+ICL 高 12.3 个点、比 ReAct+GEPA 高 11.9 个点;无 GT 标签时比 ReAct 平均 +14.8%ReAct+ICL、ReAct+GEPA、ReAct(无标签)§4.3(p7);在线设置下比 Dynamic Cheatsheet 平均 +7.6%
    离线适应延迟与 rollout 数9,517 秒(-82.3%);357 次 rollout(-75.1%)ReAct+GEPA 53,898 秒 / 1,434 次AppWorld,Table 4a(p10);在线 FiNER:5,503 秒 vs DC 65,104 秒(-91.5%),token 成本 $2.9 vs $17.7(-83.6%),Table 4b
    KV 缓存复用率91.8% 输入 token 命中缓存,计费成本相对原始 token 数 -82.6%按原始上下文 token 计费OpenAI API 提示缓存实验(GPT-5.1),§4.7(p10)——playbook 变长未必账单变贵
    AppWorld 公开榜单位置59.4% 平均,与 top-1 IBM CUGA(60.3%)持平;test-challenge TGC +8.4、SGC +0.7IBM CUGA(GPT-4.1 系生产级 agent)Fig.5(p23)+ §4.3;基座是开源 DeepSeek-V3.1
    金融离线(有 GT)平均81.9%(+12.8)GEPA 72.5%(+3.4);MIPROv2 70.9%;ICL 69.6%Table 2(p8),DeepSeek-V3.1-671B;无 GT 时 77.1%(+8.0)仍领先

    Insights

    vs 同类工作

    局限

    可复现性

    context-engineering self-improving agent playbook delta update agent memory prompt optimization

    ACE 架构:playbook 进化数据流

    Mermaid 数据流

    flowchart TD
        Q["新问题 Query"] --> G["Generator\n(生成推理轨迹,\n引用 playbook 条目)"]
        G -->|"轨迹 + 条目高亮(有用/误导)"| R["Reflector\n(蒸馏成功/失败洞察,\n可多轮迭代)"]
        R -->|"候选洞察"| C["Curator\n(合成 delta 条目)"]
        C -->|"确定性合并(非 LLM)"| PB["Context Playbook\n(identifier + 描述 + 计数器)"]
        PB -->|"检索最相关条目"| G
        PB -->|"去重(语义嵌入比对)\n周期/惰性 refine"| PB
        G -->|"最终答案"| ANS["Answer"]
        ENV["执行环境\n(代码执行成功/失败、\nGT 标签、公式正确性)"] -->|"反馈信号"| R
        ENV -->|"执行结果"| G

    组件详解

    • Generator(生成器):解决查询并产出推理轨迹,同时标记本次用到的 playbook 条目哪些有效、哪些误导。轨迹质量直接决定 Reflector 能提炼什么,所以执行反馈(代码是否跑通、答案是否正确)是它的主要输入。
  • Reflector(反思器):把轨迹成败蒸馏成结构化洞察。可多轮迭代:先批判轨迹,再提炼「下次遇到这类问题该怎么做」。它是 ACE 与「整体重写」方法的分水岭——评估与洞察提取被独立出来,避免把「判断」和「改写」压在同一个模型动作里。
  • Curator(策展员):把洞察压缩成 compact delta 条目,用确定性逻辑合并进 playbook:新 identifier 追加,已有条目原位更新计数器。不用 LLM 做合并,保证更新可预测、可并行、可审计。
  • Playbook(条目仓库):上下文本体,每个条目 = identifier + 描述 + helpful/harmful 计数。检索时按嵌入相似度取最相关的条目(细粒度),grow-and-refine 定期按语义去重。
  • 反馈通道:支持有标签(GT 答案)与无标签(纯执行成功/失败)两种模式;无标签时 Reflector 靠执行信号做判断,这是 AppWorld 无 GT +14.8% 的来源。
  • 离线 vs 在线:离线模式在训练集上多 epoch 优化 playbook 再上测试集(类似 prompt 优化);在线模式边测边更新(类似记忆);同一套组件两种模式都跑,这是 ACE 与纯 prompt 优化器的差别。
  • 设计要点

    1. 局部化更新:整体重写是「全文替换」,delta 更新是「逐条补丁」——后者避免 context collapse(18,282→122 token 的断崖案例)。

    2. 显式 credit assignment:计数器记录每条目被标记为 helpful/harmful 的次数,让条目质量可归因、可清理。

    3. 成本特征:适应阶段延迟/rollout 大幅下降(GEPA 对照 -82.3%);推理阶段靠 KV 缓存复用摊薄长 playbook 的计费成本(91.8% 命中率、-82.6% 计费)。

    4. 可选择性遗忘:上下文条目化让「删掉某条知识」变成一次原子操作,论文在讨论里把它和隐私/合规的 selective unlearning 挂钩。

    Figure 1 p.1 key

    ACE 在 agent 与领域任务上全面超过强 baseline

    ACE 在 agent 与领域任务上全面超过强 baseline

    原文 caption:Overall Performance Results. Our proposed framework, ACE, consistently outperforms strong baselines across agent and domain-specific tasks.

    支撑「全面领先」论断:AppWorld 上 ACE 59.5% 对 base 42.4%、GEPA 46.4%、DC 51.9%;FiNER 78.3 对 base 70.7;Formula 76.5 对 base 67.5。读法:看每组柱状图里 ACE 的领先幅度,以及它在 agent(左)与领域任务(中右)上的一致性。为什么重要:一张图给出全文收益的全貌——结构化、进化式的上下文优于固定示例、单指令优化和整体重写记忆。

    Figure 4 p.5 supportive

    ACE 框架:Generator → Reflector → Curator

    ACE 框架:Generator → Reflector → Curator

    原文 caption:The ACE Framework. Inspired by Dynamic Cheatsheet, ACE adopts an agentic architecture with three specialized components: a Generator, a Reflector, and a Curator.

    展示机制:Generator 产轨迹、Reflector 蒸馏洞察、Curator 输出 delta 条目并确定性合并进 playbook。读法:看「迭代精炼」回路与「delta 条目」箭头——更新是局部的、条目化的,这直接对应抗 collapse 的设计。为什么重要:它解释了 ACE 凭什么避免整体重写的坍缩,是机制层的核心证据。

    Figure 2 p.3 supportive

    Context Collapse:整体重写把知识瞬间抹掉

    Context Collapse:整体重写把知识瞬间抹掉

    原文 caption:Context Collapse. Monolithic rewriting of context by an LLM can collapse it into shorter, less informative summaries, leading to sharp performance drops.

    证明「整体重写会坍缩」:AppWorld 上第 60 步上下文 18,282 token、准确率 66.7%,下一步塌成 122 token、准确率 57.1%,低于无上下文 baseline 63.7%。读法:看 token 数与准确率同时断崖。为什么重要:它把 ACE 要解决的病根可视化——长上下文一旦被整体重写,积累的知识可以瞬间清零,这是设计增量更新的直接动机。

    Figure 5 p.23 supportive

    AppWorld 榜单:59.4% 与 top-1 生产级 agent 持平

    AppWorld 榜单:59.4% 与 top-1 生产级 agent 持平

    原文 caption:The AppWorld leaderboard as accessed on 09/2025.

    支撑「开源小模型追平生产级 agent」:ReAct+ACE(DeepSeek-V3.1)59.4% 平均与榜首 IBM CUGA(GPT-4.1 系,60.3%)同一量级,并在 test-challenge 的 TGC/SGC 上反超 8.4/0.7 个点。读法:看 ACE 条在榜单中的位置与它背后的模型规模。为什么重要:它把实验室收益换算成真实竞争场景的位置——上下文工程让开源模型逼近前沿闭源 agent。

    上下文该像一本会进化的笔记,还是越写越短的小抄?(对话版)

    小播:今天聊一篇 ICLR 2026 的论文,讲的是怎么给 LLM 写「上下文」——就是每次提问塞给它的那堆指令和资料。

    老播:这篇叫 ACE,Agentic Context Engineering。一句话结论:上下文应该像一本会进化的笔记本,条目化地增删,让它自己越用越懂你的任务——而当前主流做法是把整份上下文反复重写,越写越短,最后把知识丢掉。

    小播:等等,「越写越短」不是好事吗?短不是更省 token?

    老播:问题就在这。论文里有个特别直观的例子:在 AppWorld 这个 agent 基准上,一份上下文已经长到 18282 个 token,准确率 66.7%;下一步被整体重写,一下缩成 122 个 token,准确率掉到 57.1%——比完全不用上下文还低,不用是 63.7%。

    小播:也就是说,压缩把之前积累的领域知识全抹掉了?

    老播:对,这就是论文说的 context collapse。还有个反面毛病叫 brevity bias:优化器偏爱短指令,把该有的细节压成「写有效的测试」这种正确但没用的话。agent 任务恰恰吃细节,越压越差。

    机制:三个角色分工

    小播:那 ACE 怎么治?

    老播:它把上下文组织成一条一条的结构化条目,每条有唯一编号、描述,还有「被标记有用/有害几次」的计数器。维护工作分给三个专职角色。

    小播:哪三个?

    老播:Generator,负责解问题、生成推理轨迹,同时标记这次哪些条目有用、哪些误导。Reflector,负责从成功和失败的轨迹里提炼可复用的经验。Curator,负责把经验合成一条条小的「增量补丁」,用确定性的规则合并回笔记本里。

    小播:为什么合并要用确定性规则,不用 LLM?

    老播:这是它的关键设计。用 LLM 整份重写才会 collapse;逐条打补丁,加新条目、改旧条目的计数器、按相似度去重,每一步都可预测、可审计。更新是局部的,知识只增不减。

    小播:那和 Dynamic Cheatsheet 这类在线记忆有什么区别?

    老播:DC 是整体重写,会坍缩;ACE 是增量更新,还多了去重和计数器。在线设置下 ACE 平均比 DC 高 7.6 个点,FiNER 上的适应延迟省了 91.5%。

    数字:全面领先

    小播:给点硬数字。

    老播:AppWorld 上,基础 ReAct 是 42.4%,加上 ACE 到 59.5%。对照一下:固定示例的 ICL 是 46.0%,prompt 优化器 GEPA 是 46.4%,在线记忆 DC 是 51.9%。金融领域,FiNER 从 70.7 到 78.3,Formula 从 67.5 到 76.5。

    小播:有没有更真实的场景?

    老播:有。AppWorld 有公开榜单,ACE 用开源的 DeepSeek-V3.1 做到 59.4% 平均,和榜首 IBM CUGA 的 60.3% 持平——而 CUGA 是 GPT-4.1 系的生产级 agent。在更难的 test-challenge 分割上,TGC 还反超 8.4 个点。

    小播:开源模型追平闭源生产级 agent?这是上下文工程的功劳?

    老播:对,记住这个记忆锚点:它没换模型、没调权重,只靠让上下文自己进化。而且它不需要人工标注——纯靠代码执行成功还是失败这个信号,AppWorld 上就比 ReAct 平均高 14.8%。

    成本:又快又省

    小播:这么厚的上下文,成本会不会爆炸?

    老播:分两段看。适应阶段:离线延迟 9517 秒对 GEPA 的 53898 秒,省 82.3%,rollout 数省 75.1%。推理阶段:playbook 是长,但现代服务有 KV 缓存复用——用 GPT-5.1 做提示缓存实验,91.8% 的输入 token 直接命中缓存,计费成本比原始 token 数低 82.6%。

    小播:也就是说,上下文厚不一定会变贵?

    老播:对,再记住一个记忆锚点:条目化加确定性合并是 ACE 的护城河——逐条打补丁、计数器记功过,知识只增不减,这就是它不 collapse 的原因。

    老播:对,只要缓存命中率高。这是它敢把上下文越养越厚的经济学前提。

    泼冷水:Reflector 是软肋

    小播:它有什么短板?

    老播:三个。第一,它强依赖 Reflector 的提炼能力——提炼不出好经验,上下文就会变噪甚至有害,论文自己在讨论里承认了。第二,没有反馈信号就退化:没有标准答案、没有执行结果的时候,ACE 和 DC 都会掉点,上下文可能被误导信息污染。

    小播:第三?

    老播:不是所有任务都需要厚上下文。HotPotQA 这类检索问答,Game of 24 这种固定策略游戏,短指令就够,ACE 反而冗余。还有膨胀风险:多轮适应后 playbook 能长到 8 万 token,缓存缓解计费,但延迟和显存压力没有充分评估。

    小播:还有个点,它的机制本身是手工设计的吧?

    老播:对,这一点很重要:Generator、Reflector、Curator 的分工、条目的结构、更新规则,全是人写的。内容在进化,机制没有。这篇论文自己也承认——这正是后来 MCE 那篇要解决的事:连「怎么管上下文」这个机制一起进化。

    收尾

    小播:最后用一句话总结?

    老播:ACE 把上下文工程从「整份重写」升级成「条目化、增量、可归因的 playbook」:生成器产轨迹、反思器提炼经验、策展员打补丁。最该记住的数字是:AppWorld 从 42.4% 提到 59.5%,离线适应延迟省 82.3%。

    小播:而最该记住的边界是:反馈质量决定一切,机制仍是手工设计。

    老播:没错。这篇是「上下文工程」这条线的代表工作,读它之前先记住那个 18282 变 122 的坍缩例子——那就是它要治的病。