上下文连续性

Holon 的 Agent 要跨多个轮次、唤醒、任务和模型调用持续工作。上下文连续性 是一项产品契约:它让 Agent 在不重放整份对话记录的情况下,始终看得见当前 目标、重要结果和来源。

Holon 的做法是把上下文当作运行时投影,而不是聊天日志。持久记录仍然保留, 供审计和恢复使用;每一次模型轮次只拿到经过筛选、有界的一部分“此刻重要的 信息”。

模型看到什么

Holon 的提示词由若干段落拼装而成,各司其职:

段落作用
当前输入与延续锚点唤醒 Agent 的事件,以及它要延续的可信操作者意图。
当前工作项活动目标、持久计划、todo 列表,以及任何等待状态。
当前工作引用(work refs)运行时为当前工作项推导出的引用:文件、工具、issue、PR、任务、等待、记忆记录。
相关片段记忆按相关度和预算挑选的已归档完成工作。
近期运行时证据直接有用时纳入的近期消息、结果简报、任务结果、工具执行和唤醒。
执行环境当前工作区、运行时能力,以及作用域内的指引。

这些段落不是彼此竞争的事实来源,而是运行时证据的投影。持久账本仍然是审计 轨迹,提示词只是用于下一次模型决策的有界视图。当段落内容重叠时,以当前工作 项作为任务生命周期的唯一事实来源;相关片段记忆只是历史证据,不应覆盖活动 工作项的目标、计划、todo 列表或等待状态。

轮次是因果单元

Holon 用运行时轮次作为保持连续性的主要单位。一个轮次就是 Agent 的一次激活: 一条操作者消息、一个任务结果、一次外部唤醒、一次调度器心跳,或一次 provider 恢复尝试。

重点不只在触发源。轮次还会把发生的事情串起来:

这样相关事实就能保持在一起。例如,一次 CI 唤醒可以显示为原“修复这个 issue” 请求的延续,而不是把该请求替换成最新意图。完成报告也能继续关联它完成的工作 项,而不是变成一段无关的总结。

投影不是截断对话记录

简单的截断在上下文窗口填满后丢掉最旧的文本。对长期 Agent 来说这远远不够: 旧文本里可能有操作者最初意图、已经定下的决策、任务结果事实,或 Agent 正在 等待的原因。

Holon 用的是投影:

  1. 钉住必须保持权威的内容,例如可信操作者意图、活动工作项状态、等待和 生命周期转换。
  2. 按延续链、保留优先级和预算挑选有用的近期轮次。
  3. 折叠低价值的运行时噪声,例如重复唤醒、重试、fallback 尝试、空转的 调度器心跳或反复的 pending 轮询。
  4. 把较早的已完成工作渲染成结构化片段,带来源引用和权威边界。

结果是更短的提示词,同时仍保留 Agent 为何行动、已经做了什么、哪些证据支持 当前状态。这种基于轮次的上下文投影,就是 Holon 在不渲染无界对话记录的前提 下保持连续性的方向。

压缩保留来源

压缩是让上下文有界的手段,不是改写历史的许可。

较早的轮次范围超出热提示预算后,Holon 可以把它们归档为结构化片段。片段会 记录覆盖的轮次范围、来源轮次 ID、来源引用、决策、结果、验证、未决事项、 操作者意图和模型推断。

默认情况下,提示拼装只会召回覆盖轮次范围早于 recent_turns 窗口的片段。 近期轮次提供当前交互的高保真视图,片段则为不再直接展示的轮次提供压缩的中期 存档。诊断模式可以选择两者都显示,但普通提示应避免重复重放同一份轮次证据。

模型生成的摘要可以帮助描述片段,但它们只是证据,不是权威。它们不会改变输入 的信任级别、覆盖操作者意图、决定工作项状态,也不会决定什么可以丢弃。来源 引用始终可用于审计和恢复。

工作项、任务、简报与最终回答

连续性依赖于把运行时对象区分清楚:

这些对象通过轮次相互关联,因此 Agent 可以回答“那个 issue 我们做了什么”或 “你为什么在等待”,而不用搜索非结构化的对话记录。

面向用户的契约

用户可以依赖这些行为:

内部的精确 schema、token 预算和保留评分属于实现细节。对外的契约是:Holon 通过有类型的运行时证据保持连续性,而不是把聊天记录当作唯一记忆来源。

Holon 如何保持工作连续

连续性让 Agent 能够先停下、之后再接着做。有三样东西跟着运行时走,而不是跟着你的 客户端走:

重新连上时,你看到的是当前状态,而不是从头重放。工作结束时,结果以简报的形式 送到你面前。你不需要一直开着终端,工作也会继续。

另见