文章目录
- 前言
- 零、论文基本信息
- 一、问题背景:为什么“存下轨迹”还不够
-
- 1. 交互式规划中的记忆闭环
- 2. 三个具体缺口
-
- 2.1 低效探索污染长期记忆
- 2.2 单一粒度无法兼顾迁移与执行
- 2.3 固定反思模板难以适应不同异常
- 二、相关工作:CFGM 在已有路线中的位置
-
- 1. ReAct:有推理轨迹,但没有跨任务记忆
- 2. Reflexion:失败后重试,但主要发生在任务内部
- 3. ExpeL:检索轨迹并抽取 insight
- 4. AutoGuide:把经验转为上下文相关的 guideline
- 5. QuBE:在线检查 belief,但问题由人工预设
- 三、CFGM 方法总览
- $$ \\operatorname{CFGM}
- 四、模块一:粗粒度 Focus Points 引导经验采集
-
- 1. 动机:先决定“看什么”,再开始探索
- 2. 采集过程
- 3. 一个直观例子
- 五、模块二:混合粒度 Experience-Wise Tips
-
- 1. 为什么既要成功轨迹,也要失败轨迹
- $$ C_{compare}
- $$ C_{success}
-
- 2. 两阶段 Tips 提取
- $$ TD[t_n]
-
- 3. “混合粒度”究竟混合了什么
- 六、模块三:检索经验与 Tips 支持在线规划
-
- 1. 双通道检索上下文
- 2. 为什么 Top-k 不是越大越好
- 七、细粒度关键信息与自适应 Self-QA
-
- 1. 异常触发,而不是每一步都反思
- 2. Key Information Extraction
- 3. Key Information Reflection
- $$ (qa_i,ref_i)
-
- 4. 完整在线流程
- 八、案例分析:Tips 和 KIR 分别解决什么
-
- 1. Tips 改变初始搜索策略
- 2. KIR 阻止异常后的重复动作
- 3. WebShop 中的搜索范围修正
- 九、实验设置
-
- 1. 环境与指标
- 2. 模型与参数
- 十、主实验结果
-
- 1. 相对 ReAct 的提升
- 2. 不能把收益简单归因于“离线 + 在线”叠加
- 十一、组件消融:三个粒度是否都有效
- 十二、检索范围:更多经验为什么反而更差
- 十三、跨环境迁移:Tips 是否只是任务模板
- 十四、在线反思:动态问题是否优于固定问题
- 十五、模型泛化:框架是否依赖 GPT-4-Turbo
- 十六、效率分析:少走弯路是否真的更省
- 十七、失败模式与反例
-
- 1. 检索过多导致知识冲突
- 2. 极小训练集难以形成有效经验池
- 3. 长轨迹重新把噪声带回上下文
- 4. Tips 可能把偶然相关当成规律
- 5. 异常检测与纠错都依赖语言模型判断
- 十八、与 Agent Memory 系列方法的横向比较
-
- 1. CFGM 与 A-MEM / MAGMA
- 2. CFGM 与 CoM
- 3. CFGM 与 ReMemR1
- 4. CFGM 与 Mem²Evolve
- 十九、对 Coding Agent 与 Tool Agent 的启发
-
- 1. Coding Agent:把仓库知识分成三个粒度
- 2. Tool Agent:从错误码触发结构化纠错
- 3. Multi-Agent:Tips 不应只是共享聊天记录
- 4. 真正值得借鉴的是“记忆形成前治理”
- 二十、论文局限性
-
- 1. 作者明确承认的局限
- 2. 进一步的局限
-
- 2.1 “内部知识落地”也可能落地幻觉
- 2.2 对闭源强模型的依赖仍然明显
- 2.3 缺少端到端成本与显著性检验
- 2.4 在线经验没有闭环回写
- 2.5 实验参数描述存在样本数不一致
- 二十一、我的理解和启发
-
- 1. CFGM 的本质是 Memory ETL
- 2. “粗到细”不是内容越来越短,而是条件越来越具体
- 3. 最关键的设计是“双表示”
- 4. KIR 应进一步走向“可验证反思”
- 5. CFGM 还缺最后一个“回流箭头”
- 二十二、总结
- 参考资料
前言
在前面的 Agent Memory 系列中,我们已经见过几条不同的演进路线:A-MEM 关注记忆条目如何自主组织和建立关联;MAGMA 强调多图、多视角的结构化记忆;CoM 试图把长期交互压缩成连续、可推理的记忆;ReMemR1 让 Agent 在写入记忆时能够回看历史,避免“边读边记”造成不可逆的信息损失;Mem²Evolve 则进一步讨论记忆如何随任务经验持续演化。
这些方法大多默认一个前提:系统已经拿到了值得保存的交互,然后再研究怎样写、怎样组织、怎样检索。
但在交互式规划任务中,这个前提未必成立。Agent 第一次进入环境时可能漫无目的地探索,采集到的轨迹本身就充满冗余和错误;随后即使使用再好的向量检索,也只是在低质量经验里寻找“最相似的低质量经验”。另一方面,把一整条成功轨迹原样塞回上下文,也不代表模型真正理解了其中哪些规律可以迁移、哪些动作只适用于当时场景。到了在线执行阶段,固定问题模板式的反思又很难覆盖不同环境里的异常。
CFGM(Coarse-to-Fine Grounded Memory)正是从这里切入。它不把 Memory 当作一个单独的存储模块,而是把记忆形成与使用拆成三个逐渐细化的阶段:
因此,这篇论文的唯一核心增量可以概括为:
CFGM 将 LLM 的内部知识按“粗粒度探索引导 → 混合粒度经验蒸馏 → 细粒度异常纠错”逐级落地到记忆生命周期中,使 Agent 不仅能检索经验,还能改善经验从哪里来、被提炼成什么,以及出错时如何使用。
这也决定了它与一般“轨迹库 + 向量检索”方法的根本区别:CFGM 优化的是整条记忆链路,而不只是检索端。
零、论文基本信息
论文名称: Coarse-to-Fine Grounded Memory for LLM Agent Planning
发表平台: EMNLP 2025 Main Conference,pp. 13029–13056
代码仓库: 论文与 ACL Anthology 页面未提供公开代码仓库
作者: Wei Yang、Jinwei Xiao、Hongming Zhang、Qingyang Zhang、Yanna Wang、Bo Xu
一、问题背景:为什么“存下轨迹”还不够
1. 交互式规划中的记忆闭环
一个典型的经验记忆 Agent 可以抽象为:
B
=
{
(
t
i
,
τ
i
,
y
i
)
}
i
=
1
N
,
\\mathcal{B}=\\{(t_i,\\tau_i,y_i)\\}_{i=1}^{N},
B={(ti,τi,yi)}i=1N,
其中,
t
i
t_i
ti 是任务,
τ
i
\\tau_i
τi 是 Agent 与环境交互得到的轨迹,
y
i
y_i
yi 表示成功、失败或奖励。面对新任务
t
t
t 时,系统从经验池
B
\\mathcal{B}
B 中检索相似轨迹,再把它们作为上下文交给策略模型。
问题在于,这个流程把“轨迹”直接等同于“记忆”。而轨迹只是交互日志,它是否构成有用记忆,还取决于三个环节:
- 采集质量: Agent 是否探索了关键状态与动作,而不是反复走无效路径;
- 知识密度: 轨迹中的可迁移规律是否被提炼出来;
- 使用时机: 在线异常发生时,系统能否识别真正的矛盾并及时改计划。
CFGM 对应地把问题拆成三个粒度层级。
2. 三个具体缺口
2.1 低效探索污染长期记忆
在 ALFWorld 这类部分可观察环境里,Agent 需要逐个检查容器;在 WebShop 中,它需要构造搜索词、翻页、检查属性;在 ScienceWorld 中,它需要执行长链科学实验。如果 Agent 对环境机制没有初步认识,离线探索就可能充斥重复动作和无关状态。
因此,低质量记忆的根源可能不是“检索错了”,而是记忆形成之前就没有采到好经验。
2.2 单一粒度无法兼顾迁移与执行
一条经验中通常同时存在两类知识:
- 粗粒度原则,例如“搜索物品时优先检查更可能出现该物品的位置”;
- 细粒度技巧,例如“执行 go to drawer 3 返回 Nothing happens 后,不要继续重复同一动作”。
只抽取宏观原则会失去可操作性,只保留具体动作又容易过拟合场景。论文把两者统称为 Hybrid-Grained Tips,希望同时保留跨任务规律和局部执行技巧。
2.3 固定反思模板难以适应不同异常
QuBE 一类方法通过人工设计的问题检查 Agent 的 belief state。这在特定环境中有效,但同一套问题很难覆盖“对象没找到”“网页动作无效”“物理实验条件不满足”等不同异常。
CFGM 的思路是:先从当前短期轨迹提取关键事实,再让 LLM 根据这些事实动态提出问题并回答。也就是说,问题不再预先写死,而由异常本身决定。
二、相关工作:CFGM 在已有路线中的位置
1. ReAct:有推理轨迹,但没有跨任务记忆
ReAct 交替生成 Thought 与 Action:
a
i
∼
π
R
e
A
c
t
(
a
i
∣
τ
i
)
,
a_i\\sim \\pi_{\\mathrm{ReAct}}(a_i\\mid \\tau_i),
ai∼πReAct(ai∣τi),
它奠定了语言 Agent 的交互范式,但每个任务基本从零开始。一次轨迹中的成功或失败不会系统性地变成下一次任务的先验。
2. Reflexion:失败后重试,但主要发生在任务内部
Reflexion 在失败后生成语言反思,并在下一次尝试中使用:
ν
z
+
1
=
concat
(
ν
z
,
LLM
R
e
f
l
e
c
t
(
τ
z
)
)
.
\\nu_{z+1}=\\operatorname{concat}\\big(\\nu_z, \\operatorname{LLM}_{\\mathrm{Reflect}}(\\tau_z)\\big).
νz+1=concat(νz,LLMReflect(τz)).
它解决了“同一错误反复发生”的一部分问题。CFGM 在离线经验采集时吸收了这种 retry-reflection 机制,但进一步加入 Focus Points 来提高最初探索质量,并把轨迹转成可跨任务检索的经验和 Tips。
3. ExpeL:检索轨迹并抽取 insight
ExpeL 已经具备经验池、相似轨迹检索和 insight 提取,是 CFGM 最直接的比较对象。CFGM 的批评不是 ExpeL 没有记忆,而是:
- 经验采集主要依赖 Agent 自身试错,缺少采集前的环境级引导;
- 经验知识的粒度较单一;
- 没有在单次在线执行中基于当前异常做细粒度自适应纠错。
4. AutoGuide:把经验转为上下文相关的 guideline
AutoGuide 强调从离线经验中提取 context-aware guideline。它比直接回放轨迹更接近“可复用知识”,但仍没有把采集、蒸馏和在线异常处理统一为一个渐进粒度框架。
5. QuBE:在线检查 belief,但问题由人工预设
QuBE 的优势在于无需等待整次任务失败,就能在在线执行中检查状态;其限制则是固定问句依赖人工设计,并且跨环境迁移成本较高。CFGM 的 KIR 用“关键事实提取 + 动态 Self-QA”替代固定问题。
三、CFGM 方法总览
在进入算法细节前,先看论文的整体概念图。它将初始环境信息、离线长期记忆和在线短期记忆连接成一条粗到细的路径。

Figure 1:CFGM 概念总览。 离线阶段先从环境信息中提取粗粒度 Focus Points,再从经验中蒸馏混合粒度 Tips;在线阶段检索相关经验与 Tips,遇到异常后提取细粒度关键信息,执行自适应 Self-QA 和计划调整。
图中值得注意的不是三个并列模块,而是信息粒度与时间阶段同时发生变化:
环境级先验(粗)
→
经验级知识(混合)
→
当前异常事实(细)
.
\\text{环境级先验(粗)} \\rightarrow \\text{经验级知识(混合)} \\rightarrow \\text{当前异常事实(细)}.
环境级先验(粗)→经验级知识(混合)→当前异常事实(细).
Figure 2 给出了完整的数据流。

Figure 2:CFGM 完整框架。 右侧是粗粒度关注点引导的离线经验采集,中间是按经验提取混合粒度 Tips 并建立字典,左侧是在线检索及由异常触发的细粒度关键信息与 Self-QA 反思;橙色箭头表示 LLM 内部知识向显式记忆的落地过程。
CFGM 的三个模块分别对应:
$$ \\operatorname{CFGM}
\\underbrace{\\operatorname{Collect}(FP)}{\\text{改善记忆来源}} + \\underbrace{\\operatorname{Distill}(\\tau)}{\\text{改善记忆表达}} + \\underbrace{\\operatorname{Correct}(KI)}_{\\text{改善记忆使用}}. $$
这里的 “grounded memory” 不是指视觉或文本证据引用意义上的 grounding,而是指:让 LLM 的隐式内部知识针对具体环境、具体经验和具体异常,转化为显式、可放入上下文的记忆内容。
四、模块一:粗粒度 Focus Points 引导经验采集
1. 动机:先决定“看什么”,再开始探索
如果直接让 ReAct 在训练任务中试错,模型可能知道许多常识,却没有把这些常识组织成当前环境的探索策略。CFGM 先让一个 Focus 模型阅读:
- 环境描述
D
e
s
c
e
n
v
Desc_{env}
Descenv; - 少量人工示例轨迹
F
m
a
n
u
a
l
F_{manual}
Fmanual。
随后生成粗粒度关注点:
F
P
=
LLM
F
o
c
u
s
(
D
e
s
c
e
n
v
,
F
m
a
n
u
a
l
)
.
FP=\\operatorname{LLM}_{Focus}(Desc_{env},F_{manual}).
FP=LLMFocus(Descenv,Fmanual).
Focus Points 不给出某个训练任务的完整答案,而是描述环境级的操作原则、搜索策略、动作语法和常见风险。它们相当于采集经验前的“探索提纲”。
2. 采集过程
对训练任务
t
n
∈
T
t
r
a
i
n
t_n\\in T_{train}
tn∈Ttrain,第
z
z
z 次尝试的动作由当前轨迹、人工示例、历次反思和 Focus Points 共同决定:
a
i
∼
LLM
R
e
A
c
t
(
a
i
∣
τ
n
,
z
,
F
m
a
n
u
a
l
,
ν
n
,
z
,
F
P
)
.
a_i\\sim \\operatorname{LLM}_{ReAct} \\left(a_i\\mid \\tau_{n,z},F_{manual},\\nu_{n,z},FP\\right).
ai∼LLMReAct(ai∣τn,z,Fmanual,νn,z,FP).
环境转移为:
(
o
i
+
1
,
d
o
n
e
)
=
e
n
v
.
s
t
e
p
(
a
i
)
,
(o_{i+1},done)=env.step(a_i),
(oi+1,done)=env.step(ai),
轨迹更新为:
τ
n
,
z
←
τ
n
,
z
∪
{
(
a
i
,
o
i
+
1
)
}
.
\\tau_{n,z}\\leftarrow \\tau_{n,z}\\cup\\{(a_i,o_{i+1})\\}.
τn,z←τn,z∪{(ai,oi+1)}.
如果任务失败且尚未达到最大重试次数
Z
Z
Z,系统生成反思:
ν
n
,
z
+
1
=
concat
(
ν
n
,
z
,
LLM
R
e
f
l
e
c
t
(
τ
n
,
z
)
)
,
\\nu_{n,z+1}=\\operatorname{concat} \\left(\\nu_{n,z},\\operatorname{LLM}_{Reflect}(\\tau_{n,z})\\right),
νn,z+1=concat(νn,z,LLMReflect(τn,z)),
然后再次尝试。无论轨迹成功还是失败,都先与任务一起写入经验池:
B
←
B
∪
{
(
t
n
,
τ
n
,
z
)
}
.
\\mathcal{B}\\leftarrow \\mathcal{B}\\cup\\{(t_n,\\tau_{n,z})\\}.
B←B∪{(tn,τn,z)}.
成功轨迹提供“什么做法有效”,同任务的失败轨迹提供“哪些错误最容易发生”。后续 Tips 提取正是依赖这两类证据的对照。
3. 一个直观例子
假设环境说明告诉模型这是一个虚拟家庭,需要在房间、抽屉、桌面和容器间寻找并操作物品。Focus Points 可能形成如下环境级策略:
- 先根据物品类型判断高概率位置;
- 执行动作前检查动作语法和对象状态;
- 收到 Nothing happens 时不要无条件重复动作;
- 长任务要保存子目标完成状态,避免回退。
它并没有告诉 Agent “碗就在 desk 2”,却能让采集过程少走明显的弯路。这个模块的真正意义是:让记忆系统第一次对信息质量负责的时点,从写入之后提前到轨迹生成之前。
五、模块二:混合粒度 Experience-Wise Tips
1. 为什么既要成功轨迹,也要失败轨迹
仅分析成功轨迹,可以知道一条可行路径;把同一任务的成功与失败放在一起,才能识别导致分叉的关键决策。
CFGM 按任务重新组织经验池,形成两类字典:
$$ C_{compare}
\\left{t_i:(\\tau_i{success},\\tau_{i,0}{fail},\\ldots)\\right}, $$
$$ C_{success}
\\left{t_i:\\tau_i^{success}\\right}. $$
C
c
o
m
p
a
r
e
C_{compare}
Ccompare 用于对照分析,
C
s
u
c
c
e
s
s
C_{success}
Csuccess 用于补充成功路径中的正向规律。
2. 两阶段 Tips 提取
若任务同时存在成功和失败轨迹,先生成对比型 Tips:
$$ TD[t_n]
\\operatorname{LLM}{Tips}(C{compare}[t_n]), $$
再基于成功轨迹和已有 Tips 补充:
T
D
[
t
n
]
←
concat
(
T
D
[
t
n
]
,
LLM
T
i
p
s
(
C
s
u
c
c
e
s
s
[
t
n
]
,
T
D
[
t
n
]
)
)
.
TD[t_n] \\leftarrow \\operatorname{concat}\\left( TD[t_n], \\operatorname{LLM}_{Tips}(C_{success}[t_n],TD[t_n]) \\right).
TD[tn]←concat(TD[tn],LLMTips(Csuccess[tn],TD[tn])).
如果该任务一次成功、没有失败轨迹,则只分析成功经验:
T
D
[
t
n
]
=
LLM
T
i
p
s
(
C
s
u
c
c
e
s
s
[
t
n
]
)
.
TD[t_n]=\\operatorname{LLM}_{Tips}(C_{success}[t_n]).
TD[tn]=LLMTips(Csuccess[tn]).
实验配置中,每个对比轨迹最多生成 5 条 Tips,每条成功轨迹最多补充 3 条 Tips。这个上限很重要:Tips 不是越多越好,太多会重新变成噪声上下文。
3. “混合粒度”究竟混合了什么
论文没有为 Tips 建立严格的形式化层级,但从附录案例可以看出至少包含:
- 可迁移原则: 优先查询高概率位置;搜索结果不足时改写查询;遇到状态不匹配先检查前置条件;
- 场景技巧: 某类对象更常出现在 desk;某网页动作无效时返回搜索并扩大关键词;
- 错误规避: 同一动作多次返回相同异常时应停止重复;不要在未确认对象状态前继续执行后续步骤。
这种设计比只存轨迹更紧凑,也比只存抽象 insight 更具可操作性。
六、模块三:检索经验与 Tips 支持在线规划
1. 双通道检索上下文
对评测任务
t
m
t_m
tm,CFGM 使用文本编码器
E
E
E 和 Faiss 做 kNN 检索:
E
s
i
m
=
Faiss
(
t
m
,
B
,
E
,
k
)
.
E_{sim}=\\operatorname{Faiss}(t_m,\\mathcal{B},E,k).
Esim=Faiss(tm,B,E,k).
论文使用 all-mpnet-base-v2 作为 Embedder,并默认检索 Top-2 经验。对每个相似任务
(
t
h
,
τ
h
s
u
c
c
e
s
s
)
(t_h,\\tau_h^{success})
(th,τhsuccess),系统分别聚合成功轨迹和对应 Tips:
S
T
=
⨁
h
∈
E
s
i
m
τ
h
s
u
c
c
e
s
s
,
ST=\\bigoplus_{h\\in E_{sim}}\\tau_h^{success},
ST=h∈Esim⨁τhsuccess,
E
T
=
⨁
h
∈
E
s
i
m
T
D
[
t
h
]
.
ET=\\bigoplus_{h\\in E_{sim}}TD[t_h].
ET=h∈Esim⨁TD[th].
在线策略同时看到两种记忆:
-
S
T
ST
ST 保留完整行为实例,回答“过去具体怎么做”; -
E
T
ET
ET 提供蒸馏后的经验知识,回答“为什么这样做、应避免什么”。
于是动作策略为:
a
i
∼
LLM
C
F
G
M
(
a
i
∣
τ
m
,
E
T
,
S
T
)
.
a_i\\sim \\operatorname{LLM}_{CFGM}(a_i\\mid \\tau_m,ET,ST).
ai∼LLMCFGM(ai∣τm,ET,ST).
这是一种“原始案例 + 抽象规则”的双通道提示,而不是只选其中一种。
2. 为什么 Top-k 不是越大越好
相似任务不等于完全相同任务。随着
k
k
k 增大,提示中可能出现彼此冲突的对象位置、操作顺序和环境状态。CFGM 没有动态重排 Tips,而是依赖较小的
k
k
k 控制干扰。后面的 Table 3 也验证了这一点:
k
=
2
k=2
k=2 或
3
3
3 最好,
k
=
5
k=5
k=5 几乎退回基线水平。
七、细粒度关键信息与自适应 Self-QA
1. 异常触发,而不是每一步都反思
CFGM 对每个新 observation
o
i
+
1
o_{i+1}
oi+1 做异常监测。当触发条件满足时,才启动 KIE 与 KIR:
if
t
r
i
g
g
e
r
(
o
i
+
1
)
=
1.
\\text{if }trigger(o_{i+1})=1.
if trigger(oi+1)=1.
这避免每一步都执行高成本反思。论文附录中的典型触发信息包括 Nothing happens、Invalid action 以及对象状态或前置条件不匹配。
需要注意的是,论文主要通过提示模板和环境异常文本实现 trigger,并没有学习一个统一的异常检测器。因此,该部分仍带有环境适配成分。
2. Key Information Extraction
触发后,KIE 从当前短期轨迹提取结构化关键信息:
K
I
=
LLM
K
I
E
(
τ
m
)
.
KI=\\operatorname{LLM}_{KIE}(\\tau_m).
KI=LLMKIE(τm).
K
I
KI
KI 关注任务进度、已经尝试过的位置或动作、最新异常和未满足条件。它的作用不是再做一次泛化摘要,而是把后续纠错所需的事实从长轨迹中单独拎出来。
3. Key Information Reflection
KIR 将当前轨迹、关键事实与相似成功轨迹结合,动态生成问题—答案和纠正方案:
$$ (qa_i,ref_i)
\\operatorname{LLM}_{KIR}(\\tau_m,KI,ST). $$
纠正建议被追加到当前 step:
s
i
=
(
a
i
,
o
i
+
1
)
⊕
r
e
f
i
,
s_i=(a_i,o_{i+1})\\oplus ref_i,
si=(ai,oi+1)⊕refi,
再写回在线轨迹:
τ
m
←
τ
m
∪
{
s
i
}
.
\\tau_m\\leftarrow \\tau_m\\cup\\{s_i\\}.
τm←τm∪{si}.
与固定模板式反思相比,这里的问题由当前事实决定。例如:
- 当前目标是否已经部分完成?
- 哪些位置已经检查,哪些尚未检查?
- 最近异常说明动作语法错误、状态不匹配,还是搜索范围太窄?
- 相似成功轨迹在这一状态采取了什么不同动作?
4. 完整在线流程
把 Algorithm 3 压缩成一个闭环就是:
t
m
→
retrieve
(
S
T
,
E
T
)
→
plan
a
i
→
e
n
v
o
i
+
1
→
anomaly
K
I
→
Self-QA
r
e
f
i
→
append
τ
m
.
t_m \\xrightarrow{\\text{retrieve}} (ST,ET) \\xrightarrow{\\text{plan}} a_i \\xrightarrow{env} o_{i+1} \\xrightarrow{\\text{anomaly}} KI \\xrightarrow{\\text{Self-QA}} ref_i \\xrightarrow{\\text{append}} \\tau_m.
tmretrieve
(ST,ET)plan
aienv
oi+1anomaly
KISelf-QA
refiappend
τm.
长期记忆提供参照,短期记忆提供现场事实,LLM 的内部知识负责把两者转成一个可执行的修正计划。
八、案例分析:Tips 和 KIR 分别解决什么
1. Tips 改变初始搜索策略

Figure 10:ALFWorld 中 Experience Tips 的作用。 ReAct 从 drawer 开始逐个搜索并在 drawer 3 陷入重复;CFGM 根据“优先检查 desk”这一 Tip,先检查桌面并迅速找到 bowl,随后完成任务。
这个案例说明 ET 的价值发生在错误之前。它不是在 Agent 失败后补救,而是利用过去经验改变新任务的先验搜索顺序。
但也应看到,这条 Tip 带有对象分布先验。如果测试环境改变物品分布,“bowl 更可能在 desk”可能失效。因此,混合粒度知识必须通过相似任务检索限制适用范围,不能当成全局永真规则。
2. KIR 阻止异常后的重复动作

Figure 11:ALFWorld 中 Key Information Reflection 的作用。 当 go to drawer 3 返回 Nothing happens 时,ReAct 继续重复相同动作直至耗尽步数;CFGM 提取“尚有其他抽屉、桌面和架子未检查”的关键事实,通过 Self-QA 决定跳过当前位置并继续搜索,最终完成任务。
KIR 的核心不是一句“请反思”,而是把异常转换为一个带状态约束的问题。这里的关键事实是:目标尚未完成、drawer 3 已产生无效反馈、候选位置仍未穷尽。于是纠正方案可以落到下一步动作,而不是生成泛泛的自我批评。
3. WebShop 中的搜索范围修正

Figure 13:WebShop 中 Key Information Reflection 的作用。 当翻页操作返回 Invalid action 且当前结果不满足颜色和价格条件时,CFGM 判断搜索范围或输入方式存在问题,改为放宽并重写搜索词,随后找到满足条件的商品;ReAct 则持续无效点击并耗尽步数。
这说明 KIR 不只记动作历史,还解释 observation 的含义。不过,该案例也暴露出方法依赖 LLM 判断:把 Invalid action 归因于搜索策略而非系统故障,是一次推断,不是环境提供的确定标签。
九、实验设置
1. 环境与指标
论文在三类交互环境中评测:
- ALFWorld: 文本化家庭环境,需要导航、寻找和操作物品;
- WebShop: 模拟电商网站,需要根据多个属性找到并购买商品;
- ScienceWorld: 文本科学环境,需要完成物态变化、电路、生物和化学等长链实验。
主指标为 Success Rate(SR)。WebShop 另外报告 Reward,用于衡量购买商品与目标属性的匹配程度。
2. 模型与参数
默认策略模型为 GPT-4-Turbo,知识提取模型为 GPT-4o。为公平比较,ExpeL 等基线也使用相同角色配置。论文采用四折验证:数据集一半用于训练、一半用于评测,再交换训练与评测部分,并报告各折均值和标准误。
核心配置如下:
项目
设置
Vector Store
Faiss
Retriever
k
NN
Embedder
all-mpnet-base-v2
检索经验数
2
最大反思重试
3
对比轨迹 Tips 上限
5
成功轨迹 Tips 上限
3
ALFWorld 最大步数
20
WebShop 最大步数
15
ScienceWorld 最大步数
80
\\begin{array}{l|l} \\textbf{项目} & \\textbf{设置} \\\\ \\hline \\text{Vector Store} & \\text{Faiss} \\\\ \\text{Retriever} & k\\text{NN} \\\\ \\text{Embedder} & \\text{all-mpnet-base-v2} \\\\ \\text{检索经验数} & 2 \\\\ \\text{最大反思重试} & 3 \\\\ \\text{对比轨迹 Tips 上限} & 5 \\\\ \\text{成功轨迹 Tips 上限} & 3 \\\\ \\text{ALFWorld 最大步数} & 20 \\\\ \\text{WebShop 最大步数} & 15 \\\\ \\text{ScienceWorld 最大步数} & 80 \\end{array}
项目Vector StoreRetrieverEmbedder检索经验数最大反思重试对比轨迹 Tips 上限成功轨迹 Tips 上限ALFWorld 最大步数WebShop 最大步数ScienceWorld 最大步数设置FaisskNNall-mpnet-base-v22353201580
Table 7:检索、Agent 与环境参数。 默认使用 Faiss kNN 和 all-mpnet-base-v2 检索 2 条经验;不同环境使用不同最大交互步数,Tips 生成数量也受到上限约束。
论文正文写 WebShop 采用与 ReAct/ExpeL 相同的 100 个任务,但 Table 7 的 “Number of Experiment Tasks” 一栏标为 134;WebArena-Shopping 的正文/表注写 98 个任务,而 Table 7 标为 90。这里存在内部不一致,阅读结果时应以对应实验段落和表注为直接口径,而不能把 Table 7 的数量无条件当作最终样本数。
十、主实验结果
方法
离线经验
轨迹反思
Grounded
Memory
ALFWorld
SR
WebShop
Reward
WebShop
SR
ScienceWorld
SR
ReAct
×
×
×
80.60
±
0.68
58.6
±
1.0
37
±
2
43
±
1
ExpeL
✓
×
×
81.34
±
0.85
62.2
±
1.3
42
±
3
57
±
2
AutoGuide
✓
×
×
83.58
±
0.77
73.3
±
1.4
47
±
2
N
/
A
QuBE
×
✓
×
84.33
±
0.73
N
/
A
N
/
A
N
/
A
ExpeL+QuBE
✓
✓
×
85.07
±
1.03
75.6
±
1.3
49
±
3
65
±
2
CFGM
✓
✓
✓
91.00
±
0.82
85.0
±
1.3
57
±
3
74
±
2
\\begin{array}{l|ccc|c|cc|c} \\textbf{方法} & \\textbf{离线经验} & \\textbf{轨迹反思} & \\textbf{Grounded Memory} & \\textbf{ALFWorld\\ SR} & \\textbf{WebShop\\ Reward} & \\textbf{WebShop\\ SR} & \\textbf{ScienceWorld\\ SR} \\\\ \\hline \\text{ReAct} & \\times & \\times & \\times & 80.60\\pm0.68 & 58.6\\pm1.0 & 37\\pm2 & 43\\pm1 \\\\ \\text{ExpeL} & \\checkmark & \\times & \\times & 81.34\\pm0.85 & 62.2\\pm1.3 & 42\\pm3 & 57\\pm2 \\\\ \\text{AutoGuide} & \\checkmark & \\times & \\times & 83.58\\pm0.77 & 73.3\\pm1.4 & 47\\pm2 & \\mathrm{N/A} \\\\ \\text{QuBE} & \\times & \\checkmark & \\times & 84.33\\pm0.73 & \\mathrm{N/A} & \\mathrm{N/A} & \\mathrm{N/A} \\\\ \\text{ExpeL+QuBE} & \\checkmark & \\checkmark & \\times & 85.07\\pm1.03 & 75.6\\pm1.3 & 49\\pm3 & 65\\pm2 \\\\ \\textbf{CFGM} & \\checkmark & \\checkmark & \\checkmark & \\mathbf{91.00\\pm0.82} & \\mathbf{85.0\\pm1.3} & \\mathbf{57\\pm3} & \\mathbf{74\\pm2} \\end{array}
方法ReActExpeLAutoGuideQuBEExpeL+QuBECFGM离线经验×✓✓×✓✓轨迹反思×××✓✓✓Grounded Memory×××××✓ALFWorld SR80.60±0.6881.34±0.8583.58±0.7784.33±0.7385.07±1.0391.00±0.82WebShop Reward58.6±1.062.2±1.373.3±1.4N/A75.6±1.385.0±1.3WebShop SR37±242±347±2N/A49±357±3ScienceWorld SR43±157±2N/AN/A65±274±2
Table 1:ALFWorld、WebShop 与 ScienceWorld 主实验。 Off. Exp. 表示离线经验采集,Traj. Ref. 表示在线基于轨迹反思,Gro. Mem. 表示利用 LLM 内部知识生成显式 grounded memory。
1. 相对 ReAct 的提升
CFGM 在三个环境中的 SR 分别达到 91%、57% 和 74%。相对 ReAct 的绝对提升为:
Δ
S
R
A
L
F
W
o
r
l
d
=
91.00
−
80.60
=
10.40
,
\\Delta SR_{ALFWorld}=91.00-80.60=10.40,
ΔSRALFWorld=91.00−80.60=10.40,
Δ
S
R
W
e
b
S
h
o
p
=
57
−
37
=
20
,
\\Delta SR_{WebShop}=57-37=20,
ΔSRWebShop=57−37=20,
Δ
S
R
S
c
i
e
n
c
e
W
o
r
l
d
=
74
−
43
=
31.
\\Delta SR_{ScienceWorld}=74-43=31.
ΔSRScienceWorld=74−43=31.
提升随任务复杂度增大:ALFWorld 已有较高基线,CFGM 仍提升 10.4 个百分点;ScienceWorld 的长链实验更容易中途偏航,因此离线经验和在线纠错的联合收益更大。
2. 不能把收益简单归因于“离线 + 在线”叠加
ExpeL+QuBE 同时具备离线经验与在线反思,但 ALFWorld、WebShop 和 ScienceWorld 分别只有 85.07%、49% 和 65%。CFGM 又提高 5.93、8 和 9 个百分点。这支持作者的主张:增益不只是两个模块并排,而来自 Focus Points 改善经验、Tips 改善表达、KIR 改善异常使用的链式关系。
不过,主实验还不能完全证明三阶段一定存在严格的因果协同,因为没有覆盖所有两两组合,也没有报告“同一批原始轨迹、仅替换蒸馏方式”的控制实验。最强证据仍来自后面的组件消融。
十一、组件消融:三个粒度是否都有效
Base
FP
ET
KIR
ET+KIR
FP+ET+KIR
F
P
×
✓
×
×
×
✓
E
T
×
×
✓
×
✓
✓
K
I
R
×
×
×
✓
✓
✓
S
R
(
%
)
80.60
85.82
86.57
85.82
88.06
91.00
\\begin{array}{c|cccccc} & \\textbf{Base} & \\textbf{FP} & \\textbf{ET} & \\textbf{KIR} & \\textbf{ET+KIR} & \\textbf{FP+ET+KIR} \\\\ \\hline FP & \\times & \\checkmark & \\times & \\times & \\times & \\checkmark \\\\ ET & \\times & \\times & \\checkmark & \\times & \\checkmark & \\checkmark \\\\ KIR & \\times & \\times & \\times & \\checkmark & \\checkmark & \\checkmark \\\\ SR(\\%) & 80.60 & 85.82 & 86.57 & 85.82 & 88.06 & \\mathbf{91.00} \\end{array}
FPETKIRSR(%)Base×××80.60FP✓××85.82ET×✓×86.57KIR××✓85.82ET+KIR×✓✓88.06FP+ET+KIR✓✓✓91.00
Table 2:ALFWorld 模块消融。 FP 为 Focus Points,ET 为 Experience-wise Tips,KIR 为 Key Information Reflection;三个组件单独加入 ReAct 均有效,完整组合达到最高的 91.00%。
可以得到四个结论:
十二、检索范围:更多经验为什么反而更差
k
0
1
2
3
5
S
R
(
%
)
80.60
82.09
86.57
86.57
81.34
\\begin{array}{c|ccccc} k & 0 & 1 & 2 & 3 & 5 \\\\ \\hline SR(\\%) & 80.60 & 82.09 & \\mathbf{86.57} & \\mathbf{86.57} & 81.34 \\end{array}
kSR(%)080.60182.09286.57386.57581.34
Table 3:ALFWorld 中 Top-k 经验范围对 Tips 质量的影响。 在 ReAct+ET 设置下,
k
=
2
k=2
k=2 与
k
=
3
k=3
k=3 达到 86.57%,
k
=
5
k=5
k=5 降至 81.34%。
这张表是论文最有工程价值的结果之一:记忆容量和上下文长度并不等于有效信息量。
k
k
k 从 3 增至 5 后下降 5.23 个百分点,说明后排经验的低相关性和 Tips 冲突足以抵消记忆收益。
更深一层看,CFGM 目前用固定
k
k
k 规避噪声,却还没有解决“同一个任务需要多少条经验”的自适应决策。更合理的后续方向是相似度阈值、边际价值判断或按 Tip 去重,而不是继续扩大上下文。
十三、跨环境迁移:Tips 是否只是任务模板
方法
WebArena-Shopping
SR
ReAct
10.2
±
0.5
ExpeL
18.5
±
0.9
AutoGuide
20.4
±
0.7
CFGM
25.1
±
0.8
\\begin{array}{l|c} \\textbf{方法} & \\textbf{WebArena\\text{-}Shopping\\ SR} \\\\ \\hline \\text{ReAct} & 10.2\\pm0.5 \\\\ \\text{ExpeL} & 18.5\\pm0.9 \\\\ \\text{AutoGuide} & 20.4\\pm0.7 \\\\ \\textbf{CFGM} & \\mathbf{25.1\\pm0.8} \\end{array}
方法ReActExpeLAutoGuideCFGMWebArena–Shopping SR10.2±0.518.5±0.920.4±0.725.1±0.8
Table 4:WebShop 经验知识迁移到 WebArena-Shopping 的 OOD 结果。 CFGM 先用 GPT-4-Turbo 将 WebShop Tips 对齐到新环境,再在 WebArena-Shopping 上评测;其 SR 高于 ReAct、ExpeL 和 AutoGuide。
CFGM 相比 AutoGuide 提高 4.7 个百分点,相比 ReAct 提高 14.9 个百分点,表明 Tips 确实包含一定跨网站的购物策略,例如改写搜索、检查属性、避免无效翻页。
但这不是零适配迁移:论文明确使用 GPT-4-Turbo 对 Tips 做 domain alignment。因此更准确的结论是:CFGM 提取的知识经过 LLM 对齐后更容易迁移,而不是原始 Tips 可以无修改跨域使用。
十四、在线反思:动态问题是否优于固定问题
反思方法
ALFWorld
SR
Self-QA Reflection
84.33
QA Reflection(固定问题)
84.33
Key
Information
Reflection
85.82
\\begin{array}{l|c} \\textbf{反思方法} & \\textbf{ALFWorld\\ SR} \\\\ \\hline \\text{Self-QA Reflection} & 84.33 \\\\ \\text{QA Reflection(固定问题)} & 84.33 \\\\ \\textbf{Key Information Reflection} & \\mathbf{85.82} \\end{array}
反思方法Self-QA ReflectionQA Reflection(固定问题)Key Information ReflectionALFWorld SR84.3384.3385.82
Table 5:不同在线反思机制的比较。 KIR 先分析短期轨迹中的关键信息,再进行动态 Self-QA;其结果高于无关键信息的 Self-QA 和固定问题 QA。
KIR 的优势为 1.49 个百分点。方向上支持“先提事实、再反思”,但幅度并不大,所以不能把主实验的全部提升归因于 KIR。结合 Table 2,更合理的判断是:ET 和 FP 提供主要的离线质量收益,KIR 在异常时补上最后一段在线恢复能力。
十五、模型泛化:框架是否依赖 GPT-4-Turbo

Figure 3:不同基础模型上的 ALFWorld SR。 从 Qwen2.5-7B-Instruct、Qwen2.5-7B、Qwen2.5-3B 到 GPT-3.5-Turbo、GPT-4-Turbo、GPT-4o、GPT-4.1,CFGM 均高于 ReAct 和 ExpeL;图中未给出误差条。
图中可读出的三组曲线为:
模型
ReAct
ExpeL
CFGM
GPT-3.5-Turbo
40.00
59.00
83.58
Qwen2.5-7B-Instruct
59.70
63.43
80.60
Qwen2.5-3B
70.15
74.63
85.07
GPT-4-Turbo
80.60
81.34
91.00
GPT-4o
83.58
85.07
93.28
GPT-4.1
85.07
87.31
95.52
\\begin{array}{l|ccc} \\textbf{模型} & \\textbf{ReAct} & \\textbf{ExpeL} & \\textbf{CFGM} \\\\ \\hline \\text{GPT-3.5-Turbo} & 40.00 & 59.00 & 83.58 \\\\ \\text{Qwen2.5-7B-Instruct} & 59.70 & 63.43 & 80.60 \\\\ \\text{Qwen2.5-3B} & 70.15 & 74.63 & 85.07 \\\\ \\text{GPT-4-Turbo} & 80.60 & 81.34 & 91.00 \\\\ \\text{GPT-4o} & 83.58 & 85.07 & 93.28 \\\\ \\text{GPT-4.1} & 85.07 & 87.31 & 95.52 \\end{array}
模型GPT-3.5-TurboQwen2.5-7B-InstructQwen2.5-3BGPT-4-TurboGPT-4oGPT-4.1ReAct40.0059.7070.1580.6083.5885.07ExpeL59.0063.4374.6381.3485.0787.31CFGM83.5880.6085.0791.0093.2895.52
Figure 3 数据复现:不同模型与方法的 ALFWorld SR。 闭源 GPT 系列默认由 GPT-4o 承担知识提取;Qwen 与 GPT-4.1 实验则让相应模型自身完成相关组件,以测试框架的自足性。
这里最显著的是 GPT-3.5-Turbo:CFGM 从 ReAct 的 40.00% 提高到 83.58%。这可能说明弱策略模型更需要显式经验支架,也可能部分来自较强知识提取模型 GPT-4o 的教师效应。由于不同模型条件下知识提取角色并不完全一致,这张图证明了框架兼容多个模型,但不能严格分离“记忆框架收益”和“更强模型蒸馏收益”。
十六、效率分析:少走弯路是否真的更省
方法
离线
Tokens/样本
在线
Tokens/步
在线
Turns/轨迹
ReAct
−
1734.6
19.01
ExpeL
3888.2
5125.5
17.32
AutoGuide
4873.4
4809.4
16.55
QuBE
−
4752.3
17.21
CFGM
4068.5
4681.4
14.32
\\begin{array}{l|ccc} \\textbf{方法} & \\textbf{离线 Tokens/样本} & \\textbf{在线 Tokens/步} & \\textbf{在线 Turns/轨迹} \\\\ \\hline \\text{ReAct} & – & \\mathbf{1734.6} & 19.01 \\\\ \\text{ExpeL} & 3888.2 & 5125.5 & 17.32 \\\\ \\text{AutoGuide} & 4873.4 & 4809.4 & 16.55 \\\\ \\text{QuBE} & – & 4752.3 & 17.21 \\\\ \\textbf{CFGM} & 4068.5 & \\mathbf{4681.4} & \\mathbf{14.32} \\end{array}
方法ReActExpeLAutoGuideQuBECFGM离线 Tokens/样本−3888.24873.4−4068.5在线 Tokens/步1734.65125.54809.44752.34681.4在线 Turns/轨迹19.0117.3216.5517.2114.32
Table 6:ALFWorld 单个训练样本的离线 token、在线每步 token 与每条完整轨迹的平均交互轮数。 CFGM 的在线 token/步和交互轮数在记忆增强基线中最低;ReAct 因没有额外记忆上下文,其单步 token 明显更低。
CFGM 相比 ExpeL:
5125.5
−
4681.4
5125.5
≈
8.7
%
\\frac{5125.5-4681.4}{5125.5}\\approx 8.7\\%
5125.55125.5−4681.4≈8.7%
的在线单步 token 降幅,平均交互轮数从 17.32 降至 14.32。相比 AutoGuide,离线 token 也少约 16.5%。
但是不能写成“CFGM 全局最省 token”:ReAct 每步只有 1734.6 tokens,远低于 CFGM。CFGM 的效率优势是在记忆增强方法内部减少冗余交互。论文也没有报告端到端延迟、API 费用或异常触发比例,因此无法由这张表直接计算真实部署成本。
十七、失败模式与反例
1. 检索过多导致知识冲突
Table 3 已经给出直接反例:
k
=
5
k=5
k=5 时 SR 从 86.57% 降到 81.34%。说明相似经验可能携带互斥的对象位置、操作次序或局部技巧。CFGM 的 Tips 虽然比轨迹更短,却没有天然消除冲突。
2. 极小训练集难以形成有效经验池
Focus Points 可以提高每次探索质量,但不能凭空产生任务覆盖。训练任务极少时,经验池缺少不同任务类型、状态和错误路径,后续 Tips 只能在有限样本上归纳。
3. 长轨迹重新把噪声带回上下文
CFGM 在线同时放入
S
T
ST
ST 与
E
T
ET
ET。当成功轨迹很长时,原始轨迹可能淹没 Tips,引入不相关动作,甚至让策略模型照搬错误的局部路径。作者在 Limitations 中明确提出需要动态过滤长轨迹。
4. Tips 可能把偶然相关当成规律
“优先检查 desk”在附录案例中有效,但它可能只是某批 ALFWorld 任务的分布特征。若环境布局变化,经验蒸馏会把数据偏差显式化并反复传播。
5. 异常检测与纠错都依赖语言模型判断
Nothing happens 容易识别,但真实 Tool Agent 中的异常可能是静默数据错误、权限不足、接口部分成功或延迟返回。CFGM 没有训练统一的异常分类器,也没有验证纠正建议是否满足工具安全约束。
十八、与 Agent Memory 系列方法的横向比较
方法
主要对象
核心操作
主要解决的问题
A-MEM
记忆条目与链接
自主组织、关联
扁平记忆缺少结构
MAGMA
多视角记忆图
多图建模与检索
单一相似度难覆盖多关系
CoM
长期交互历史
连续压缩与推理
上下文增长与信息保持
ReMemR1
写入中的历史记忆
Callback 回看
边读边记造成信息丢失
Mem
2
Evolve
记忆与策略
持续演化
静态记忆无法适应任务变化
CFGM
规划经验与在线轨迹
粗到细知识落地
经验质量、粒度与纠错割裂
\\begin{array}{l|l|l|l} \\textbf{方法} & \\textbf{主要对象} & \\textbf{核心操作} & \\textbf{主要解决的问题} \\\\ \\hline \\text{A-MEM} & \\text{记忆条目与链接} & \\text{自主组织、关联} & \\text{扁平记忆缺少结构} \\\\ \\text{MAGMA} & \\text{多视角记忆图} & \\text{多图建模与检索} & \\text{单一相似度难覆盖多关系} \\\\ \\text{CoM} & \\text{长期交互历史} & \\text{连续压缩与推理} & \\text{上下文增长与信息保持} \\\\ \\text{ReMemR1} & \\text{写入中的历史记忆} & \\text{Callback 回看} & \\text{边读边记造成信息丢失} \\\\ \\text{Mem}^{2}\\text{Evolve} & \\text{记忆与策略} & \\text{持续演化} & \\text{静态记忆无法适应任务变化} \\\\ \\textbf{CFGM} & \\text{规划经验与在线轨迹} & \\text{粗到细知识落地} & \\text{经验质量、粒度与纠错割裂} \\end{array}
方法A-MEMMAGMACoMReMemR1Mem2EvolveCFGM主要对象记忆条目与链接多视角记忆图长期交互历史写入中的历史记忆记忆与策略规划经验与在线轨迹核心操作自主组织、关联多图建模与检索连续压缩与推理Callback 回看持续演化粗到细知识落地主要解决的问题扁平记忆缺少结构单一相似度难覆盖多关系上下文增长与信息保持边读边记造成信息丢失静态记忆无法适应任务变化经验质量、粒度与纠错割裂
横向比较:CFGM 与代表性 Agent Memory 方法。 CFGM 主要面向交互式规划经验,创新点不在长期对话压缩或记忆图结构,而在记忆采集、蒸馏和在线使用的全流程粒度设计。
1. CFGM 与 A-MEM / MAGMA
A-MEM、MAGMA 更关注记忆之间如何组织;CFGM 更关注单条经验怎样变得值得组织。两者是互补关系:可以先用 CFGM 从轨迹产生 Focus、Tips 和关键状态,再用 A-MEM 或 MAGMA 建立任务、对象、错误类型和策略之间的链接。
2. CFGM 与 CoM
CoM 解决的是超长历史的持续压缩,CFGM 解决的是交互规划中经验知识的粒度转换。若用于长期 Tool Agent,可以用 CoM 管理跨会话历史,用 CFGM 管理每类工具任务的经验与异常纠错。
3. CFGM 与 ReMemR1
ReMemR1 的 Callback 发生在记忆更新时,让写入过程能够回看更早历史;CFGM 的 KIR 发生在任务执行时,让异常处理能够参考当前轨迹和相似成功经验。前者修复“记忆写错或写漏”,后者修复“计划已经偏航”。
4. CFGM 与 Mem²Evolve
Mem²Evolve 更强调记忆系统随经验持续更新;CFGM 的 Tips Dictionary 主要在离线阶段构建,在线纠错结果没有被明确回写并再次蒸馏。因此,CFGM 形成了粗到细的一次性流水线,但尚未形成“在线新经验 → 更新 Tips → 验证与淘汰旧知识”的持续演化闭环。
十九、对 Coding Agent 与 Tool Agent 的启发
1. Coding Agent:把仓库知识分成三个粒度
可以将 CFGM 映射到代码任务:
- 粗粒度 Focus Points: 技术栈、目录结构、构建命令、测试入口、代码规范、危险文件;
- 混合粒度 Tips: “修改鉴权逻辑要同步更新哪些中间件”这类原则,以及“该仓库测试必须带某参数”这类具体技巧;
- 细粒度 Key Information: 当前报错、最近 diff、失败测试、已尝试修复和未验证假设。
这样,Coding Agent 在开始编辑前先形成仓库级探索策略;任务结束后把成功/失败过程蒸馏为 Tips;测试报错时再从当前工作区提取关键事实进行动态 Self-QA。
2. Tool Agent:从错误码触发结构化纠错
Tool Agent 可把 trigger(o_{i+1}) 扩展为:
t
r
i
g
g
e
r
=
1
[
错误码
]
∨
1
[
重复调用
]
∨
1
[
状态无进展
]
∨
1
[
返回与预期 schema 不符
]
.
trigger= \\mathbb{1}[\\text{错误码}] \\lor \\mathbb{1}[\\text{重复调用}] \\lor \\mathbb{1}[\\text{状态无进展}] \\lor \\mathbb{1}[\\text{返回与预期 schema 不符}].
trigger=1[错误码]∨1[重复调用]∨1[状态无进展]∨1[返回与预期 schema 不符].
KIE 记录工具、参数、权限、返回值和已尝试方案;KIR 再判断应该重试、修改参数、切换工具,还是停止并向用户请求信息。
这里必须比论文更进一步:纠正计划应通过参数 schema、权限边界和副作用等级验证,不能让 LLM 的 Self-QA 直接授权高风险操作。
3. Multi-Agent:Tips 不应只是共享聊天记录
多个 Agent 协作时,原始消息很长且充满局部上下文。可以按角色提炼混合粒度 Tips:
- 规划 Agent 提炼跨任务原则;
- 执行 Agent 保存环境特定技巧;
- 审核 Agent 保存失败原因和约束;
- 异常发生时,由当前执行者从共享轨迹提取 Key Information,再发起针对性的 Self-QA。
4. 真正值得借鉴的是“记忆形成前治理”
许多工程系统先把所有日志存进向量库,再处理召回率问题。CFGM 提醒我们:最便宜的噪声控制发生在采集阶段。先定义 Focus Points,可以减少无意义试探、重复工具调用和无法复用的轨迹,从源头提高后续索引与检索质量。
二十、论文局限性
1. 作者明确承认的局限
- 极小训练集下,即使改进探索效率,也难以采集足够多的有效经验;
- 相似任务的长轨迹会带来冗余和干扰,需要动态过滤最相关的规划信息。
2. 进一步的局限
2.1 “内部知识落地”也可能落地幻觉
Focus Points、Tips、KI 和 Self-QA 都由 LLM 生成。若模型对环境机制理解错误,CFGM 会把错误先验显式写进多个阶段,产生链式放大。
2.2 对闭源强模型的依赖仍然明显
默认实验使用 GPT-4-Turbo 执行策略、GPT-4o 做知识提取。框架兼容小模型不等于完全摆脱强模型;特别是 GPT-3.5 条件下的大幅提升,可能包含 GPT-4o 蒸馏带来的额外能力。
2.3 缺少端到端成本与显著性检验
论文报告 token 和标准误,但没有提供运行时延迟、API 成本、显著性检验或异常触发频率。对于需要多次 LLM 调用的 KIE/KIR,部署成本仍需单独评估。
2.4 在线经验没有闭环回写
成功的在线纠错没有自动升级为 Tips,错误 Tips 也没有置信度、版本、冲突检测和淘汰机制。长期运行时,静态 TD 可能逐渐过时。
2.5 实验参数描述存在样本数不一致
正文与 Table 7 对 WebShop、WebArena-Shopping 的任务数量给出不同数字。它未必改变主要趋势,但会影响严格复现,也说明公开代码与更完整实验配置仍然重要。
二十一、我的理解和启发
1. CFGM 的本质是 Memory ETL
如果用数据工程语言理解,CFGM 很像一条 Memory ETL 管道:
Focus-guided Exploration
⏟
E
x
t
r
a
c
t
→
Trajectory-to-Tips
⏟
T
r
a
n
s
f
o
r
m
→
Retrieved Context + KIR
⏟
L
o
a
d
a
n
d
U
s
e
.
\\underbrace{\\text{Focus-guided Exploration}}_{Extract} \\rightarrow \\underbrace{\\text{Trajectory-to-Tips}}_{Transform} \\rightarrow \\underbrace{\\text{Retrieved Context + KIR}}_{Load\\ and\\ Use}.
Extract
Focus-guided Exploration→Transform
Trajectory-to-Tips→Load and Use
Retrieved Context + KIR.
它的贡献不是提出新的存储介质,而是明确:原始轨迹必须经过质量控制和粒度变换,才能成为对规划真正有用的记忆。
2. “粗到细”不是内容越来越短,而是条件越来越具体
粗粒度 Focus Points 面向整个环境;混合粒度 Tips 面向一类相似任务;细粒度 KI 面向当前轨迹的某次异常。粒度变化的本质是适用范围逐渐收缩:
Environment
⊃
Task Family
⊃
Current State
.
\\text{Environment} \\supset \\text{Task Family} \\supset \\text{Current State}.
Environment⊃Task Family⊃Current State.
因此,好的 Agent Memory 不应该只有统一的 chunk 大小或统一摘要模板,而应让记忆粒度与决策范围匹配。
3. 最关键的设计是“双表示”
CFGM 在线同时使用成功轨迹
S
T
ST
ST 与 Tips
E
T
ET
ET。前者可验证、可模仿,但冗长;后者紧凑、可迁移,但可能过度概括。两者并存能减少只看抽象规则或只看原始案例的单侧风险。
未来更好的设计不是简单保留两份内容,而是建立可追溯关系:每条 Tip 都链接到支持它的成功/失败片段,并带上适用任务、反例和置信度。这样,当 Tip 与当前状态冲突时,Agent 可以回看证据,而不是盲目遵循。
4. KIR 应进一步走向“可验证反思”
论文中的 Self-QA 仍然是自由文本推理。工程上可以把它改成结构化对象:
K
I
=
{
g
o
a
l
,
p
r
o
g
r
e
s
s
,
a
t
t
e
m
p
t
e
d
,
e
r
r
o
r
,
c
o
n
s
t
r
a
i
n
t
s
,
c
a
n
d
i
d
a
t
e
s
}
,
KI= \\{goal,progress,attempted,error,constraints,candidates\\},
KI={goal,progress,attempted,error,constraints,candidates},
r
e
f
=
{
h
y
p
o
t
h
e
s
i
s
,
n
e
x
t
_
a
c
t
i
o
n
,
e
x
p
e
c
t
e
d
_
o
b
s
e
r
v
a
t
i
o
n
,
a
b
o
r
t
_
c
o
n
d
i
t
i
o
n
}
.
ref= \\{hypothesis,next\\_action,expected\\_observation,abort\\_condition\\}.
ref={hypothesis,next_action,expected_observation,abort_condition}.
下一步执行后,再检查 expected observation 是否出现。这样,反思就从一段听起来合理的话,变成可被环境证伪的计划假设。
5. CFGM 还缺最后一个“回流箭头”
当前框架是:离线采集 → 离线蒸馏 → 在线使用。如果将成功的 KIR 修正和新失败案例重新写回经验池,定期重算 Tips,并淘汰被反例否定的规则,就能得到真正持续演化的闭环:
Collect
→
Distill
→
Retrieve
→
Correct
→
Validate
→
Update Memory
.
\\text{Collect} \\rightarrow \\text{Distill} \\rightarrow \\text{Retrieve} \\rightarrow \\text{Correct} \\rightarrow \\text{Validate} \\rightarrow \\text{Update Memory}.
Collect→Distill→Retrieve→Correct→Validate→Update Memory.
这可能是 CFGM 与 Mem²Evolve、ReMemR1 等演化/回看机制最自然的结合点。
二十二、总结
CFGM 讨论的并不是“要不要给 Agent 加 Memory”,而是一个更基础的问题:什么样的交互才配成为记忆,轨迹怎样变成知识,知识又怎样在异常时转化为下一步动作。
它通过三个阶段回答这个问题:
- 粗粒度 Focus Points 改善经验采集质量;
- 混合粒度 Tips 同时保存可迁移原则和具体技巧;
- 细粒度 KIE/KIR 根据当前异常动态反思并纠正计划。
实验上,CFGM 在 ALFWorld、WebShop 和 ScienceWorld 分别达到 91%、57% 和 74% SR;完整三模块优于单模块,Top-2/3 检索优于 Top-5,Tips 经对齐后可迁移到 WebArena-Shopping,并在记忆增强基线中用更少的在线 token/步和交互轮数完成任务。
它的局限同样清晰:依赖强 LLM 提取知识,长轨迹和过多经验会干扰规划,在线纠错尚未回流为持续演化记忆,实验配置也存在任务数描述不一致。
最后用一句话概括:
CFGM 的核心贡献,是把 Agent Memory 从“存储并检索过去”推进为一条粗到细的知识落地链路:先用环境先验采好经验,再把经验蒸馏成可迁移 Tips,最后围绕当前异常生成可执行的纠错记忆。
网硕互联帮助中心




评论前必须登录!
注册