Long-Horizon-Agents 导读

2 阅读13分钟

参考 RUC-NLPIR 的《Towards Long-Horizon Agents: A Survey》及其配套仓库 Awesome-Long-Horizon-Agents。这篇分享是全景式导读,目标是让大家把"长程 Agent 到底在研究什么"这件事的骨架搭起来。

一、为什么要单独把"长时域(Long Horizon)"拎出来讲

先看一个最能说明问题的现象:前沿 Agent 能独立完成的任务时长,正在指数级增长,大约每几个月翻一倍。

这串曲线来自 METR 的测量。它不衡量"模型答得对不对",而是衡量"在固定 50% 成功率下,Agent 能自己干完一个多长的任务"——单位是时间。从几分钟、几小时,到几天,再到开放式、没有明确终点的任务流。这条曲线意味着一件事:Agent 的能力瓶颈,正在从"单轮聪明"转向"长时间坚持把一件事做完"。

这种能力,综述里给它起了个名字叫 long horizon(长时域) ,定义是:

在推理、工具使用、观察、修正之间,持续迭代跨越许多相互依赖的步骤——从一个上下文窗口内的任务,扩展到跨窗口、跨会话、甚至跨任务的开放式任务流。

换句话说,以前我们关心"模型这一句话答得好不好",现在要关心"它能不能在跑了几百步、中间出过错、上下文都快爆了的情况下,还能记得目标、修正路径、最终把事办成"。这是一个系统级的问题,单靠堆大模型解决不了。这也是为什么这份综述值得读——它给出的不是某个 trick,而是一张完整的工程与训练路线图。

二、核心概念:一个公式,三级台阶

1. 形式化定义:Agent = 策略 ⊕ 框架

综述把一个长程 Agent 形式化为:

Agent = π_θ ⊕ H
  • π_θ:模型的策略(policy),也就是"大脑",决定每一步怎么想、怎么做。
  • H(Harness) :包裹在策略外面的运行时框架,负责循环、上下文管理、记忆、工具调用、编排、校验等一切"外围工程"。

这个公式是整篇综述的题眼。它把"做 Agent"这件事明确拆成了两股力量:

  • 外部化(Harness 工程) :把能力用工程手段搭在外面。
  • 内部化(模型优化) :把能力训练进模型权重里。

而且这两者协同进化:先在 Harness 里用工程实现的能力,成熟后会被"内化"进模型;而更强的模型又能支撑更复杂的 Harness。这个观点对我们做工程的人特别有启发——今天你手写的某个 workflow、某个记忆模块,很可能就是明天模型的内置能力。

2. 三级台阶:H1 / H2 / H3

综述用"任务时长"把难度分成三级,每级对应一种必须具备的能力:

级别任务时长必备能力一句话理解
H1单上下文窗口内(约分钟级)C1:上下文内交互式推理"在一个对话里把多步推理做完"
H2跨上下文/会话(约小时到天)C2:跨上下文的状态与记忆"记住昨天干到哪了,今天接着干"
H3跨任务的开放式任务流C3:跨任务的经验积累"干完一个项目,把经验存下来复用"

三级是嵌套的(H1 ⊂ H2 ⊂ H3),难度逐级上升。判断你做的系统在哪一级,能帮你决定该投工程还是投训练:H1 主要靠好的 prompt 和 workflow;H2 没有像样的记忆机制就过不去;H3 则必须有经验沉淀和自我进化能力。

三、演进脉络:三阶段看懂整个领域

综述把 Agent 技术的演进划成三个阶段。这条脉络是理解后续所有工作的钥匙:

Stage Ⅰ — Prompt 工程(2020–2023)

核心是在"语言"层面下功夫。代表:Chain-of-Thought(思维链)、Self-Consistency、Tree of Thoughts、ReAct、Toolformer、HuggingGPT。这一阶段大家相信:只要把提示词写好、把推理步骤摆清楚,模型就能"想得对"。上下文窗口还比较小,工具调用也刚刚起步。

Stage Ⅱ — Context 工程(2023–2025)

核心是在"每次调用的信息"层面下功夫。代表:RAG、MemGPT、Lost in the Middle、LLMLingua、FlashAttention、长上下文模型。大家意识到:光有好的推理不够,喂给模型的上下文本身要"对、全、且不超长"。于是检索、压缩、长上下文窗口成了主战场。

Stage Ⅲ — 运行时 Harness(2025–至今)

核心是在"整个轨迹"层面下功夫。代表:Reflexion、Self-Refine、SWE-agent、OpenHands、MetaGPT、AutoGen、Magentic-One、MCP、AGENTS.md、Darwin Gödel Machine。当任务长到撑爆任何窗口、需要跨会话、需要持续纠错时,就必须有一个常驻的运行时框架来维持整个 agent 生命周期。这就是我们现在所处的阶段——也是这份综述的主体。

一句话总结这三阶段:从把一句话写好,到把一次调用的信息配齐,再到把一整条 agent 生命周期托起来。

四、支柱一:Harness —— 把长程能力"搭在外面"

这是综述的 Pillar I,也是和我们工程实践最贴近的部分。综述把 Harness 拆成六个组件,下面逐个过。

1. 循环与工作流(Loops & Workflows)

按结构强度分三类:

  • 线性工作流:ReAct(推理-行动交替)、Reflexion(语言化强化,用自然语言反思)、Self-Refine、Self-RAG。最基础,一步步往下走,错了回头改。
  • 计划-执行工作流:Plan-and-Solve、ReWOO(把推理和观察解耦)、ADaPT(按需分解)。先想清楚再动手,适合长任务。
  • 分支工作流:Tree of Thoughts、Self-Consistency、LATS(语言 agent 树搜索)、Graph of Thoughts。允许探索多条路径再选最优,代价是算力和复杂度。

工程启示:不要一上来就用最复杂的树搜索。先用线性 workflow 把主干跑通,长任务再加 plan-execute,只有当"多试几条路取最优"确实有回报时(比如代码生成、数学推理),才值得上分支搜索。

2. 上下文与记忆(Context & Memory)

这是 H2、H3 的命门,综述分两块:

  • 工作记忆(Working Context) :在单次任务运行中,怎么管住那个不断膨胀的上下文。手段是 丢弃 / 压缩 / 选择。代表:Anthropic 的 Effective Context Engineering、ReSum(用摘要解锁长程搜索)、MEM1、HiAgent(分层工作记忆)、MemAgent、Agentic Context Engineering、ContextBudget(预算感知的上下文管理)。
  • 持久记忆(Persistent Memory) :跨任务沉淀事实和经验。代表:Mem0(生产级长期记忆)、HippoRAG(借鉴海马体的长期记忆)、A-Mem、Voyager 的技能库、Zep(时序知识图谱)、ExpeL(经验式学习)。

工程启示:长程 agent 的崩溃往往不是因为模型笨,而是因为上下文被噪声撑爆、关键信息被冲掉。记忆不是可选项,是必选项;而且要分层——运行中的工作记忆要"会压缩",跨任务的经验记忆要"可检索、可复用"。

3. 工具、MCP 与技能(Tools, MCP, and Skills)

  • 工具接口与协议:Toolformer、ToolLLM、τ-bench、BFCL、MCP(Model Context Protocol,已成为事实标准)。MCP 的意义在于把"工具怎么接"这件事标准化了。
  • 主动工具发现:RAG-MCP(用检索缓解工具选择时的 prompt 膨胀)、AnyTool、MCP-Zero(主动发现工具)、ToolGen(用生成统一检索与调用)。
  • 技能库:Voyager(把可复用的程序沉淀成"技能")、Anthropic 的 Agent Skills。

工程启示:当工具数量从几个涨到几十上百个时,"把所有工具 schema 塞进 prompt"这条路就走不通了,必须上检索式工具选择。技能库则是把"反复出现的操作模式"封装成可复用资产的关键。

4. 编排(Orchestration)

多 agent 怎么协作:

  • 分解与角色:MetaGPT(给 agent 分配不同角色,像软件团队一样协作)、ChatDev。
  • 协调拓扑:AutoGen、Magentic-One。
  • 编排优化:AutoFlow(自动生成 workflow)、Sherlock(可靠的 workflow 执行)。
  • Agent 协议:MCP、AGENTS.md(让 agent 之间、agent 与环境之间有统一的语言)。

5. 钩子与中间件(Hooks & Middleware)

  • 预定义规则钩子:固定时机触发固定动作。
  • 用户自定义钩子:给业务留扩展点。
  • 运行时自适应钩子:根据运行状态动态调整。

这一块偏底层工程,是把 agent 从"能跑的脚本"变成"可观测、可干预、可治理的系统"的关键。

6. 校验(Verification)

  • 校验对象:中间步骤、最终结果、轨迹整体。
  • 校验级别:从单步到端到端。
  • 校验策略:Self-RAG 式的自我批评、外部 verifier、代码执行验证。

工程启示:长程任务里错误会复利式累积,没有校验机制,agent 会一路错到底。Verifier 和反思机制不是锦上添花,是止损阀。

五、支柱二:Optimization —— 把长程能力"练进权重"

这是综述的 Pillar II。如果说 Harness 是"授人以渔",Optimization 就是"把人练成渔夫"。综述给了一条训练流水线,从架构基底到六个训练阶段。

1. 架构基底(Architectural Substrate)

支撑长程能力的底层模型架构:长上下文模型(Longformer、BigBird)、线性/高效注意力(Mamba、Mamba-2、RetNet、MoBA、Kimi Linear)、混合架构(Jamba)、投机解码(EAGLE、Speculative Decoding)、GQA、MoE(DeepSeek-V2/V3、GLM-4.5、Qwen3)。这一层的核心矛盾是:上下文要够长,但推理成本不能失控。

2. 数据与环境合成(Data & Environment Synthesis)

训练长程 agent 最缺的是"真实的长轨迹数据"。综述梳理了大量合成方法:

  • 任务合成:TaskCraft、WebShaper、AgentSynth、DIVE、ZPD-Guided(按最近发展区合成)。
  • 环境合成:WebArena、OSWorld、MineDojo、AutoWebWorld(用有限状态机合成可验证的 web 环境)、CLI-Gym、AgentGym-RL。
  • 世界模型:WebDreamer、Cosmos、DreamGen——用模型模拟环境,降低真实交互成本。
  • 失败轨迹利用:AOI(把失败轨迹转成训练信号)、AgentHER(事后经验回放)。

这是目前最活跃的赛道之一,因为"高质量、可验证、有难度梯度的长程任务数据"直接卡着训练效果的天花板。

3. 预训练与中训练、微调

用 agent 相关数据在预训练和中训练阶段就注入能力,再用 SFT 做针对性微调(如 SWE-Gym 训练软件工程 agent)。

4. Agentic RL(智能体强化学习)

这是当下最热的方向,综述分了四块,非常清晰:

  • 信用分配(Credit Assignment) :长轨迹里奖励稀疏,怎么把最终的成败信号合理归因到每一步?
  • 策略优化(Policy Optimization) :在多轮、带工具的环境里怎么做稳定的 RL。代表 Search-R1(训练模型边推理边用搜索引擎)、WebDancer、WebSeer。
  • 采样策略(Sampling Strategy) :怎么高效采样轨迹、平衡探索与利用。
  • 交互模式(Interaction Patterns) :agent 与环境/用户的交互怎么设计才利于学习。

5. 在策略蒸馏(On-Policy Distillation)

用强模型生成的轨迹蒸馏小模型,但保持"在策略"(on-policy),让蒸馏出的能力更可迁移、不跑偏。

6. 自我进化(Self-Evolution)

让 agent 自己产生经验、自己改进自己:ExpeL、Darwin Gödel Machine(开放式进化的自我改进 agent)、ReasoningBank。这是 H3 级能力的终极目标,也是开放问题最多的地方。

六、应用落点:长程 Agent 在哪能用上

综述按场景分了五类,每类都有代表系统和 benchmark:

  1. 软件工程:SWE-agent、OpenHands、AutoCodeRover、aider、Claude Code、Deep Agents、Trae Agent。特点是"仓库级 grounding + workflow 级规划 + 反馈驱动修复",SWE-bench / SWE-Bench Pro 是核心评测。
  2. 信息检索:Deep Research 路线最成熟——Search-o1、Search-R1、WebDancer、WebSeer、通义 DeepResearch、MiroThinker、ReSum。分"深搜(deep search)"和"宽搜(wide search)"两种打法。
  3. Computer Use:浏览器 agent、桌面 GUI agent、移动端 agent,目标是让 agent 像人一样操作真实界面。
  4. 多模态 Agent:从多模态理解到生成,再到全模态一体化。
  5. 通用 Agent:个人助手、具身 agent 与世界模型、生产力 agent(如 TheAgentCompany)。

工程启示:软件工程和信息检索是当前最容易落地、ROI 最高的两个方向,建议组内重点跟进;Computer Use 和具身是未来,但工程门槛和不确定性都更高。

七、开放问题:四条轴、九个方向

综述最后把未解之题归纳成四个轴,这张表本身就是一份研究/选型清单:

前沿方向核心挑战
进化自我进化的 harness/agent目标靠人工设定;收益局限在分布内;长跑会过拟合/漂移
Harness 可迁移性模型和单一 harness 绑死;换厂商排名就乱;无标准协议
持续/终身学习外部记忆太浅;内部更新怕遗忘
有效性真实环境交互没法在真实系统里直接训练;合成/世界模型要过"保真度"关
从数字到具身时间尺度冲突;物理/维度鸿沟;反馈粗细不一
效率成本/预算感知不知成本几何;没有运行时上限;没有"预算↔成功率"的规律
多模态/全模态 harness多模态是"贴上去的";视觉 token 预算靠拍脑袋;跨模态校验不可靠
可信反思与错误鲁棒性失败发现太晚;自我纠正不靠谱;错误复利累积成目标漂移
安全与治理注入的错误/有害经验会被复用;无统一安全标准;自我进化会侵蚀不变量

一句话点题:下一阶段的突破,更多发生在 harness(框架)层面,而不是单靠模型本身。

八、对我们工作的启示(划重点)

读完这份综述,我提炼出几条对我们日常做 AI 应用直接有用的结论:

  1. 先判断你的任务在 H1/H2/H3 哪一级,再决定投入。H1 问题别过度工程化,H2/H3 没有记忆和校验机制就别开工。
  2. 能力会"从 harness 内化进模型" 。今天你辛苦写的 workflow 和记忆模块,要按"未来可能被模型取代"来设计——保持解耦,别把业务逻辑焊死在某个特定模型行为上。
  3. 上下文管理是长程 agent 的生死线。宁可多花力气在压缩、摘要、检索上,也别让上下文无脑膨胀。
  4. 校验机制要在设计阶段就放进架构,而不是出了问题再补。错误在长程任务里是复利的。
  5. 工具一多,必上检索式选择 + MCP 协议。这是已经成熟的工程范式,没必要自己造轮子。
  6. 训练侧关注 Agentic RL 和数据/环境合成,应用侧关注 Deep Research 和软件工程 agent——这两块是目前离钱最近的。

参考资源

这份综述最有价值的地方,不在于它列了多少论文,而在于它给出了一个能用来组织认知的框架:一个公式(Agent = π ⊕ H)、三级台阶(H1/H2/H3)、三阶段演进、两大支柱。掌握了这个框架,再看到新的 agent 工作,你就能迅速判断它属于哪一层、解决了哪一级的什么问题。希望这篇导读能帮大家建立这张"地图"。