上下文连续性
Holon 的 Agent 要跨多个轮次、唤醒、任务和模型调用持续工作。上下文连续性 是一项产品契约:它让 Agent 在不重放整份对话记录的情况下,始终看得见当前 目标、重要结果和来源。
Holon 的做法是把上下文当作运行时投影,而不是聊天日志。持久记录仍然保留, 供审计和恢复使用;每一次模型轮次只拿到经过筛选、有界的一部分“此刻重要的 信息”。
模型看到什么
Holon 的提示词由若干段落拼装而成,各司其职:
| 段落 | 作用 |
|---|---|
| 当前输入与延续锚点 | 唤醒 Agent 的事件,以及它要延续的可信操作者意图。 |
| 当前工作项 | 活动目标、持久计划、todo 列表,以及任何等待状态。 |
| 当前工作引用(work refs) | 运行时为当前工作项推导出的引用:文件、工具、issue、PR、任务、等待、记忆记录。 |
| 相关片段记忆 | 按相关度和预算挑选的已归档完成工作。 |
| 近期运行时证据 | 直接有用时纳入的近期消息、结果简报、任务结果、工具执行和唤醒。 |
| 执行环境 | 当前工作区、运行时能力,以及作用域内的指引。 |
这些段落不是彼此竞争的事实来源,而是运行时证据的投影。持久账本仍然是审计 轨迹,提示词只是用于下一次模型决策的有界视图。当段落内容重叠时,以当前工作 项作为任务生命周期的唯一事实来源;相关片段记忆只是历史证据,不应覆盖活动 工作项的目标、计划、todo 列表或等待状态。
轮次是因果单元
Holon 用运行时轮次作为保持连续性的主要单位。一个轮次就是 Agent 的一次激活: 一条操作者消息、一个任务结果、一次外部唤醒、一次调度器心跳,或一次 provider 恢复尝试。
重点不只在触发源。轮次还会把发生的事情串起来:
- 引发该轮次的操作者输入或外部事件;
- 该轮次中观察到的任务结果或工具执行;
- 为操作者生成的结果简报;
- 工作项更新、等待和完成报告;
- 相关输入的来源与信任分类。
这样相关事实就能保持在一起。例如,一次 CI 唤醒可以显示为原“修复这个 issue” 请求的延续,而不是把该请求替换成最新意图。完成报告也能继续关联它完成的工作 项,而不是变成一段无关的总结。
投影不是截断对话记录
简单的截断在上下文窗口填满后丢掉最旧的文本。对长期 Agent 来说这远远不够: 旧文本里可能有操作者最初意图、已经定下的决策、任务结果事实,或 Agent 正在 等待的原因。
Holon 用的是投影:
- 钉住必须保持权威的内容,例如可信操作者意图、活动工作项状态、等待和 生命周期转换。
- 按延续链、保留优先级和预算挑选有用的近期轮次。
- 折叠低价值的运行时噪声,例如重复唤醒、重试、fallback 尝试、空转的 调度器心跳或反复的 pending 轮询。
- 把较早的已完成工作渲染成结构化片段,带来源引用和权威边界。
结果是更短的提示词,同时仍保留 Agent 为何行动、已经做了什么、哪些证据支持 当前状态。这种基于轮次的上下文投影,就是 Holon 在不渲染无界对话记录的前提 下保持连续性的方向。
压缩保留来源
压缩是让上下文有界的手段,不是改写历史的许可。
较早的轮次范围超出热提示预算后,Holon 可以把它们归档为结构化片段。片段会 记录覆盖的轮次范围、来源轮次 ID、来源引用、决策、结果、验证、未决事项、 操作者意图和模型推断。
默认情况下,提示拼装只会召回覆盖轮次范围早于 recent_turns 窗口的片段。
近期轮次提供当前交互的高保真视图,片段则为不再直接展示的轮次提供压缩的中期
存档。诊断模式可以选择两者都显示,但普通提示应避免重复重放同一份轮次证据。
模型生成的摘要可以帮助描述片段,但它们只是证据,不是权威。它们不会改变输入 的信任级别、覆盖操作者意图、决定工作项状态,也不会决定什么可以丢弃。来源 引用始终可用于审计和恢复。
工作项、任务、简报与最终回答
连续性依赖于把运行时对象区分清楚:
- 工作项 保存持久目标、计划、todo 列表、等待和完成状态。
- 任务 代表受监督的命令或子 Agent。任务结果可以唤醒 Agent,并延续更早的 操作者请求。
- 简报(Brief) 是一个轮次产生的面向用户或面向提示词的输出。一个轮次可以 产生多份简报,包括工作项完成报告。
- 最终回答 是操作者就当前交互看到的内容。它们是投递产物,不是唯一的记忆 机制。
这些对象通过轮次相互关联,因此 Agent 可以回答“那个 issue 我们做了什么”或 “你为什么在等待”,而不用搜索非结构化的对话记录。
面向用户的契约
用户可以依赖这些行为:
- 当前目标和可信操作者意图在唤醒和任务结果延续之间保持可见;
- 活动工作项状态被当作权威运行时状态;
- 压缩保留来源,不会悄悄抹平信任边界;
- 已完成的工作可以通过片段记忆和完成报告召回;
- 提示上下文有界,因此旧的对话文本不会总是被重放。
内部的精确 schema、token 预算和保留评分属于实现细节。对外的契约是:Holon 通过有类型的运行时证据保持连续性,而不是把聊天记录当作唯一记忆来源。
Holon 如何保持工作连续
连续性让 Agent 能够先停下、之后再接着做。有三样东西跟着运行时走,而不是跟着你的 客户端走:
- Agent 保留自己的身份、指导文件和记忆。
- 目标 作为工作项被持续跟踪,连同计划和进度。
- 执行 作为任务继续运行,即使客户端已经断开。
重新连上时,你看到的是当前状态,而不是从头重放。工作结束时,结果以简报的形式 送到你面前。你不需要一直开着终端,工作也会继续。
另见
- 运行时模型 — Agent、工作项、任务与唤醒
- 记忆系统 — 工作项、work refs、片段记忆、持久账本与搜索
- 信任边界 — 来源与信任分类
- RFC:基于轮次的上下文投影
- RFC:长期上下文记忆
