CFGM
Agent 记忆 · EMNLP 2025 · arXiv 2508.15305v2

CFGM:把经验拆成粗焦点、混合技巧与细粒度反思

现有记忆增强 agent 通常只存单一粒度的经验(成功轨迹、insight 或 guideline):既分不清普适原则与场景细节,也无法在遇到异常时自我纠正。CFGM 用 LLM 的内部知识把经验接地成三层——粗粒度 Focus Points 指导收集、混合粒度 Tips Dictionary 提炼可迁移技巧、细粒度 Key Information Reflection 在异常时做 Self-QA。AlfWorld 成功率 91.00%,WebShop 57%,ScienceWorld 74%。

Wei Yang、Jinwei Xiao、Hongming Zhang、Qingyang Zhang、Yanna Wang、Bo Xu · 中国科学院自动化研究所 原文 ↗
TL;DR · 30 秒抓住核心

CFGM 不改模型参数,只改记忆的组织方式。离线阶段先用环境描述与少量人工轨迹生成 Focus Points,让 agent 在训练任务上带着“学习重点”探索;再把同一任务的成对成功/失败轨迹交给 LLM,提炼既含通用策略又含具体操作的 Experience-wise Tips,存进按任务索引的字典。

在线阶段按任务检索 top-2 经验与 tips 辅助 ReAct 决策;当环境返回异常观察(例如 “Nothing happens”)时,先抽取当前轨迹的 Key Information,再做 Self-QA 反思并生成修正计划。三个组件分别对应粗、混合、细三种粒度。

结果:AlfWorld 91.00%(ReAct 80.60%,差 10.40 个百分点),WebShop 57%(ReAct 37%,差 20 个百分点),ScienceWorld 74%(ReAct 43%,差 31 个百分点)。消融显示去掉 Focus Points 后 AlfWorld 降到 88.06%,差 2.94 个百分点。

91.00%
AlfWorld 成功率;ReAct 80.60%,ExpeL+QuBE 85.07%
57%
WebShop 成功率;ReAct 37%,ExpeL+QuBE 49%
74%
ScienceWorld 成功率;ReAct 43%,ExpeL+QuBE 65%
01

记忆的瓶颈不在“存多少”,而在“存什么粒度”

读完这节应该知道:为什么把成功轨迹直接塞进上下文,既学不精也纠不了错。

论文把现有记忆增强 agent 的做法概括为 single-granularity memory:从环境交互里收集轨迹,再把整条成功轨迹或从中抽出的少量 insight 作为上下文(§2.2)。这带来两个连锁问题。第一,经验质量取决于探索质量;如果 agent 在训练任务上盲目试错,收集到的轨迹本身就包含大量无效动作,后续再怎么提炼也受限。第二,单一粒度无法同时表达“跨任务的原则”与“这个任务的细节”,于是相似任务之间难以迁移推断(依据:§2.2 只说单粒度限制整体理解,未给跨任务迁移实验)。

另一个问题是执行期的推理偏轨(reasoning derailment)。§3.3 说,agent 在评测时遇到意外观察,容易沿着错误假设继续行动;§2.3 说,Reflexion 这类方法靠多次重试与自我反思,但很多基准只允许一次尝试推断,QuBE 则用固定问题模板做信念状态反思。论文想在不更新参数、不依赖多次重试的前提下,让反思也能利用细粒度的当前状态。

一句话

三层粒度分别解决收集、提炼、纠错

粗粒度 Focus Points 解决“去哪里找好经验”;混合粒度 Tips 解决“怎样把经验变成可迁移知识”;细粒度 Key Information Reflection 解决“执行中出错时怎么用当前状态纠正”。三者不是独立模块的拼接,论文强调前一层会改变后一层的输入质量(§4.2)。

02

四条已有路线:无记忆、离线经验、在线反思、两者相加

论文用三个特征区分基线:是否有离线经验、是否做轨迹反思、是否用 LLM 知识接地记忆(Table 1 表头)。

ReAct 是最基础的 think-act 循环,不做离线经验,也不做轨迹反思(§4.1)。ExpeL 从过去经验中抽取 insight 并检索相关轨迹,属于离线经验路线。AutoGuide 从离线经验生成上下文相关的 guideline,在测试时指导 agent。QuBE 用人工设计的问题模板做信念状态反思,属于在线反思路线。论文还对比了 ExpeL + QuBE 组合,用来证明 CFGM 的收益不只是把两种正交技术拼在一起(§4.2)。

表 1 · 基线特征与 AlfWorld 主结果(原文 Table 1;Off. Exp.=离线经验,Traj. Ref.=轨迹反思,Gro. Mem.=LLM 知识接地记忆)
方法Off. Exp.Traj. Ref.Gro. Mem.AlfWorld SR
ReAct✗✗✗80.60% ± 0.68%
ExpeL✓✗✗81.34% ± 0.85%
AutoGuide✓✗✗83.58% ± 0.77%
QuBE✗✓✗84.33% ± 0.73%
ExpeL + QuBE✓✓✗85.07% ± 1.03%
CFGM✓✓✓91.00% ± 0.82%

这张表只列了 AlfWorld;WebShop 与 ScienceWorld 的完整数字在 §06。需要注意的是,QuBE 只评了 AlfWorld,AutoGuide 没有 ScienceWorld 结果,原文用 N/A 表示未评,不是 0 分。

03

三个阶段:焦点收集、tips 提炼、异常反思

三个组件各有伪代码(Algorithm 1–3)。读完这节应知道每个阶段吃什么、产出什么、在哪里调用 LLM。

3.1 粗粒度 Focus Points 指导经验收集。在训练开始前,LLM 读取环境描述与少量人工轨迹,生成一组 focus points,作为 agent 理解环境的“预备知识”。随后 agent 在训练任务上执行最多 Z+1 轮 ReAct 尝试,失败时触发反思并把反思追加到任务级上下文,直到成功或轮数用尽(Algorithm 1)。所有成功与失败轨迹都按任务存入经验池。

3.2 混合粒度 Experience-wise Tips 提炼。对每个训练任务,如果经验池里同时有成功与失败轨迹,LLM 先对比二者,提炼“怎样避免这些错误”的技巧;再只看成功轨迹,补充“为什么这次能成功”的因子。若任务一次就成功,则只从成功轨迹提炼。每个任务最多 5 条对比 tips、3 条成功 tips,按任务存进 Tips Dictionary(Algorithm 2)。

3.3 细粒度 Key Information Adaptive Planning。评测时,先用 Faiss 按任务文本检索 top-k 相似经验,把成功轨迹与对应 tips 拼成上下文。执行中监控观察;当触发异常条件时,Key Information Extraction 模型对当前轨迹做结构化抽取,得到 KI;Key Information Reflection 模型结合 KI、当前轨迹与相似成功轨迹做 Self-QA,生成修正计划并拼回上下文(Algorithm 3)。

粗粒度:Focus Points → 高质量轨迹
混合粒度:成功/失败轨迹对比 → Tips(原则 + 操作)
细粒度:异常观察 → KI → Self-QA → 修正计划

三层的输入输出关系;论文没有给统一的目标函数,因为整个框架不训练参数。

边界

“接地”是提示词层面的,不是微调

论文说的 grounding 指用 LLM 自身知识把环境信息与轨迹转成显式记忆(focus points、tips、key information),不是更新模型权重。整个 CFGM 是一个 prompt-based 系统推断;依据是 §3 与附录 C 只给各阶段的提示模板,没有给模型微调或强化学习目标。

04

怎么算:多次 LLM 调用、Faiss 检索、四折验证

读完这节应知道:CFGM 的开销花在哪里,以及为什么它不能简单说成“更便宜”。

默认配置用 GPT-4-Turbo 作为 focus points 生成、agent / policy、反思、KIE / KIR 与 tips 对齐模型,GPT-4o 作为 tips 生成模型(Table 7);嵌入用 all-mpnet-base-v2,向量库是 Faiss kNN,经验与 tips 的检索范围都是 top-2,反思最多重试 3 次。实验采用四折验证:一半训练、一半评测,再交换,报告折间均值与标准误(Appendix B)。

表 2 · 实现配置(原文 Table 7 与 Appendix B;页面整理)
项目取值出处
Focus Points / Agent / Policy / Reflection / KIE / KIR 模型gpt-4-turbo-2024-04-09Table 7
Tips 生成模型gpt-4o-2024-08-06Table 7
Tips 对齐模型(WebArena-Shopping)gpt-4-turbo-2024-04-09Table 7
嵌入 / 向量库all-mpnet-base-v2 / Faiss kNNTable 7
经验检索 / tips 选择top-2 / top-2Table 7
最大反思重试3Table 7
每条经验最多 tips对比 5 条 / 成功 3 条Table 7
AlfWorld最多 20 步;134 个可解任务Table 7、Appendix B
WebShop最多 15 步;Table 7 写 134,Appendix B 写 100Table 7 / Appendix B
ScienceWorld最多 80 步;100 个任务Table 7、Appendix B
WebArena-Shopping最多 20 步;Table 7 写 90,Table 4 表注写 98Table 7 / Table 4

成本方面,论文在 AlfWorld 上统计了离线 token、在线每步 token 与完整轨迹的平均交互轮数(Table 6)。CFGM 的离线 token 是 4068.5,接近 ExpeL 的 3888.2,低于 AutoGuide 的 4873.4;在线每步 token 是 4681.4,低于 ExpeL 的 5125.5、AutoGuide 的 4809.4 与 QuBE 的 4752.3;平均轮数 14.32,比 ReAct 的 19.01 少 4.69 轮。论文据此说 CFGM 是 memory-augmented baselines 中在线效率最高的。

但这不是“全面更省”:ReAct 的在线每步 token 只有 1734.6,远低于 CFGM 的 4681.4,只是轮数更多。CFGM 省的是轮数与总交互,不是单步 token推断(依据:Table 6 把在线每步 token 与平均轮数分列统计)。页面按 Table 6 的口径分开写,避免把“轮数少”误读成“每步便宜”。

05

离线建库、在线检索,异常时才触发第三层

下图按 §3 与 Algorithm 1–3 重绘。上半部分是离线阶段,下半部分是在线阶段;第三层反思只在异常观察出现时激活。

OFFLINE · §3.1–§3.2 环境描述 + 少量人工轨迹 §3.1 Focus Points LLM 生成 粗粒度 经验池 成功 + 失败轨迹 按任务索引 Tips Dictionary 对比成功/失败 混合粒度 · §3.2 ONLINE · §3.3 · Algorithm 3 任务检索 Faiss top-k = 2 经验 + tips 策略模型 ReAct + tips 逐步动作 异常观察 trigger(o) 如 Nothing happens Self-QA 反思 KIE → KI → 修正计划 细粒度 第三层只在异常触发时激活;正常步骤只走“检索 → 策略” 论文给出 Algorithm 1–3 与提示模板(Appendix C),未给代码仓库 依据:§3.1–§3.3、Algorithm 1–3、Table 7

这张图只画主路径。Algorithm 1 的多次重试、Algorithm 2 的“只有成功轨迹”分支、以及 KIR 的最多 3 次重试都没有展开;论文正文与附录 C 有更细的提示词与分支说明。

06

三个环境都赢,消融把收益拆到三个组件

读完这节应知道:主结果、各组件边际贡献、检索范围的甜点,以及跨域迁移的边界。

Table 1 的完整结果如下。CFGM 在 AlfWorld 91.00%、WebShop 57%、ScienceWorld 74%;Reward 85.0。相对 ReAct 分别高 10.40、20、31 个百分点,Reward 高 26.4。相对 ExpeL+QuBE(同时有离线经验与在线反思)分别高 5.93、8、9 个百分点,Reward 高 9.4。

表 3 · 三个环境的主结果(原文 Table 1;SR=Success Rate,Reward 为 WebShop 平均奖励;± 为四折标准误)
方法AlfWorld SRWebShop RewardWebShop SRScienceWorld SR
ReAct80.60% ± 0.68%58.6 ± 1.037% ± 2%43% ± 1%
ExpeL81.34% ± 0.85%62.2 ± 1.342% ± 3%57% ± 2%
AutoGuide83.58% ± 0.77%73.3 ± 1.447% ± 2%N/A
QuBE84.33% ± 0.73%N/AN/AN/A
ExpeL + QuBE85.07% ± 1.03%75.6 ± 1.349% ± 3%65% ± 2%
CFGM91.00% ± 0.82%85.0 ± 1.357% ± 3%74% ± 2%
读数

消融在 AlfWorld 上做(Table 2)。单独加 FP、ET、KIR 分别把 ReAct 从 80.60 提到 85.82、86.57、85.82;ET+KIR 到 88.06;三者齐全到 91.00。去掉 FP 后掉 2.94 个百分点,论文据此说 Focus Points 通过提高经验质量放大了后两个组件的效果。

表 4 · AlfWorld 模块消融(原文 Table 2;FP=Focus Points,ET=Experience Tips,KIR=Key Information Reflection)
FPETKIRSR
✗✗✗80.60%
✓✗✗85.82%
✗✓✗86.57%
✗✗✓85.82%
✗✓✓88.06%
✓✓✓91.00%
读数

检索范围也有甜点。Table 3 在 ReAct+ET 设置上扫 top-k:k=0 是 80.60,k=1 到 82.09,k=2 与 k=3 都是 86.57,k=5 回落到 81.34。论文把回落归因于引入了不相关或相互冲突的 tips(§4.3)。

表 5 · 经验检索范围对 tips 质量的影响(原文 Table 3;AlfWorld,ReAct+ET)
top-k01235
SR80.60%82.09%86.57%86.57%81.34%

跨域迁移只做了一组:从 WebShop 提取 tips,迁移到 WebArena-Shopping(98 个任务),CFGM 25.1%(用 GPT-4-Turbo 把 tips 对齐到 WebArena-Shopping),高于 AutoGuide 的 20.4%(差 4.7 个百分点)、ExpeL 的 18.5%(差 6.6)、ReAct 的 10.2%(差 14.9)。这支持“tips 能迁移到相关但不同的网页购物域”,但不支持跨到科学实验或家居任务。

反思机制对比(Table 5):在 ReAct 上,无关键信息的 Self-QA 与固定问题模板的 QA Reflection 都是 84.33%,KIR 是 85.82%,高 1.49 个百分点。论文据此说,先抽取关键信息再做 Self-QA 比人工固定问题更有效(§4.3)。

表 6 · 在线反思机制对比(原文 Table 5;AlfWorld)
反思方式SR
Self-QA Reflection(无关键信息)84.33%
QA Reflection(固定问题模板)84.33%
Key Information Reflection85.82%

效率(Table 6):CFGM 离线 4068.5 token/样本、在线 4681.4 token/步、14.32 轮/轨迹;ExpeL 是 3888.2 / 5125.5 / 17.32,AutoGuide 是 4873.4 / 4809.4 / 16.55,QuBE 是 —(无离线阶段)/ 4752.3 / 17.21,ReAct 是 —(无离线阶段)/ 1734.6 / 19.01。CFGM 的轮数比 ExpeL 少 3.00、比 AutoGuide 少 2.23、比 QuBE 少 2.89、比 ReAct 少 4.69。

07

它省的是轮数,不是单步 token;跨域只验证了一个方向

论文自述两条局限,页面再补三条证据边界。

论文的 Limitations 写了两点(§5 之后):第一,训练集极小时,收集足够有效的经验仍然困难;第二,在线检索的经验轨迹如果很长,可能引入冗余或干扰,未来需要动态过滤机制。这两点都指向同一个前提:CFGM 的效果依赖“有可收集、可检索的经验”。

页面的核对补三点。第一,成本口径:CFGM 在线每步 4681.4 token,高于 ReAct 的 1734.6;它靠更少轮数(14.32 对 19.01)降低总交互,但单步更贵。第二,模型依赖:除 tips 生成用 GPT-4o 外,其余 LLM 角色都是 GPT-4-Turbo;泛化实验只到 Qwen2.5-7B-Instruct 与 GPT-4.1(Figure 3),没有更小模型或本地部署的成本数据。第三,跨域只验证 WebShop → WebArena-Shopping 一个方向,且任务数在原文里有两处不一致:Table 4 表注写 98 个任务,Table 7 写 90 个。页面并列,不替原文选一个。

另有一处原文内部不一致也并列:WebShop 的实验任务数,Appendix B 写 100,Table 7 写 134;这会影响复现时的任务集对齐,页面不替原文选一个。QuBE 与 AutoGuide 的 N/A 只表示未评(QuBE 只评了 AlfWorld,AutoGuide 未评 ScienceWorld),不是 0 分,也不属于原文矛盾。

别用 1

训练集极小

论文自述:极小的训练集难以生成足够经验;此时 focus points 与 tips 都没有足够原料。

别用 2

经验轨迹很长

论文自述:长轨迹会带来冗余或干扰,在线检索反而可能拖累规划。

别用 3

要求单步低成本

CFGM 单步 token 高于 ReAct;它用更多上下文换更少轮数,适合看总交互成本的场景。