Browse this library

Chinese source article

1.1 · 任务结构与能力边界

统一 Long-Horizon 的状态、依赖与恢复记号,并区分任务长度、输出长度、上下文长度和真正的跨步依赖。

View original Markdown ↗

「长」这个字很容易把几个问题揉在一起。模型可以一次输出很多 token,也可以把几百万 token 放进上下文;一个工作流可以调用一百次工具,任务还可以持续几个星期。这些量都能变大,却没有任何一个单独构成长程能力。五十次互不相关的查询仍是五十道短题;十步数据库迁移只要第一步决定了后面所有表结构,就已经有很强的长程属性。

本路线把研究对象写成持续演化的任务状态 sts_t。动作 ata_t 作用于环境,产生观测 ot+1o_{t+1};观测经过验证后,才进入后续决策可依赖的事实集合。决定难度的量包括依赖图的关键路径、反馈延迟、错误传播范围和恢复成本,总步数 TT 只描述表面长度。早期决定若要等很久才能验错,并且许多后继动作都依赖它,任务就会迅速变难。

1. 从表面长度走向有效跨度

可以先画一张有向无环图:节点表示决策或状态变化,边表示后者必须使用前者的结果。关键路径给出无法并行消除的依赖深度;一个错误节点能够到达的后继数,近似描述它的污染范围。两条轨迹即使 token 数相同,只要关键路径和污染范围不同,难度也可能差一个量级。状态依赖与有效跨度从这套图模型出发,区分输出长度、运行时间、上下文容量与有效 horizon,并给出长度相同而难度不同的手算例子。

这套定义还有一个好处:模型和 Harness 可以放进同一坐标系。模型负责根据可见状态提出动作,Harness 保存环境事实、目标版本和证据关系。窗口再长,也不能自动判断两条冲突信息谁更新;模型再聪明,也无法从一次没有返回值的外部调用中知道动作是否成功。能力属于整个闭环,不能全算在模型权重上,也不能把 Harness 自动完成的步骤算成模型推理。

2. 错误之后还能不能继续

只看最终成功,会把两种系统混在一起:一种几乎不犯错,另一种会犯错却能很快发现、回滚和改道。真实长任务很难保证前者,因此恢复能力必须进入定义。一个 checkpoint 的价值取决于它是否与外部副作用、目标版本和验收证据对齐;只保存聊天摘要,通常无法阻止重复提交、脏状态继承或基于旧目标继续执行。

恢复成本与路径依赖继续讨论错误怎样沿依赖图传播,以及恢复到可信边界需要撤销多少有效工作。读完这两篇,应该能够判断一个任务究竟长在哪里,也能解释为什么「再给模型更长上下文」有时有效,有时只是让错误在更大的窗口里停留得更久。

3. 一个贯穿全库的例子

假设 Agent 要在陌生仓库里修改数据库 schema、迁移数据、更新调用方并通过测试。提交的代码行数可能不多,真正的 horizon 来自依赖:迁移依赖 schema,调用方依赖新接口,最终测试依赖前面所有状态一致。若 schema 选错,错误会潜伏到集成测试才暴露;此时恢复成本包括撤销迁移、修正数据和重跑验证。这个例子后面会反复出现,因为它同时包含状态变化、延迟反馈、不可逆风险与可执行验收。若把任务改成读取十个互不相关文件并分别总结,token 可能更多,依赖图却更浅。这样的对照比给 Long-Horizon 规定固定步数更稳定。