当前位置: 首页 > news >正文

Agent上下文压缩之战!阿里AgentFold v.s.字节FoldAgent

目录

  • 引言
  • 相同点
  • 不同点
  • 哪个方案更简洁?
  • 训练样本详情
    • AgentFold 的训练样本
    • FoldAgent 的训练样本
  • 从训练集构建角度

0. 引言

最近阿里跟字节出了2篇在名字上很相似的论文:AgentFold 和 FoldAgent。这两者都提出了创新的方法来解决大型语言模型(LLM)Agent在处理长时序任务时面临的上下文长度限制上下文饱和问题。

它们的核心目标、设计理念和实现机制存在显著的相同点和不同点。以下将进一步对比说明。

阿里的AgentFold(未开源):

论文地址:
https://arxiv.org/pdf/2510.24699
GitHub地址:无

字节的FoldAgent(开源):

论文地址:
https://arxiv.org/abs/2510.11967

GitHub地址:
https://github.com/sunnweiwei/FoldAgent

更多AI相关欢迎关注微信公众号"小窗幽记机器学习"。

1. 相同点

  1. 核心目标:解决上下文管理挑战
    两项工作都旨在克服传统基于 ReAct 的Agent所面临的上下文饱和问题,即原始历史信息积累过多,导致性能下降和效率低下。它们共同认为,理想的Agent应该将其上下文视为一个需要主动管理的动态认知工作空间,而不是一个被动填满的日志。

  2. 核心机制:上下文折叠/整合
    AgentFold 和 FoldAgent 都引入了一种“折叠”(folding)或“整合”(consolidation)机制,用于将交互轨迹中的中间步骤压缩,只保留关键发现和洞察,从而保持上下文的简洁和专注。这使得Agent能够处理更长的交互历史,提升了处理复杂长时序任务的能力。

  3. 目标任务:长时序复杂任务
    两者都针对需要广泛探索和多步骤操作的复杂长时序任务进行评估,例如深度研究(Deep Research)和信息搜索任务(BrowseComp/BrowseComp-Plus)。

  4. 性能优势:超越基线模型
    两者都通过其上下文管理范例实现了卓越的性能,超越了模型规模大得多的开源基线模型,并与领先的专有Agent(如 OpenAI 的 o4-mini)具有竞争力。FoldAgent 强调其Agent在使用 10 倍小的活动上下文时,仍能匹敌或超越 ReAct 基线。

2. 不同点

2.1 机制的设计与操作

特征AgentFoldFoldAgent
折叠触发时机每个中间步骤,作为推理过程的固有部分,与工具调用同时进行。通过显式的工具调用 (branchreturn) 来触发。折叠发生在子任务完成并调用 return 时。
折叠粒度/模式双尺度操作:包括粒度浓缩(Granular Condensation,压缩单个最新交互)和深度整合(Deep Consolidation,融合多个先前的总结和最新交互,抽象掉整个子任务)。基于子轨迹的折叠:通过 branch 创建临时子轨迹来处理局部子任务,并在 return 时将该子轨迹的中间步骤移除(折叠)。
上下文结构动态认知工作空间,分为多尺度状态总结(Multi-Scale State Summaries,长期记忆)和最新交互(Latest Interaction,工作记忆)。采用计划-执行(plan–execution)框架,在主线程(Planning State)和分支(Execution State)之间交替,管理活动的 KV-cache。

2.2 训练范式

特征AgentFoldFoldAgent
主要方法监督微调 (SFT)端到端强化学习 (RL),特别是 FoldGRPO 框架。
数据收集开发了 Fold-Generator 流程,利用 LLM 和拒绝采样机制自动生成展示情境行动和战略上下文整理的轨迹数据。使用 RLVR(来自可验证奖励的 RL)的方法,并结合了稠密的、token级别的过程奖励来引导折叠行为。
特有奖励/惩罚无(基于 SFT)。引入了未折叠token惩罚(Unfolded Token Penalty)、超出范围惩罚(Out-scope Penalty)和失败惩罚(Failure Penalty)来优化Agent的分支和返回策略。

2.3 强调的效率和缩放特性

  • AgentFold 强调其机制能够将 100 轮交互后的上下文长度保持在约 7k tokens,增长率呈显著的亚线性。它还展示了其能力可以扩展到 256 甚至 500 轮交互。
  • FoldAgent 强调 FoldGRPO 鼓励了聚焦的分支,实现了超过 90% 的上下文压缩,并将主轨迹长度大幅削减(例如,从约 47k tokens 削减到约 8k tokens)。FoldAgent 还在 SWE-Bench 这一长时序编程任务上进行了评估,展示了其在Agent软件工程任务上的有效性。

2.4 总结:

AgentFold 侧重于通过类人类的认知整合(回溯性整合) 来设计一个在每个步骤进行上下文策展的 LLM Agent,并主要依赖 SFT 来学习这种双尺度折叠策略。

FoldAgent 则侧重于通过程序化的分支和返回工具来构建一个上下文折叠框架,并利用强大的强化学习方法(FoldGRPO)和精细的过程奖励来训练Agent有效地执行任务分解和上下文管理。

AgentFold 就像是一位时刻反思的日记作者,在写下最新条目后,决定是细致总结上一条,还是将前几页内容抽象成一个章节标题;而 FoldAgent 更像是一位项目经理,他可以随时创建临时项目(分支),将冗长的工作细节放在子项目报告中,然后返回主项目时只留下一个简洁的最终结论。

这是一个关于两种先进的长时序(long-horizon)Agent架构简洁性的比较,需要从模型方案设计和训练样本定义这两个维度进行分析。

根据来源中的信息,AgentFoldFoldAgent在模型设计和训练方法上采用了截然不同的策略,这直接影响了它们的“简洁性”:

3. 哪个方案更简洁?

3.1 模型方案设计

在模型方案的设计上,FoldAgent的机制流程可能更具程序性,从而在架构设计上显得更简洁,而AgentFold则依赖于更复杂的学习式多尺度结构

特征AgentFoldFoldAgent简洁性比较
核心机制围绕“折叠(folding)”操作的主动上下文管理新范式。围绕“分支(branching)”和“返回(return)”两个特殊工具的主动上下文管理框架。FoldAgent的机制更简洁,因为它将复杂的上下文管理行为封装成了两个明确的工具调用,界限清晰。
上下文结构上下文被明确划分为四个部分:不变的用户问题、可用工具、多尺度状态摘要(长期记忆)和最新交互(即时工作记忆)。采用规划-执行框架,在主线程(规划状态)和活动分支(执行状态)之间切换上下文。在返回时,上下文的KV-Cache会回滚到分支点,并附上分支结果。FoldAgent的上下文管理基于分支和回滚的流程,其动态结构相比AgentFold需要维护的多尺度摘要序列 概念上更接近于程序堆栈管理,可能更直接和简洁。
折叠操作Agent在每一步会生成一个折叠指令。该指令具有双尺度特性:可以是粒度凝聚(将最近的交互压缩成一个摘要,保留精细细节)或深度整合(将一系列过去的摘要和最近交互融合成一个抽象的摘要,用于抽象子任务)。仅在调用 return(message) 工具时发生折叠。它将该分支内所有中间步骤从上下文中移除(折叠),只保留返回的消息(简洁摘要)。FoldAgent的折叠机制更简洁,因为它仅在子任务完成的边界触发,且只有一种折叠类型(移除中间步骤,保留摘要)。AgentFold的折叠是每一步都必须考虑的核心学习步骤,并包含两种模式(单步/多步),设计更为复杂。

结论: 从模型方案的设计和机制的复杂性来看,FoldAgent(基于清晰的branch/return 工具和规划-执行框架)在概念上看起来更简洁,因为它将上下文的折叠行为绑定到了明确的子任务边界上,而AgentFold则要求模型在每一步都输出一个结构化的、包含多尺度决策的折叠指令。

3.2 训练样本的定义

在训练样本的定义上,AgentFold采用了传统的监督微调(SFT)范式,这使其训练数据的定义方式更为直接简洁。而FoldAgent采用了**强化学习(RL)**范式,其“样本”定义必须包含复杂的奖励信号。

特征AgentFoldFoldAgent(Context-Folding)简洁性比较
训练范式监督微调(SFT)**端到端强化学习(RL)**框架:FoldGRPO。AgentFold的SFT范式在样本定义上更简洁。
样本组成训练数据是高质量的交互对 {(Ct,Rt∗)}N\{(C_t, R^*_t)\}^N{(Ct,Rt)}N,其中 CtC_tCt 是结构化上下文,而 Rt∗R^*_tRt经过验证的黄金标准(gold-standard)响应。这个响应 Rt∗R^*_tRt 是一个明确的四元组(思考、折叠指令、解释、动作)。训练数据是包含主线程和所有分支的完整轨迹 τi\tau_iτi,优化目标依赖于奖励信号AgentFold的训练样本定义非常明确:输入是上下文,输出是结构化的目标文本,模型通过学习模仿这个文本输出来实现折叠行为。
学习信号依赖于明确的、专家标注的结构化输出 Rt∗R^*_tRt依赖于复杂的密集、标记级别的过程奖励 Qi,tQ_{i,t}Qi,t,以及最终的任务成功/失败的二元结果奖励 RiR_iRi。过程奖励包括“未折叠标记惩罚”(鼓励在分支内执行繁重操作)和“越界惩罚”(确保分支专注于子任务)。AgentFold的样本定义更简洁,因为它只需要定义一个正确的、结构化的目标输出FoldAgent的“样本”学习信号定义更复杂,需要设计精细的奖励函数来引导(或惩罚)Agent的分支和折叠行为

结论: 从训练样本(或学习信号)的定义来看,AgentFold(使用 SFT,依赖明确的黄金标准结构化响应)更简洁FoldAgent(使用 RL,依赖复杂的 FoldGRPO 算法和设计精细的过程奖励)则复杂得多。

3.3 总结

  • 模型方案的设计简洁性: FoldAgent 可能更简洁。它将上下文管理行为流程化为两个特殊的工具(branchreturn)来定义 folding 的边界,避免了 AgentFold 在每一步都需要生成多尺度折叠指令的复杂性。
  • 训练样本的定义简洁性: AgentFold 显然更简洁。它采用标准的监督微调(SFT)方法,依赖于预先生成的、结构化的、黄金标准的响应作为训练目标。相比之下,FoldAgent 采用 RL 方法,需要定义和优化复杂的、标记级别的过程奖励信号。

如果将简洁性定义为“避免了复杂且灵活的内部决策机制”(即设计方案),则 FoldAgent 可能更胜一筹。如果定义为“训练所需的数据形式和学习目标最直接”(即训练样本定义),则 AgentFold 更简洁。

4. 训练样本详情

以下分别解释 AgentFold 和 FoldAgent 的训练样本结构、所需输入和输出,并比较它们的复杂性。

4.1 AgentFold 的训练样本

AgentFold 的训练样本是高质量的交互对 (Ct,Rt∗)\text{(C}_t, \text{R}^*_t)(Ct,Rt) 的集合,用于进行监督微调 (SFT)

训练样本结构示例(以第 ttt 步为例):

AgentFold 的训练样本是一个结构化的“上下文-响应”对,其中上下文 (Ct\text{C}_tCt) 是Agent的动态认知工作空间,而响应 (Rt∗\text{R}^*_tRt) 是指导其记忆管理和下一步行动的黄金标准输出。

例如,在案例研究 1 的第 17 步中,AgentFold 在发现之前的 11 个步骤(步骤 6 至 16)是死胡同后,决定进行深度整合 (Deep Consolidation)

组成部分示例内容
输入:上下文 (C17\text{C}_{17}C17)
用户问题 (Q\text{Q}Q)寻找在墨西哥和加利福尼亚州均设有分店的特色食品店,并提供墨西哥分店的位置约束和加州分店的活动约束。
可用工具 (T\text{T}T)搜索 (search)、打开页面 (open_page) 等工具的详细架构。
多尺度状态摘要 (S15\text{S}_{15}S15)Agent的长期记忆,由先前压缩的块组成,例如:[Compressed Step 0][Compressed Step 1 to 2][Compressed Step 6 to 8]
最新交互 (I16\text{I}_{16}I16)上一步(第 16 步)的完整记录,包括解释、执行的工具调用和结果观察(例如,[Step 16] <lengthy web page content omitted for visualization>)。
输出:黄金标准响应 (R17∗\text{R}^*_{17}R17)
思维过程 (th17\text{th}_{17}th17)详细的思维链独白,分析上下文并权衡上下文折叠和后续行动的选项。
折叠指令 (f17\text{f}_{17}f17)明确的 JSON 命令,用于塑形长期记忆:{"range":, ”summary": "Multiple attempts (Steps 6-16) to obtain GPS coordinates... were unsuccessful. No coordinates were found, hindering identification of the 7.8 km radius around the McDonald's."}
解释/动机 (e17\text{e}_{17}e17)简洁总结关键见解,阐明选择下一步行动的动机,例如:描述因 GPS 坐标获取失败而转向搜索跨界商店候选者的计划。
动作 (a17\text{a}_{17}a17)选定的外部动作(工具调用或最终答案),例如:搜索不同查询的工具调用。

总结 AgentFold 的输入和输出:

  • 所需输入: 包含四个明确划分组件的结构化上下文 Ct\text{C}_tCt:用户问题 (Q\text{Q}Q)、可用工具 (T\text{T}T)、多尺度状态摘要 (St−2\text{S}_{t-2}St2) 和最新交互 (It−1\text{I}_{t-1}It1)。
  • 所需输出: 一个多部分、结构化的文本块 Rt∗\text{R}^*_tRt,可被解析为四元组:思维过程 (tht\text{th}_ttht)、折叠指令 (ft\text{f}_tft)、解释 (et\text{e}_tet) 和动作 (at\text{a}_tat)。

4.2 FoldAgent 的训练样本

FoldAgent 的训练基于 Context-Folding 框架,它通过强化学习 (RL) 算法 FoldGRPO 进行优化。

训练样本结构示例(以分支和返回动作为例):

FoldAgent 的核心机制是允许Agent使用特殊的工具调用来实现上下文管理:branch(分支)和 return(返回)。训练样本(轨迹)是行动 (ai\text{a}_iai) 和观察 (oi\text{o}_ioi) 的序列,并根据这些工具调用进行折叠。

组成部分示例内容
输入:上下文 (F(τ<i)\text{F}(\tau_{<i})F(τ<i))
主线程上下文经过折叠(即,分支-返回之间的步骤被移除,只保留摘要)的历史记录,加上用户问题和可用工具。
输出:行动 (ai\text{a}_iai)
分支动作当Agent决定进入子任务时:branch: Find publication with specific authors and topics
子任务中的标准动作在分支内执行工具调用:search: cultural traditions scientific processes culinary innovations[...]
返回动作子任务完成或无法继续时,折叠该分支上下文并返回主线程:return: Identified a publication meeting all criteria with definitive verification [...]

总结 FoldAgent 的输入和输出:

  • 所需输入: 问题 (qqq) 和由上下文管理器 (F\text{F}F) 折叠的完整历史记录 (τ<i\tau_{<i}τ<i)。
  • 所需输出: Agent在每一步生成的输出 (ai\text{a}_iai),包括推理和工具调用。上下文管理是通过调用特殊工具 (branchreturn) 来实现的,这些工具被视为标准动作空间的一部分。

4.3 哪个训练样本的组成更加简单?

FoldAgent 的训练样本组成更加简单。

主要原因是:

  1. 输出结构上的差异:

    • AgentFold 的响应 (Rt∗\text{R}^*_tRt) 是一个必须包含显式、结构化的折叠指令 (ft\text{f}_tft) 的多部分输出 (思维过程、折叠、解释、动作)。这种复杂的多方面输出设计,甚至需要专门的数据收集管线(Fold-Generator)来生成,因为仅靠提示工程难以可靠地产生这种结构。
    • FoldAgent 将上下文管理机制整合为两个特殊工具 (branchreturn)。因此,AgentFold 的复杂上下文管理行为被简化为 LLM 的标准输出格式——工具调用 (Tool Call)——这是 LLM Agent框架中常见的动作类型。
  2. 折叠触发机制的差异:

    • AgentFold 要求Agent在每个中间步骤都做出折叠决策
    • FoldAgent 的折叠行为只在调用 return 工具时发生,这与子任务的完成或中止边界对齐

简而言之,AgentFold 需要Agent在每一步都输出一个复杂的结构化对象来显式地“策划”其记忆,而 FoldAgent 则通过调用两种特殊的动作来间接地“分支”和“折叠”上下文。

可以将 AgentFold 视为一位同时担任厨师和记账员的人:每完成一个动作(烹饪),他都必须停下来,写一份详细的备忘录,并决定如何压缩或整合先前的记录(折叠指令),然后才能进行下一步操作。而 FoldAgent 则像一个模块化承包商:他将子任务打包(分支),交给一个独立的团队完成,团队完成后只交回一个总结报告(返回消息),然后主线程继续工作,大大简化了主流程中的负担。

5. 从训练集构建角度

训练数据集构建的难度来看,AgentFold 的数据构建过程可能更加复杂和精细,因为它需要生成精确且结构化的“黄金标准”折叠指令

以下是两种方案在数据集构建上的具体对比:

5.1 AgentFold:基于监督微调(SFT)的“生成-过滤”模式

AgentFold 的训练基于监督微调(SFT),这意味着它需要一套高质量的、包含**每一步正确“折叠决策”**的轨迹数据。

  1. 数据需求的高门槛: 训练 AgentFold 需要一种目前尚不存在的数据集:即能够展示情境行动和战略性上下文整理之间复杂相互作用的轨迹。
  2. Fold-Generator 流程的复杂性: 为了解决这一问题,研究人员开发了 Fold-Generator。这是一个专门面向 LLM 的数据收集管道,用于自动生成所需的轨迹训练数据。
  3. 结构化输出的生成挑战: AgentFold 的核心是其在每一步推理中必须生成一个多部分、结构化的响应,其中包括详细的思考过程、行动以及显式的折叠指令folding directive)。这个折叠指令必须准确地指定要执行的操作:是粒度浓缩(Granular Condensation,折叠单个最新交互)还是深度整合(Deep Consolidation,融合多个先前的总结和最新交互)。
  4. 严格的质量控制: 论文指出,即使是最先进的 LLM,也无法仅仅通过提示工程可靠地生成 AgentFold 所需的准确、结构化、多部分的响应。因此,该流程必须依赖一系列拒绝采样机制(rejection sampling mechanism),丢弃任何未能严格遵守所需格式或包含过多环境错误的步骤。

结论: AgentFold 在构建训练数据集上需要一个复杂的合成和过滤Pipeline(Fold-Generator),目的是为了创建包含明确、黄金标准的“认知策展”行为(即何时、如何折叠)的轨迹,这在构建难度上是相当高的。阿里官方又没有这方面开源的打算,所以,AgentFold这个工作,大家看看就好了,建议不要往心里去。

5.2 FoldAgent:基于强化学习(RL)的“采样-奖励”模式

FoldAgent 的训练基于端到端强化学习(RL),特别是 FoldGRPO 框架。其数据构建主要集中在生成轨迹样本和设计奖励信号。

  1. 数据收集方式: FoldAgent 的训练数据通过**运行基线Agent(baseline agent)进行轨迹回放(rollout)**来收集。例如,在 SWE-Bench 任务上,他们对基线Agent进行了八次回放,并保留了成功率在特定范围内的实例。
  2. 奖励信号替代人工标注: FoldAgent 不需要在训练数据中预先标记每一步的“最佳折叠指令”。相反,折叠和分支行为是通过**稠密的、token级别的过程奖励(dense, token-level process rewards)**来学习和优化的。这些奖励包括:
    • 未折叠token惩罚(Unfolded Token Penalty),鼓励在分支中执行繁重的操作。
    • 超出范围惩罚(Out-scope Penalty),确保分支专注于子任务。
    • 失败惩罚(Failure Penalty)。
  3. 依赖任务结果: 最终的折叠策略是通过最大化稀疏的最终任务结果奖励(final reward)(基于任务成功或失败的二元奖励)以及这些过程奖励来学习的。

结论: FoldAgent 在构建训练数据集上更依赖于现有的基线模型、环境交互采样复杂的奖励机制设计。虽然其 FoldGRPO 训练框架本身非常复杂,但从原始数据轨迹构建的角度来看,它避免了 AgentFold 所需的人工合成和验证每一步的结构化折叠决策的巨大开销。

5.3 哪个在构建训练数据集上更加简单?

生成包含“黄金标准”折叠指令的训练样本的角度来看,FoldAgent 更简单,因为它避免了以下复杂性:

方案数据构建的复杂点优势(更简单之处)
AgentFold必须在每一步通过 Fold-Generator拒绝采样合成验证多尺度的黄金标准折叠指令。它只需要一次性运行 SFT 即可训练出最终模型。
FoldAgent必须设计和实施复杂的 FoldGRPO 强化学习框架和精细的过程奖励不需要人工或 LLM 驱动的流程来为每一步轨迹生成精确的结构化折叠标签,而是通过在环境中采样和接收奖励信号来学习折叠策略。

因此,如果我们将数据集构建定义为创建和标注单个训练样本的过程,那么 FoldAgent 更简单,因为它利用了 RL 的优势,让模型在训练过程中通过奖励信号自主学习何时以及如何折叠(即学习分支和返回工具的调用),而不是依赖于预先标注好的复杂 SFT 标签。

简洁性总结: AgentFold 必须雇佣一位高级编辑(Fold-Generator)来为每一页(每一步)写下完美的摘要;而 FoldAgent 只需要一位导师(FoldGRPO 的奖励机制),告诉它在什么时候(分支/返回)总结工作能够获得最终成功,无需预先提供完美的总结范本。

http://www.dtcms.com/a/562022.html

相关文章:

  • DCRNN代码解析
  • 国内特效比漂亮的网站网站备案收费
  • 做爰试看的网站做网站的素材都在哪里下载
  • 英伟达开源了其 Aerial 软件,以加速 AI 原生 6G 的发展。
  • 网站后台慢厚街网站建设多少钱
  • 【Android】消息机制
  • 资料分析-平均数(和比重很像,可以对比学习)
  • 注解(内置注解、元注解、自定义注解)
  • nginx安装与升级
  • 开网站卖茶要怎么做设计很好的视觉很棒的网站
  • Day02计算机网络网络层学习总结:从协议到路由全解析
  • 网站建设公司 预算培训机构前端开发
  • 文献管理 Mendeley合并两个论文数据库
  • 泰兴网站推广东阳厂家高端网站设计
  • 如何利用 DeepSeek 提升工作效率-test
  • 青岛开发区做网站设计的wordpress猜你喜欢插件
  • Windows 10安装Linux虚拟机完整指南:三种方法详解
  • mysql数据库的sql优化以及explain周期字段详解案例【爽文】
  • wordpress 站点语言优秀网站h5案例分享
  • 建网站要多长时间功能最多的wordpress主题
  • 计算机图形学·5 OpenGL编程2 完整程序
  • 透明化战场:俄罗斯如何适应数字战争时代
  • 网站程序语言那个好网站建设合同封面
  • a站是指哪个网站深圳网站建设公司推荐乐云seo
  • C语言内功强化之const修饰指针
  • spiderdemo第八题
  • 青州网站搭建重庆安全建设工程信息网
  • 会议网站建设方案模板布吉网站的建设
  • MIT-大整数相乘和大矩阵相乘
  • 网站建设分析书引言恩施哪里有做网站的