上下文是一次模型调用可见的信息集合,记忆是跨调用保存并可检索的状态,技能是可按需加载的流程知识与资源。三者都影响后续动作,但生命周期和治理方式不同。把全部历史直接留在上下文,会同时制造成本、冲突和注意力稀释。
本章再用控制权划分三层。上下文装配器决定本轮给模型看什么,记忆系统决定哪些经验跨运行保留,技能发布流程决定哪些程序性知识可供许多任务复用。模型可以建议检索、写入或加载,真正的状态变更仍由对应控制面校验。一句自由文本不能同时充当事实、长期记忆和操作规程。
1. 信息生命周期
1.1. 工作状态
3.1-上下文工程与状态压缩讨论选择、排序、压缩和来源保留。工作状态优先保存当前目标、约束、未决问题与最近观察。
上下文装配是一项预算分配问题。系统指令、用户约束、工具定义、任务状态、检索证据和近期轨迹共同竞争窗口。优先级由任务依赖、权威性、时效和不可恢复性决定,不按消息时间简单截断。
1.2. 持久状态
3.2-长期记忆与技能区分事件、事实、偏好和流程,并讨论写入与读取策略。
持久状态需要来源、时间、作用域和版本。一次运行中的推测不直接成为长期事实,成功轨迹也不直接成为技能。记忆写入解决“以后需要知道什么”,技能发布解决“以后遇到这类任务怎样做”,两者使用不同验证流程。
2. 写入和读取
2.1. 写入门控
记忆写入应经过证据、作用域和有效期检查。模型推测不能直接升级为长期事实,工具返回也要保留来源。
写入还要处理去重、合并、冲突和遗忘。新观察与旧事实一致时更新证据和时间,互相矛盾时保留版本关系并降低当前确定性,过期或被用户撤销时从默认读取集合移除。
2.2. 读取门控
检索命中不等于应进入上下文。系统还需检查任务相关性、时间、权限和与当前事实的冲突。
Just-in-time 检索把信息延后到实际决策需要时加载。基础上下文只保留索引与稳定约束,模型遇到实体、文件或流程缺口时调用读取。这样降低每轮成本,却要求检索动作把未命中与权限拒绝明确返回。
3. 技能边界
3.1. 流程知识
技能封装步骤、脚本、参考资料和验收方式,适合按任务加载。它不应成为绕过工具权限的第二执行通道。
技能表示至少包含名称、触发条件、输入输出、前置条件、步骤、资源、失败处理和验收方法。目录阶段只展示短元数据,选中后再加载正文与资源;脚本仍通过统一工具层执行。
3.2. 与记忆的关系
记忆记录发生过什么,技能规定某类任务怎样做。成功轨迹可以提炼为技能候选,但需要人工或评测验证后再发布。
Voyager 在 Minecraft 中维护可执行代码技能库,并根据任务检索和复用技能,展示了程序性知识怎样跨任务积累。该结果不表示任意成功轨迹都适合沉淀:技能需要抽掉偶然状态,明确依赖,并在新环境验证组合能力。
4. 三层协作的一条轨迹
4.1. 恢复一个中断任务
用户要求继续昨天中断的软件修复。持久运行状态先恢复目标、已确认诊断、工作树版本和未完成验证;上下文装配器不加载整段旧对话,只带入这些状态与相关事件指针。模型发现需要运行仓库测试,于是技能目录匹配到项目验证技能,再按需加载命令、超时和验收说明。
测试返回新错误后,观察进入当前上下文,运行状态更新,长期记忆仍不立即改变。任务完成后,系统可以把“该仓库使用特定测试入口”作为带来源事实更新,把通用验证流程作为技能改进候选。任务里的临时补丁思路和失败猜测随运行归档,不进入默认记忆。
4.2. 长窗口仍然需要分层
若把旧对话、用户偏好、全部工具说明、所有技能和新日志一次放入窗口,模型会同时看到过期计划、互相冲突事实与大量无关流程。Lost in the Middle 的控制实验显示,多文档问答与键值检索会随相关信息位置变化,信息位于长上下文中部时性能常明显下降。窗口容量和信息利用率不是同一指标。
分层系统保留事实源并按需装配。上下文可以丢弃后重新生成,记忆可以更新和遗忘,技能可以版本化发布。三个生命周期分开后,压缩不再等于永久删除,技能修改也不会悄悄改写历史事实。
5. 评测共同口径
5.1. 上下文与记忆
上下文评测固定任务和可用信息,改变预算、位置、压缩与检索策略,测量完成率、约束保留、证据利用、token 和延迟。记忆评测跨会话测写入精度、召回、冲突处理、遗忘与对下游动作的实际贡献。
命中率不足以说明价值。召回一条相关但过期的记忆可能降低任务成功,少召回一条冗余历史反而节省成本。评测需要消融无记忆、原始历史、结构化记忆与不同读取门控。
5.2. 技能
技能评测包含发现、加载、执行、组合和迁移。系统是否选择正确技能,加载后是否遵守前置条件,脚本是否通过权限执行,两个技能组合时输入输出是否匹配,都要分别记录。
还要检查污染与回归:恶意文档能否诱导发布技能,旧技能是否引用失效工具,新版本是否破坏已有任务。技能带来的成功率提升应联合报告上下文成本、工具调用和安全事件。
三层还需要分别设置删除路径。上下文随调用结束即可释放,运行事件按审计周期保存,长期记忆响应用户更正与删除,技能则通过版本撤销停止新加载。把它们放进同一个向量库,会让删除含义、权限与保留周期互相冲突。
实现时应保存跨层引用:上下文片段指向记忆或事件,记忆指向来源 observation,技能实例指向技能版本。模型给出错误答案后,诊断者可以沿引用判断内容未被装配、装配后未被利用,还是来源本身已经过期。这个可追溯链比“模型忘了”提供更准确的修复位置。
本章的核心验收关注 Agent 能否在有限窗口中取得当前需要的可靠状态,跨会话保留应保留的事实,并在遇到重复任务时加载经过验证的流程,同时让过期、冲突和恶意内容无法静默进入后续决策。存储条目数量只描述规模,不能替代这些结果。