← logs/

长程 agent:状态、技能、恢复

两个小时的 agent 运行与二十轮对话是两种不同的产物。对话可以承受重新计算;运行不能。区分二者的因素归结为三点:状态如何保存、技能如何习得、agent 如何从死胡同恢复。三份工作,每个杠杆对应一份:一次模型发布、一篇 RL 论文、一篇技能内化论文。

领域地图

长程能力是一个栈。给各层命名有帮助:

  • 状态。系统能否在数小时的杂乱轨迹中维持质量?这是上下文工程:容量、压缩、重建。我在「上下文工程:什么该留、什么该折叠、什么该丢」中单独精读了这一族。
  • 技能。任务能力住在哪里:检索到的文档、提示词,还是权重?
  • 恢复。agent 卡住时,harness 能否察觉,agent 能否回到好的状态?

GLM-5.2 是状态层。CLI agent 论文是恢复层:恢复是知道该撤销哪个更早的动作,而信用分配正是把最终结果归因到那个动作的机制。SKILL0 是技能层。

GLM-5.2:上下文作为工程基底

Z.ai 的官方博文「GLM-5.2:为长程任务而生」(June 2026)正是以这个框架开场:面向长程任务的旗舰模型,立于扎实的 1M token 上下文之上,稳定支撑长程工作。我在意的句子紧随其后:长上下文必须可工程化使用。模型必须在漫长而杂乱的 coding-agent 轨迹上保持质量,而不只是接受更多 token。

这次发布的内容:

  • 针对 coding-agent 场景,1M 上下文上的训练大幅扩展:大规模实现、自动化研究、性能优化、复杂调试。这押注的是:长程能力靠训练获得,而非靠窗口。
  • IndexShare 每四层稀疏注意力层复用一个索引器,在 1M 上下文下把每 token FLOPs 削减 2.9×。长上下文首先是成本问题,然后才是能力问题。
  • 多 token 预测层为投机解码做了升级,接受长度最长增加 20%。
  • 在 FrontierSWE——时长数小时到数十小时的开放式项目——上,GLM-5.2 落后 Claude Opus 4.8 达 1%,并险胜 GPT-5.5 1%。它是 FrontierSWE、PostTrainBench 与 SWE-Marathon 上最强的开源模型,权重采用 MIT 许可。这些是 Z.ai 自报的数字,而 FrontierSWE 是个年轻的 benchmark;请把 1% 的差距视为方向性的,而非定论。

我的解读:模型厂商们收敛到了 agent 文献率先得出的认识。真正重要的 benchmark 是持续数小时的执行。1M 窗口是基底;harness 拿它做什么仍是开放问题。这篇博文说得很直白:1M 上下文容易宣称,在真实工程压力下保持可靠则难得多。

信用分配:教 agent 哪些动作重要

Learning CLI Agents with Structured Action Credit under Selective Observation(arXiv 2605.08013,May 2026,Haoyang Su 与 Ying Wen)从训练侧进攻恢复问题。CLI agent 运行在不断演变的文件系统上,而学习它们将两个瓶颈耦合在一起:agent 必须从部分观测中在大代码库里找到与任务相关的证据;稀疏的终端奖励又必须分配给塑造了一条漫长多轮轨迹的那些动作。

贡献概要:

  • σ-Reveal 在 agent 行动之前选择一个受 token 预算约束的工作区视图,决定 agent 被允许看到什么。
  • A³(Action Advantage Assignment,动作优势分配)从回合级相对反馈、基于 AST 的动作子链残差与树级轨迹间隔构建轮级优势。Shell 命令按解析树结构而非表面文本比较,因此信用流向各 rollout 中结构相似的动作子链。这就是在没有每一步奖励的情况下学会「第二个 cd 才是错误」的方式。
  • ShellOps 与 ShellOps-Pro 是仓库环境中的可验证 CLI 任务套件:一个 1624 任务的语料,加一个 150 任务、更难的分布外切分。

对长程而言重要的结果:在 ShellOps-Pro 上,用 A³ 训练的同一个 Qwen3-14B 策略,随着 horizon 增长达到了 Qwen3-235B-A22B 的水平,尽管与前沿模型之间仍有差距。信用分配正是让一个小策略在漫长轨迹中存活下来的东西。知道哪些动作塑造了结果的策略可以回溯并重新规划;不知道的只会盲目往前扑腾。

技能:把能力从上下文移入权重

SKILL0: In-Context Agentic Reinforcement Learning for Skill Internalization(arXiv 2604.02268,April 2026,Zhengxi Lu 与浙江大学和美团的同事)针对技能库范式提出了那个令人不适的问题:如果 agent 遵循注入其上下文的技能,它是在执行技能还是学习技能?答案是:能力住在上下文里,不在模型中。这促成了内化。带着技能上下文训练,逐步撤走,最终在推理时零检索。

机制是带课程的 in-context RL。技能离线分组并紧凑渲染;一个动态课程衡量每个技能文件的 on-policy 有用性,并在线性衰减的预算下丢弃当前策略不再受益的文件。结果是一个完全零样本的 agent,在 ALFWorld 上比标准 RL 基线提升 +9.7%,在 Search-QA 上 +6.6%,在 WebShop 上 +10.1%,每步不到 0.5k token。

这对长程为什么重要:技能是 agent 系统的恢复机制。一次运行停滞时,回退是「在这里我知道该怎么做吗?」技能库通过检索来回答,代价是逐步骤累积的 token 成本。SKILL0 的赌注是:稳定、可复用的行为应在训练时一次性定价进权重,运行时永远不再支付。在预算受限的数小时运行里,这笔累积节省就是运行装得下预算与装不下之间的差别。

我的立场

三者都在做同一个动作的变体:把能力从运行时产物推进到更便宜、更持久的东西里。GLM-5.2 把容量推进到训练出的长上下文行为中。A³ 把信用知识推进到策略中。SKILL0 把技能推进到权重中。这个模式是从「上下文作为运行的工作记忆」转向「上下文作为持久状态之上的一小片可重建的表面」。

把三者显式组合起来的 harness 版本:

  • 事件日志作为状态重建的真源:日志即轨迹,上下文窗口是其上的一个视图;
  • 恢复作为一等协议:停滞检测、回滚到已记录的检查点、从重建的状态重新规划,并以奖励「回到正轨」而非「只求完成」的信用来训练;
  • 技能作为带内化 pipeline 的版本化产物:先检索,一旦技能被证明稳定就蒸馏进权重。
state      GLM-5.2       1M context, trained for long coding-agent runs
skills     SKILL0        competence moved from context into weights
recovery   A3 + harness  credit assignment, checkpoints, re-plan

这在我的工作中将走向何方

在 PiPlan.ai,我们已交付的护栏(提案先行审查、模拟沙箱、兼作轨迹的事件日志)正是这些论文预设的基底。事件日志是可重建的状态。沙箱是廉价排练恢复的地方。提案先行审查是那道检查,防止一次偏离方向的运行在错误方向上耗费数小时。在这些之上,对话式规划器–执行器 agent 正在进行中:把闭环串起来的那一块——提案、模拟、记录、恢复。这三篇论文直接映射到这个构建里的开放问题上,而我尚未敲定的是停滞检测该住在哪里。它可以住在 harness 里,盯着事件流找出停止推进的运行;也可以住在策略里,用奖励「上报自身停滞」的信用来训练。事件日志让两者都成为可能;我还没有决定。

本文链接的来源均已抓取并核实。