上下文 记忆 学习2026-04-09
Session as Context Object
定义
Session as Context Object 是一种上下文管理范式:把长程任务的上下文作为一个持久化的、可按位置询问的对象存在模型窗口之外,而不是在窗口内做不可逆的压缩与丢弃。Claude 通过 getEvents() 这样的接口去切片、回溯、重读事件流,把"存什么"与"用什么"彻底解耦。
要点
- 传统方法(compaction、context trimming、memory 工具)都是对"要留什么"做不可逆决定——一旦未来步骤需要已丢弃的信息就无法恢复
- 核心思路:session 作为外置可询问对象 —— 存储层只承诺持久可读,上下文工程推给 harness
- 接口示例:
emitEvent(id, event)写入、getEvents()按位置切片读取(从上次停的地方继续 / 回溯到某动作之前 / 重读某个决定前的铺垫) - 任何取回的事件可在 harness 层再做转换(重组以提升 prompt cache 命中率、精简无关工具结果等)后才进 Claude 的窗口
- 分层理由:可恢复存储可以固定下来,上下文工程必须随模型演进而变
- 与"context as REPL object"思路同源:让上下文成为 LLM 可编程访问的对象
示例
在 Claude Managed Agents 中,harness 崩溃后新 harness wake(sessionId) 并通过 getSession(id) 拿回完整事件日志,从最后一个事件接着跑。Agent 也可以选择"回退 5 步再往下看"来诊断自己为什么做出某个决定——这种询问模式是传统 compaction harness 无法实现的。
相关概念
- Claude Managed Agents
- Brain-Hands 解耦
- Checkpoint
- Agent Runtime Protocol
- 工作记忆与完整会话
- 上下文压缩
- Context Anxiety
- Prompt Prefix Caching
- LLM Wiki〔待补〕
- 知识编译〔待补〕
- 文件作为协议〔待补〕
参考资料
被这些概念引用
来自本站知识库 · 全部概念