上下文重置
概述
上下文重置(Context Reset)是长时 Agent 任务中的一种会话管理策略:彻底清空上下文窗口,启动全新 Agent,通过精心设计的结构化交接工件(Handoff Artifact)将前一 Agent 的状态和后续步骤传递给新 Agent,提供"清白石板"(clean slate)。
关键内容
与压缩(Compaction)的根本区别
| | 上下文压缩(Compaction) | 上下文重置(Context Reset) | |--|--|--| | 机制 | 原地摘要早期对话,同一 Agent 继续 | 彻底清空,新 Agent 从交接工件出发 | | 连续性 | 保留(同一 Agent "心理状态") | 切断(新 Agent 完全独立) | | 上下文焦虑 | 仍可能持续(模型还在同一会话中) | 解决(新 Agent 无历史负担) | | 代价 | 摘要失真风险;焦虑持续 | 编排复杂度 + Token 开销 + 延迟 |
Claude Agent SDK 的自动 Compaction 处理上下文增长,但对 Sonnet 4.5 的上下文焦虑效果不足;Opus 4.6 则基本消除了焦虑,使重置策略不再必要。
交接工件(Handoff Artifact)的设计要求
重置的关键在于交接工件的质量——它必须携带足够的状态让新 Agent 无缝衔接,包括: - 已完成工作:已实现的功能列表和当前代码状态 - 下一步骤:明确的后续任务优先级 - 上下文决策:之前做出的关键架构和设计决策 - 活跃问题:尚未解决的 Bug 或设计疑问
工件质量直接决定重置后的任务连贯性——工件越结构化,新 Agent 的"起跑线"越高。
在 Harness 演化中的角色
在 Anthropic 的长时编码 Harness 演化过程中: 1. 早期(Sonnet 4.5 哈内斯):上下文重置是核心设计,使模型能坚持完成多小时任务 2. 迭代后(Opus 4.6 哈内斯):上下文焦虑基本消失,重置被移除,Agent SDK 的自动 Compaction 已足够
这一演化体现了 "every harness component encodes an assumption about what the model can't do on its own — those assumptions should be stress-tested as models improve" 的工程原则。
实现代价
上下文重置在提升任务完成质量的同时引入了: - 编排复杂度:需要管理多 Agent 生命周期和状态传递 - Token 开销:每次重置需重新加载系统提示和工件 - 延迟:Agent 初始化和工件解析时间
这些代价使得重置策略的使用应以模型当前能力边界为判断依据,而非默认采用。
来源
- raw/articles/ai-engineering/anthropic-engineering/Harness design for long-running application development.md
相关
- 上下文焦虑 — related_to(上下文重置是应对上下文焦虑的主要手段)
- Context-Engineering — part_of(会话状态管理是上下文工程的核心子课题)
- Agent Harness模式 — part_of(重置策略是 Harness 设计的一种选择)
- 生成器-评估器架构 — related_to(三 Agent 系统设计时需决定是否使用重置)