← 返回 2026-05-15

PREPING:无需任务即可构建 Agent 记忆 PREPING: Building Agent Memory without Tasks

Yumin Choi, Sangwoo Park, Minki Kang, Jinheon Baek, Sung Ju Hwang 📅 2026-05-11 👍 28 2026-07-13 08:36
Agent Memory Cold Start LLM Agent Self-Play Synthetic Practice Tool Use

在零目标任务经验下,通过提议者引导的合成练习与验证门控的记忆准入,构建部署前的程序性记忆。

前置知识

LLM Agent 与程序性记忆

LLM Agent 是在可执行环境(API、MCP 服务器、CLI)中调用工具完成任务的系统,以 LLM 为决策核心。程序性记忆(procedural memory)存储「如何完成任务」的知识,如工具组合、前置条件、失败恢复策略,常见形式是 playbook 与 workflow rules。

本文核心是「无人类任务经验时如何积累程序性记忆」,记忆存储形式是看懂 PREPING 设计的基础。

工具调用与环境反馈循环

工具调用是 agent 调用外部 API 并获取返回值的过程。环境反馈循环指 agent 写调用→环境执行返回→agent 决定下一步的迭代。BFCL 单步结构化、AppWorld 多步状态变更、MCP-Universe 真实服务器调用,循环深度差异很大。

Validator 必须基于环境反馈判断轨迹中工具调用的可行性,理解反馈循环是评估合成任务可执行性的前提。

冷启动问题(Cold-Start)

冷启动原指推荐系统在用户无历史数据时难个性化;在 agent memory 语境下指新部署 agent 缺乏目标环境经验,早期表现差、记忆更新延迟、部署成本高。ACE-Online 等在线方法从空记忆启动,需累积用户任务才形成有效 memory。

PREPING 直接针对冷启动期,主张在用户任务到达前就通过合成练习填充 memory,是全文核心问题驱动。

Self-Play 与合成任务生成

Self-play 让系统内不同角色(挑战者 vs 执行者)互相对抗学习,无需人工标注。合成任务生成进一步要求 LLM 生成带约束的任务描述。ACE、Zhou et al.、Huang et al. 等都采用「Challenger + Executor」协同进化模式。

PREPING 继承该范式但做了关键改造:不优化「任务难度」,而是优化「任务对记忆构建的有用性」(可行性、非冗余、覆盖度)。

Playbook 风格的记忆归纳

Playbook 是 ACE [33] 提出的结构化长期记忆形式,将经验归纳为「Strategies」「Pitfalls」「Code Snippets」等策略条目。Reflector-Curator 是归纳核心:Reflector 分析轨迹标错,Curator 据此增删 playbook 条目。

PREPING 的 Solver Memory 用 playbook 存储,并复用 ACE 的 reflector-curator 流水线做记忆归纳;理解 playbook 是看懂 Msol 更新的前提。

研究动机

现有 agent memory 构建方法高度依赖目标任务经验,存在显著的「冷启动缺口」。具体来说,离线方法(如 ACE-Offline)需要为每个新环境预先收集或人工设计任务集——例如在 AppWorld 中需要 90 个训练环境任务的轨迹,这种人工成本在 MCP 服务器、tool API 等新连接环境中几乎不可承受。在线方法(如 ACE-Online)虽然免去了预先标注,但代价是从空记忆启动:agent 在部署初期无法提供有效 playbook,暴露早期失败给用户,并产生额外的部署期 memory 更新成本(论文测得 AppWorld 上每任务增加 2.99× 成本)。两个方法在「新连接环境首次部署」场景下都失效——memory 最被需要的时刻恰恰是经验尚未积累的时刻。更糟糕的是,仅靠环境访问也不解决问题:工具文档只描述了可调用接口,但隐藏了环境特定的前置条件、状态依赖的约束和失败恢复策略;自由探索能发现孤立的工具例子,但无法可靠产出可复用的任务级程序。

本文的目标是本文目标是在「零目标任务经验」约束下构建可复用的程序性记忆。具体可量化目标包括:(1)在 AppWorld Test-Normal 上让无记忆 Base(53.1 平均分)显著提升至 70.2 以上,超越 ACE-Offline(67.8);(2)在 BFCL v3 上让 Base(33.8)提升至 53.1 以上,超越 ACE-Online(51.6);(3)将部署期每任务成本相比 ACE-Online 在 AppWorld 和 BFCL v3 上分别降低 2.99× 和 2.23×。同时,作者希望证明合成任务量本身不是关键——控制「该练什么」和「该存什么」才是记忆质量的决定因素。

与已有工作不同的是,已有 self-play 类工作(Zhou et al. 2024、Huang et al. 等)把合成任务生成用作「策略更新的训练信号」,优化目标是任务难度、可解性、可执行验证、奖励质量。本文作者指出这些工作在 agent memory 语境下存在两个被忽视的耦合控制问题:第一,合成任务可能冗余、不可行或与下游工作流弱相关;第二,盲目把所有合成轨迹塞进 memory 会污染出错误的程序性指引(如把 agent「重命名过期银行卡」这种 workaround 当成可复用规则)。PREPING 的独特切入是把 memory 构建视为「联合控制 what to practice 和 what to store」的控制问题,引入 proposer memory 作为构造期控制状态、validator 作为存储质量门控,这是已有 self-play 框架没有显式处理的双层控制维度。

核心方法

PREPING 的核心直觉是:与其被动等待用户任务累积记忆,不如主动让 agent 在部署前「彩排」——用合成任务练习环境操作,并严格筛选练习结果进入记忆。技术路线是把记忆构建拆成两条独立的状态流:Mprop(proposer memory,构造期控制状态)记录「练过什么、哪些工具有效、哪些任务因不可行被拒」以引导下一步练习方向;Msol(solver memory,部署期程序性记忆)只接受经过可行性校验的轨迹,最终蒸馏成 playbook 条目。两类状态的不对称更新是核心机制:所有经验(包括被拒任务)都更新 Mprop 以塑造未来练习分布,但只有 Feasible 评分=5 的轨迹才被允许进入 Msol。整体框架是 Proposer → Solver → Validator → Memory Update 的迭代循环,每轮同时提出 N 个任务并行执行,单次构造用 10 轮×10 任务=100 个合成任务。

PREPING 与已有 self-play/在线记忆方法最本质的区别在于它把「什么该练、什么该存」作为显式的双层控制问题来解,而非把记忆构建视为「产生更多轨迹→全部入库」的被动累积。具体来说,已有方法(如 ACE-Online、Zhou et al. 的 Challenger-Executor)都假设「更多合成数据 = 更好记忆」,但本文通过 ablation 证明:仅生成任务(关闭 validator)反而让 AppWorld TGC 从 83.7 暴跌到 47.8,因为不筛选的轨迹会把 agent 的「创造性 workaround」(如把 MasterCard 重命名冒充 Wells Fargo)蒸馏为可复用规则。PREPING 用 Validator 的可行性评分(1-5 Likert)做硬门控,用 proposer memory 的「实践历史视图 + 落地环境视图」做软引导——前者防止记忆污染,后者防止过度优化到不可行区域。理论上,这是把 memory 构建从「数据驱动被动累积」升级为「带验证与控制信号的主动合成」。

方法步骤详情

PREPING 算法(Algorithm 1)按以下步骤执行:第 1 步,初始化 Mprop=∅、Msol=∅。第 2-12 步,对 t=1..T(本实验 T=10)轮迭代。第 3 步:Proposer Aprop 基于当前 proposer memory Mprop(t) 和文档 D 采样 N=10 个合成任务 Xt={x1..x10}。第 5 步:对每个 xit,调用 Solver Asol 在环境 E 中执行得到轨迹 τit,Solver 执行时已可访问 Msol(t)。第 6 步:Validator Aval 对 (xit, τit) 评估,得到可行性评分(feasibility 1-5)和任务完成评分(completion 1-5)及理由。第 7 步:无论可行性如何,proposer memory 更新 Mprop ← Uprop(Mprop, xit, τit, vit);Uprop 用规则解析器抽取轨迹中调用的工具/API,结合 validator 反馈更新「实践历史视图」(含 aggregate usage summary 识别 over-practiced / under-practiced 工具)和「落地环境视图」(用 LLM 把当前轨迹观察到的实体、状态、前置条件总结为 2-5 条 bullet,供未来提案参考)。第 8-10 步:仅当 feasibility=5 时执行 Msol ← Usol(Msol, xit, τit, vit);Usol 复用 ACE 的 reflector-curator 流水线,把任务-轨迹-validator 反馈蒸馏为 playbook 形式(strategies / code_snippets / pitfalls 三类条目),不是简单追加原始日志。validator 输出信号有两层用途:feasibility 是硬门控,completion 评分作为 reflector-curator 的「ground_truth_result」字段,让 memory 更新能区分成功/失败/部分完成轨迹。第 13 步:返回最终的 solver memory Msol 供部署期 agent 使用。

技术新颖性

PREPING 的技术新颖性体现在三个层面:第一,双记忆非对称更新机制——Mprop 与 Msol 共享同一观察流但角色不同,前者是构造期控制状态、后者是部署期程序性记忆,所有经验更新前者但仅可行对更新后者,这种设计避免把「被拒任务、重复工具失败」等控制信号混入 playbook;第二,proposer memory 的双视图结构——实践历史视图(聚合工具使用频次、识别过/欠练习区域)解决冗余问题,落地环境视图(从轨迹抽取的具体实体与状态)解决不可行问题,二者结合使提案既广覆盖又可执行;第三,validator 的双重评分(feasibility + completion)让同一信号既能门控 memory 插入,又能引导反射器-策展人流程中的内容选择。实验上,这是首个在零目标任务经验设置下,在 AppWorld、BFCL v3、MCP-Universe 三类异构工具环境上同时验证的程序性记忆构建方法,且 cost 显著低于 ACE-Online。

PREPING 总览:合成练习循环
Figure 2: PREPING 总览:合成练习循环

实验结果

Table 1 主结果显示 PREPING 在所有三个基准上达到最强 pre-task 性能。在 AppWorld 上,PREPING Test-Normal TGC/SGC 达 83.7/70.2,Test-Challenge TGC/SGC 达 72.2/54.7,平均 70.2,相比 Base(69.6/49.4/56.7/36.7/53.1)提升 17.1 分,并超过 ACE-Offline(67.8)但略低于 ACE-Online(71.3)。在 BFCL v3 上,PREPING Base/Ctx/Para/Func 四个类别分别达 65.2/59.3/37.8/50.2,平均 53.1,相对 Base(33.8)提升 19.3 分,反超 ACE-Online 平均(51.6)。在 MCP-Universe 上,PREPING 平均 37.5 相比 Base(32.1)提升 5.4 分,但低于 ACE-Online(41.2);分项看 Financial Analysis 达 70.8(接近 ACE-Online 69.2),3D Designing 36.8 也优于其他 pre-task 方法。Table 2 组件 ablation 揭示了关键洞察:关闭 validator 后 AppWorld TGC 从 83.7 暴跌到 47.8(Naive Task Generation),证明记忆污染是主要风险而非合成数据量不足;启用 validator 但关闭实践历史(仅环境信息)性能达 80.3/64.9,但 unique tools 仅 42.3(覆盖窄);加上实践历史后 unique tools 跃升至 87.0、tool entropy 5.919 bits、weighted recall 0.703,性能达 83.7/70.2。Table 3 显示 PREPING+ACE 把 AppWorld 平均从 71.3 提升到 76.3,Test-Challenge TGC 从 78.3 提升到 80.1,BFCL v3 平均从 58.7 提升到 64.9,证明 PREPING 也是在线学习的优秀初始化。Table 4 跨模型实验显示在 GPT-5.1(57.7 TGC)、GPT-OSS-120B(36.9 TGC)、Qwen3-235B-A22B(67.3 TGC)三个 backbone 上均稳定优于 Base,证明收益不依赖特定模型。Fig. 3 显示在前 10 个任务成功率上,PREPING+ACE 达 82.2%,ACE-Online 仅 74.4%(接近 Base 69.6%),明显缓解冷启动失败。Fig. 4 显示仅用 30 个合成任务就能达到 76.6 TGC,超过 Guided Exploration(55.6),50 个任务达 80.0 接近 ACE-Online(80.6),证明 budget 不需要很大。Fig. 5 显示部署成本 PREPING 比 ACE-Online 在 AppWorld 上便宜 2.99×,BFCL v3 上便宜 2.23×;Table 12 把一次性构造成本纳入后仍然便宜 2.83×/1.97×。

主结果:Pre-Task Methods vs Task-Informed Methods
Table 1: 主结果:Pre-Task Methods vs Task-Informed Methods
组件 ablation:Validator、环境信息、实践历史的影响
Table 2: 组件 ablation:Validator、环境信息、实践历史的影响
PREPING 作为在线记忆构建的 warm-start
Table 3: PREPING 作为在线记忆构建的 warm-start
跨 backbone 模型泛化
Table 4: 跨 backbone 模型泛化
Task-Seeded PREPING:用 10 个 offline 任务作为种子
Table 5: Task-Seeded PREPING:用 10 个 offline 任务作为种子
Validator 信号在两类 memory 更新中的消融
Table 9: Validator 信号在两类 memory 更新中的消融
包含一次性构造成本的完整 cost 对比
Table 12: 包含一次性构造成本的完整 cost 对比
PREPING 缓解在线冷启动
Figure 3: PREPING 缓解在线冷启动
构造 budget 与性能曲线
Figure 4: 构造 budget 与性能曲线
每任务部署成本对比
Figure 5: 每任务部署成本对比
查看结构化数据
任务指标本文基线提升
AppWorld Test-Normal TGC (Task Goal Completion) 83.7 Base 69.6 / ACE-Offline 82.7 / ACE-Online 80.4 +14.1 over Base, +1.0 over ACE-Offline, +3.3 over ACE-Online
AppWorld Test-Normal SGC (Scenario Goal Completion) 70.2 Base 49.4 / ACE-Offline 69.1 / ACE-Online 65.5 +20.8 over Base, +1.1 over ACE-Offline, +4.7 over ACE-Online
AppWorld Test-Challenge TGC 72.2 Base 56.7 / ACE-Offline 69.0 / ACE-Online 78.3 +15.5 over Base, +3.2 over ACE-Offline, -6.1 vs ACE-Online
AppWorld Average (N+C) Avg. TGC+SGC 70.2 Base 53.1 / ACE-Offline 67.8 / ACE-Online 71.3 +17.1 over Base, +2.4 over ACE-Offline, -1.1 vs ACE-Online
BFCL v3 Base Success Rate 65.2 Base 43.7 / ACE-Online 62.3 +21.5 over Base, +2.9 over ACE-Online
BFCL v3 Long Context Success Rate 59.3 Base 40.0 / ACE-Online 55.0 +19.3 over Base, +4.3 over ACE-Online
BFCL v3 Missing Parameter Success Rate 37.8 Base 23.0 / ACE-Online 36.7 +14.8 over Base, +1.1 over ACE-Online
BFCL v3 Missing Function Success Rate 50.2 Base 28.3 / ACE-Online 52.3 +21.9 over Base, -2.1 vs ACE-Online
BFCL v3 Average Avg. Success Rate 53.1 Base 33.8 / ACE-Online 51.6 +19.3 over Base, +1.5 over ACE-Online
MCP-Universe Repository Success Rate 10.1 Base 8.1 / ACE-Online 14.1 +2.0 over Base, -4.0 vs ACE-Online
MCP-Universe Financial Success Rate 70.8 Base 59.2 / ACE-Online 69.2 +11.6 over Base, +1.6 over ACE-Online
MCP-Universe 3D Designing Success Rate 36.8 Base 29.8 / ACE-Online 43.9 +7.0 over Base, -7.1 vs ACE-Online
MCP-Universe Browser Success Rate 32.3 Base 31.3 / ACE-Online 37.5 +1.0 over Base, -5.2 vs ACE-Online
MCP-Universe Average Avg. Success Rate 37.5 Base 32.1 / ACE-Online 41.2 +5.4 over Base, -3.7 vs ACE-Online
PREPING+ACE on AppWorld Avg. TGC+SGC 76.3 ACE-Online 71.3 +5.0 over ACE-Online, also improves cold-start first-10-task success from 74.4% to 82.2%
Deployment cost on AppWorld USD per task $0.017 ACE-Online $0.049 2.99× cheaper
Deployment cost on BFCL v3 USD per task $0.015 ACE-Online $0.034 2.23× cheaper

局限与改进

作者在 Limitations 章节明示的核心假设是「环境必须提供足够详细的 API/工具文档」,因为 proposer 需要依据 D 落地合成任务;在工具语义/前置条件/状态约束文档化不足的环境中(例如某些闭源 CLI 工具),pre-task memory 构建质量会下降。这在实践中对 MCP 类环境(自带结构化 schema)影响较小,但对文档贫乏的旧式系统可能成为瓶颈。此外,PREPING 在 MCP-Universe 上的提升(+5.4)明显小于 AppWorld(+17.1)和 BFCL v3(+19.3),暗示当任务的真实分布极度依赖部署期交互(如 3D Designing 的复杂视觉反馈、Repository 的 Git 状态依赖)时,仅靠事前合成练习难以匹配在线学习的累积优势(MCP-Universe 上 ACE-Online 仍达 41.2 平均分,高于 PREPING 37.5)。我自己的独立观察还有三个局限:第一,validator 自身依赖 LLM 评分,理论上存在评分偏差——feasibility=5 的硬阈值可能过于严格,导致部分可行但有歧义的轨迹被拒;Table 2 显示 full PREPING 仍有 16.0% 不可行任务被 reject,说明验证本身也有失败率。第二,proposer memory 中落地环境信息的「2-5 条 bullet 总结」在长尾工具上可能丢失关键约束(如认证细节、异步行为),且总结本身的 LLM 调用也会带来累积成本。第三,100 个合成任务的构造代价对每个新环境都是一次性投入,论文没有讨论如何把这套 memory 跨环境迁移——playbook 是环境绑定的,这意味着换到新 MCP 服务器时还要重新构造。

独立分析的弱点

独立分析的第一个弱点是 validator 的二元门控过于粗糙。当前只接受 feasibility=5 的轨迹进入 Msol(AppWorld 上仍有 16.0% 被拒),但 partial feasible 的轨迹也可能包含有价值的策略片段(如前半段对、后半段错)。改进方向是引入软门控:按 feasibility 评分加权让 partial feasible 轨迹以低权重进入 playbook,同时在 reflector-curator 中标注不确定性,避免高信心错误。第二个弱点是 proposer memory 的双视图是「对当前环境的局部观察」,缺乏跨环境抽象层——相同失败模式(如「API 返回页数不一致」)在不同 MCP 服务器上会重复学习。改进方向是引入「跨环境抽象 playbook」层作为 Mprop 的元结构,把高频通用策略(如分页循环、过滤优于拉全量)抽离出来作为下一次构造的初始化种子,类似 transfer learning 中的预训练范式。第三个弱点是 100 个合成任务的预算固定,没有依据环境复杂度自适应——AppWorld 有 250+ API,而 BFCL 函数空间小,相同 budget 在小函数空间可能冗余、大空间可能不足。改进方向是依据初次迭代的 unique tool 增长曲线动态判断何时停止构造(entropy 饱和点或 weighted recall 收敛)。第四个弱点是实验仅在 DeepSeek-V3.2、GPT-5.1、GPT-OSS-120B、Qwen3-235B-A22B 四个模型上验证,对开源小模型(如 7B/13B)下 proposer 生成任务的可行性边界没有测试,对实际部署成本敏感的场景参考有限。

未来方向

作者在 Conclusion 中暗示了几个方向:一是把 pre-task memory 推广到文档噪声更大的环境,研究在缺失/不准确 API 描述下 proposer 如何退化;二是把构造期 memory 构建与在线更新更深度融合,让部署期新观察反哺 proposer memory(目前只支持反哺 solver memory)。基于论文成果还可延伸的方向包括:第一,把 PREPING 范式应用到 RL 训练数据合成——把 verifier 信号当作 RL reward,训练一个能针对新环境自动生成高质量练习任务的 proposer 模型;第二,扩展到多 agent 协作环境,让不同 agent 角色(如 challenger、critic、executor)协同构造 practice,每个 agent 的 memory 分别沉淀;第三,研究 memory 可迁移性——把构造的 playbook 蒸馏为环境无关的策略表示(如「永远先验证前置条件」),使其在新环境中作为 warm-start;第四,结合用户任务分布的先验(如用户画像、常见 query 类型)做条件化 pre-task memory,让构造期 proposal 偏向即将到来的真实任务分布。

复现评估

复现评估整体良好但有一定门槛。算法层面:Algorithm 1(Sec. A.1)给出了完整伪代码(13 行),Proposer/Solver/Validator/Reflector/Curator 的所有 meta prompt 都在 Sec. A.2-A.4 中完整公布(Fig. 6-13),包含 BFCL 任务生成 prompt、validator prompt、环境信息总结 prompt、ACE reflector/curator prompt、AppWorld/BFCL/MCP-Universe 任务执行 prompt,prompt 中关键占位符(如 {environment_info_section}、{task_history_section}、{coverage_summary})的语义也在正文明确。数据层面:三个基准(AppWorld、BFCL v3、MCP-Universe)均为开源公开数据集,AppWorld 的训练/测试 split、BFCL 的多类别划分、MCP-Universe 的四个类别都直接可用。模型层面:实验用 DeepSeek-V3.2(非推理模式)、GPT-5.1、GPT-OSS-120B、Qwen3-235B-A22B 四个模型,已在 Table 4 验证可迁移性;成本按 DeepSeek-V3.2 价格(输入 cache hit $0.028/M、cache miss $0.28/M,输出 $0.42/M)公开。算力层面:作者声明「全部使用 API 推理、无本地 GPU 训练」,主要成本是 token;Table 12 给出了精确的 USD 拆分(Gen/Val/Syn solve/Mem update/Eval solve),AppWorld 总构造+评估成本约 $10、BFCL 约 $6.5。复现难度中等偏低:最大障碍是 100 任务×3 轮重复运行的 API 调用成本(约 $30-50/benchmark),以及需要在 DeepSeek-V3.2 上维持非推理模式的稳定行为。代码仓库链接未在正文给出(论文标注「Project page」但未直接附 URL),需要查作者主页(KAIST)获取。整体而言,工程上 1-2 名研究员配 API 预算可在 1-2 周内复现主表,构造 ablation 与 prompt 工程可能再加 1-2 周。