长任务:检查点、恢复与预算
长任务必须假设网络会断、上下文会满、工具会失败、用户会改变方向。
- 能设计长任务状态机与检查点
- 能处理重连、取消与外部副作用
- 能为 Agent 定义运行 SLO
Agent 跑六小时,怎样让用户敢于离开屏幕?
长任务必须假设网络会断、上下文会满、工具会失败、用户会改变方向。让 Agent 持续运行六小时并不等于拥有长任务能力,真正能力是中途状态可见、已有成果可保存、恢复后不会重复副作用。
进度不应使用无法解释的百分比。用户更关心已经完成哪些可验收产物、当前在等待什么、剩余成本和风险是多少。
先记住这句话把任务拆成可验证阶段,持续外置状态和证据,保存检查点与未完成事项。恢复时重建必要上下文,而不是依赖模型“记得”。
检查点保存的是继续工作的最小充分状态
检查点至少包含目标、版本、已完成阶段、关键决策、证据指针、外部回执、未决项和剩余预算。原始大文件可以外置,但必须可回源。
恢复时先核对环境是否变化,再从最后可信检查点继续。直接把旧摘要送回模型,可能在过期前提上稳定执行。
预算变化需要用户可选的降级方案
达到时间或费用阈值时,可以缩小资料范围、降低分析深度、继续追加预算或停止并交付当前结果。选择必须说明会损失什么。
异步通知应包含产物、验证和待决策事项。只发送“任务完成”会把复核负担留给用户。
生产长任务要把 Brain、Hands 与 Session 分开
可以把 Harness 理解为 Brain:维护目标、上下文、策略与下一步;把隔离执行环境理解为 Hands:真正接触文件、网络和工具。Session 则是二者之间可持久、可观察、可恢复的一次工作记录。三者分开后,运行环境可以替换,任务历史仍可追溯。
生产系统还需要身份与凭证代理、事件持久化、环境健康检查、恢复和审计。Managed Agents 是 Anthropic 的一套官方产品架构案例,不是行业唯一标准;其客户案例和性能数字也不能直接外推成所有团队的 ROI。
长任务必须假设进程会崩、网络会断、环境会变化、预算会耗尽、审批会等待。检查点不是对话摘要,而是可恢复的目标版本、已完成动作、工具回执、产物、预算和未决事项。
Queued → Running,并分配 lease、预算和心跳
按可验证里程碑执行并保存 checkpoint
处理 WaitingApproval、Paused、Retrying 与取消
恢复时校验环境、产物哈希和目标版本
有术语没听懂?在这里用人话再看一遍6 个词+
- 长任务
- 持续时间、步骤或外部依赖足以使中断与恢复成为核心产品需求的任务。
- 检查点
- 能够在中断后恢复工作的状态、证据和外部回执快照。
- 外置状态
- 保存在模型上下文之外、可持久读取的任务事实。
- 阶段产物
- 在整体结束前已经可独立检查和复用的中间交付。
- 恢复语义
- 系统如何确认旧状态、避免重复动作并从正确位置继续。
- Brain / Hands
- 把任务编排与上下文责任同隔离执行环境分开的生产架构视角。
六小时迁移任务在第四小时断网
Agent 已完成三批文件,VPN 中断;恢复时仓库又有新提交。
- 01
读取最后检查点和工具回执
- 02
验证分支、产物与目标是否仍一致
- 03
对新提交做冲突检查后从安全里程碑继续
不会重复外部动作,也不会基于过期环境盲目续跑。
本章依据与证据边界5 条结论 · 16 份原始材料+
正文已经把关键来源放在相关概念旁边。这里保留完整核验清单:每条材料能支持什么、不能支持什么;不要求离开本站才能继续学习。
- [1]
OpenAI App Server 的 Thread 和事件模型为长任务持久状态与客户端重连提供了公开产品案例。
官方事实OPUnlocking the Codex harness: App Server官方工程文章 · 核验 2026-07-14 - [2]
OpenAI 的 Harness Engineering 案例强调持久产物、环境反馈和可恢复的长周期工作。
官方事实OPHarness engineering: agent-first world官方工程文章 · 核验 2026-07-14 - [3]
Anthropic 的 Managed Agents 文章把 Agent、Environment 与 Session 拆开,并描述凭证、隔离执行、持久事件和恢复等生产责任;这是其产品架构案例。
官方事实CLBuilding with Claude Managed Agents官方工程文章 · 核验 2026-07-14 - [4]
Anthropic 的长任务 Harness 工程文章说明长周期应用开发需要外置状态、阶段验证与可恢复工作;具体实现属于其案例。
官方事实ANHarness design for long-running application development官方工程文章 · 核验 2026-07-14 - [5]
本站检查点字段和四种预算选择是教学设计,不代表 Codex 固定实现。
本站推演OPUnlocking the Codex harness: App Server官方工程文章 · 核验 2026-07-14
查看全部一手材料与源码证据 16 条
这份文档把 Claude Code 的 Agent Loop 描述为收集上下文、采取行动、验证结果三个相互交织的阶段,并说明模型与工具如何通过结果反馈持续调整。它还解释 Claude Code 作为 Harness 所承担的上下文管理、执行环境、会话、压缩、检查点和权限职责。
官方方法 · 核验 2026-07-11Effective context engineering for AI agentsAnthropic这份材料将 Context Engineering 定义为持续选择和维护推理时最合适的信息,而不只是改写一条 Prompt。它支持最小高信号上下文、按需检索、工具结果压缩、结构化笔记、Compaction 与 Subagent 隔离等长任务策略。
官方产品实现 · 核验 2026-07-11Create custom subagentsAnthropic这份文档说明 Subagent 使用独立上下文完成委派任务并向主会话返回摘要,可分别配置模型、工具、权限、Skill、MCP、Memory、Hook 与 Worktree 隔离。它支持把 Subagent 的价值定位为上下文隔离、并行和专业化,而不是把增加 Agent 数量等同于自动提升结果质量。
官方方法 · 核验 2026-07-11Effective harnesses for long-running agentsAnthropic这份材料展示 Compaction 仍不足以解决跨上下文长任务,并总结一次做太多、半成品难接续和过早宣布完成等失败模式。它用初始化环境、功能清单、进度文件、Git 历史、增量推进和端到端验证说明 Harness 如何把连续性写入环境。
官方产品实现 · 核验 2026-07-11Unlocking the Codex harness: how we built the App ServerOpenAI这份材料说明 Codex App Server 如何以双向 JSON-RPC/JSONL 协议把同一 Harness 暴露给 CLI、IDE、桌面与 Web 客户端。它定义 Thread、Turn、Item 及流式事件、审批暂停、持久化和重连语义,是课程讲解 Agent 客户端协议与多端复用的直接实现依据。
官方方法 · 核验 2026-07-11Harness engineering: leveraging Codex in an agent-first worldOpenAI这份案例说明当 Agent 承担大量执行工作时,人类工作的重心会转向表达意图、设计环境、维护可读知识和建立反馈回路。它支持用仓库内版本化知识、机械化架构约束、测试、Lint 与可操作错误信息提升 Agent 的可读性、自治性和长期一致性。
固定提交源码 · 核验 2026-07-11Hermes Agent conversation loopNous Research这段固定提交源码展示 Hermes 如何检查工具名、修复参数、限制委派数量、去重调用、执行工具,并把结果写回消息历史。它直接证明生产级 Agent Loop 在模型输出与真实动作之间还需要确定性处理。
固定提交源码 · 核验 2026-07-14Hermes Agent turn finalizationNous Research这段固定提交源码定义 Turn 结束时的预算与完成判定,并把轨迹保存、资源清理、会话持久化和清理错误纳入统一关账。它支持课程把 completed 视为需要系统证据与退出处理的状态,而不是模型的一句话。
固定提交源码 · 核验 2026-07-11Hermes Agent context compression and tool runtimeNous Research这份同提交文档解释 Hermes 如何区分稳定、上下文和易变 Prompt 层,并在压力下裁剪旧工具输出、保留边界、生成结构化摘要和修复工具调用配对。它支持课程讨论上下文压缩与缓存边界,不用来证明未在该文档中展开的工具运行时。
固定提交源码 · 核验 2026-07-11Hermes Agent async delegation and turn finalizationNous Research这段源码说明后台 Subagent 的完成结果进入共享队列,并在 Agent 空闲时形成新的 Turn,而不是插进正在进行的工具序列;这样可以保持消息角色顺序与 Prompt Cache 稳定。这是 Hermes 的实现选择,不是行业统一协议。
官方产品实现 · 核验 2026-07-14The evolution of agentic surfaces: building with Claude Managed AgentsClaude by Anthropic这份官方材料定义 Agent、Environment 与 Session 三类生产资源,并说明 Brain/Hands 分离、持久事件、凭证代理、可恢复状态和自托管执行环境。
证据边界:官方自测延迟和客户案例不能直接外推为所有 Agent 产品的 ROI。官方产品实现 · 核验 2026-07-14How we built our multi-agent research systemAnthropic这份生产案例披露 Orchestrator-Worker、独立上下文、并行搜索、恢复与评测方法,也明确多 Agent 的高 Token 成本和对串行、强共享上下文任务的限制。
证据边界:内部研究 Eval 的提升不能证明多 Agent 对所有任务都优于单 Agent。官方产品实现 · 核验 2026-07-14Auto mode for Claude CodeClaude by Anthropic官方说明 Auto Mode 会在工具调用前用分类器评估潜在破坏性动作,风险低于完全跳过权限,同时承认仍可能误放行危险动作或误拦截正常动作。
证据边界:分类器存在不等于风险被消除,也不替代隔离环境和最小权限。官方产品实现 · 核验 2026-07-14A harness for every task: dynamic workflows in Claude CodeClaude by Anthropic这份材料说明 Claude Code 如何让用户为长程、并行、结构化或对抗任务编写动态 Harness,并以多个独立上下文完成分解、验证和汇总。
证据边界:动态工作流不是默认更优;协调、Token、延迟和错误传播仍需针对任务测量。官方产品实现 · 核验 2026-07-14Hermes Agent SessionsNous Research当前文档说明 Hermes 将完整消息与工具历史保存在 SQLite,会话可恢复和跨端检索,但恢复历史不等于把所有旧字节持续塞回模型上下文。
证据边界:持久会话不自动保证恢复无副作用,也不是隐私删除或长期语义记忆。官方产品实现 · 核验 2026-07-14Hermes Agent Context Compression and CachingNous Research当前文档公开工具结果裁剪、头尾保护、结构化摘要、重压缩和缓存策略,并说明摘要模型窗口不足时中段上下文可能在无摘要情况下被丢弃。
证据边界:Compaction 不能保证信息无损,也不是长期 Memory。