RedinGhost's picture
Publish curated static research mirror
6f4aa22 verified
|
Raw History Blame Contribute Delete
36.1 kB

Context Continuity 调研结论与产品需求文档

版本:0.1 冻结日期:2026-08-28 产品阶段:Codex public beta;产品效果尚待真实三臂评估

给普通用户的四句话

  1. 这个插件会在 Agent 压缩上下文、恢复旧任务或把工作交给另一个 Agent 前后,自动保护那些一旦丢失就会让工作走偏的信息。
  2. 大多数时候用户不会看到它;只有恢复出错、目标或权限不确定、工作对象版本变化时,用户才会看到修复提示或一个必要问题。
  3. 不使用它,Agent 仍能继续说话和执行,但可能继续旧目标、忘记纠正、把争议写成共识,或在错误版本上重复工作。
  4. 宿主自带的长上下文、摘要和记忆主要解决“还能看到什么”,没有同时保证来源、时序、覆盖、冲突、工作版本和压缩前后动作等价。

1. 一句话产品定义

Context Continuity 是一个本地优先、默认静默的 Agent 插件:它在有损上下文转换前保存最小的、带来源的任务不变量,转换后核验恢复结果,并只在不一致会改变目标、范围、授权、工作对象或不可逆动作时要求用户确认。

2. 目标用户和高频使用场景

目标用户

  • 用 Codex 持续完成数小时到数周工程任务的个人开发者和小团队。
  • 经常暂停、恢复、切换模型或把子任务交给子 Agent 的高级用户。
  • 需要保留用户纠正、证据链、版本位置和授权边界的高责任工作。
  • 已经使用用户意图插件或执行防偏插件,希望三者共享同一有效状态投影的用户。

高频场景

  • 长任务触发一次或多次自动压缩。
  • 用户在中途纠正 Agent 或改变目标,随后发生压缩。
  • 项目隔天恢复,工作区或 Git 版本已经变化。
  • 主 Agent 把子任务交给子 Agent,再接收其结果。
  • 从一个 Agent 产品迁移或交接到另一个产品。
  • 检索、摘要或长期记忆提取把旧信息重新拼进当前上下文。

3. 核心问题与非目标

核心问题

有损转换后的 Agent 通常不会显式报错。它会生成一段连贯的新回答,却可能已经:

  • 把旧目标当成当前目标;
  • 遗漏硬约束或授权边界;
  • 复活被用户纠正或覆盖的信息;
  • 丢掉决定的理由,重新打开已经关闭的选择;
  • 把未决分歧压成虚假共识;
  • 引用失效证据,或丢掉证据来源;
  • 在错误目录、分支、提交或文件版本继续;
  • 把“计划做”误记为“已经验证完成”;
  • 选择与压缩前不等价的下一步。

非目标

MVP 不保存完整聊天记录,不构建用户画像,不做跨项目长期记忆,不做向量检索,不替 Agent 规划任务,不决定权限,不拦截工具执行,不调度任务,不提供云同步,不解析隐藏推理,也不成为第二套 Harness。

4. 调研结论:事实、推断与假设

4.1 已确认事实

已确认事实 产品含义 直接来源
即使模型支持长上下文,相关信息位于中间时性能仍可能显著下降。 “保留全部上下文”不等于 Agent 能稳定使用关键不变量。 Lost in the Middle
LongMemEval 把知识更新和应当拒答列为长期记忆核心能力;其研究报告长上下文与商业助手在持续交互记忆上出现明显下降。 连续性协议必须表达覆盖关系、失效和不确定性,不能只做命中率。 LongMemEval
递归摘要能改善长对话一致性,但摘要仍是模型生成的派生物。 摘要可作恢复缓存,不能成为唯一权威来源。 Recursive Summarization
MemGPT 通过分层存储和上下文搬运扩展可用记忆。 分层和搬运解决容量问题,不自动解决来源、冲突与当前有效性。 MemGPT
Generative Agents 使用观察记录、检索、反思和规划,消融实验显示这些部件影响行为。 事件记录与选择性检索有价值,但“反思”是新的模型推断,不能自动晋升为用户事实。 Generative Agents
Codex 插件可打包 Skill、MCP 和 Hooks;当前官方 Hook 文档包含 PreCompact、PostCompact、SessionStart(compact/resume);App Server 可发起并观察压缩。 Codex MVP 能验证真实压缩前后闭环,不必默认依赖压缩后猜测。 插件打包、Hooks、App Server
Claude Code 当前文档列出 PreCompact、PostCompact、SessionStart 的 compact/resume 来源,并支持插件级 Hooks。 第一个跨平台适配器可复用大部分生命周期语义。 Claude Code Hooks
Cursor 当前文档提供 sessionStart、preCompact、transcript_path 和子 Agent Hooks;preCompact 明确是只读观察,文档未列出 postCompact。 可在压缩前保存,但压缩后只能用会话 epoch、状态摘要和下一回合信号推断,保证弱于 Codex。 Cursor Hooks
Gemini CLI 的 PreCompress 异步触发,不能阻止或修改压缩;SessionStart 只列 startup/resume/clear。 可以保存近实时状态,但不能保证写入先于压缩完成,也没有直接压缩后配对点。 Gemini CLI Hooks
CodeBuddy Code v1.16.0+ 文档列出 PreCompact、PostCompact、SessionStart(compact/resume),但 Hooks 标为 Beta;Agent SDK 与 WorkBuddy 桌面产品是不同能力面。 CodeBuddy 可做实验适配;不能把 SDK 回调能力外推成所有 WorkBuddy 表面都可用。 CodeBuddy Hooks、插件参考

4.2 基于证据的推断

  • 任务连续性失败的核心不是“文本不够多”,而是当前有效状态缺少可核验的来源、覆盖和工作位置。
  • 摘要、检索和长期记忆都应被当成候选信息通道;只有能够追溯到用户事件或当前证据的项,才能进入有效投影。
  • 目标、硬约束和纠正的缺失通常立即降低回答质量;工作对象、完成状态和决定理由的缺失更常在后续执行中暴露,返工成本更高。
  • 没有压缩后事件的平台仍能提供部分价值,但不能承诺“已核验压缩完成”;产品必须显示能力降级而不是伪造等价闭环。
  • 保存完整 transcript 会扩大隐私、存储和检索成本,同时仍不能判断哪条信息当前有效,因此不应成为默认解法。

4.3 尚未验证的产品假设

  • 在冻结真实任务上,插件能把重大目标或约束偏移率相对宿主原生方案降低至少 50%。
  • 800 token 的默认恢复预算足以覆盖 95% 以上的有效不变量。
  • 用户只在高风险不一致时被询问,能把中断率控制在 5% 以下。
  • 独立安装能产生足够可感知价值,而不仅是另外两个插件的内部状态模块。
  • Claude Code 适配器可在不改变核心数据协议的情况下达到 Codex MVP 的主要指标。

这些假设在三臂真实评估完成前均不得写成市场效果宣称。

5. 故障模型

5.1 有损转换、丢失对象和暴露时间

有损转换 最易丢失或改写 首次暴露 典型后果
自动/手动压缩 纠正、分歧、决定理由、覆盖关系、下一步 下一次回答或工具调用 继续旧目标、错误执行
长对话截断 早期目标、授权、证据来源 信息再次被需要时 违反范围、无法解释结论
跨会话恢复 工作位置、完成状态、未决项 恢复后的首个动作 重做、误报完成、改错版本
模型或 Agent 切换 隐含计划、置信度、保留意见 新 Agent 重新规划时 偷偷扩大或缩小目标
子 Agent 交接 委托范围、父任务约束、证据标准 子 Agent 执行或回传时 越权、把候选结论当事实
检索结果重组 时间顺序、反例、被覆盖信息 检索回答或规划时 旧信息复活、选择性证据
对话总结 分歧、不确定性、理由和来源 摘要被后续引用时 虚假共识、错误确信
短期转长期记忆 临时偏好、错误摘要、过期事实 未来无关任务 长期污染、跨项目误用
项目暂停再开始 当前版本、外部状态、下一步 首次编辑、发布或删除 在过期状态上采取不可逆动作

5.2 立即损害与延迟损害

  • 立即损害:当前目标、硬约束、授权、明确纠正、未决分歧和下一步丢失。它们会直接改变下一段回答或第一个动作。
  • 延迟损害:决定理由、证据来源、工作对象版本和已验证完成状态丢失。Agent 可能先表现正常,直到重新选择方案、复查证据、提交或发布时才暴露。
  • 高风险损害:任何影响权限、范围、发布、删除、支付、外部消息或其他不可逆行为的信息丢失。该类不确定性必须暂停并询问。

6. 现有机制覆盖矩阵

机制 实际解决 没有解决 失败残留与成本
更长上下文 延后截断,保留更多原文 中间信息利用、当前有效性、覆盖、冲突 token/延迟高,关键内容仍可能被忽略
平台摘要 用较少 token 延续主题 来源、逐项有效性、证据版本、虚假共识 摘要错误会被后续递归放大
事件日志 保存顺序、来源和可审计历史 直接提供紧凑的当前状态 需要投影逻辑;日志过大会增加存储
检索式记忆 从大量历史中选择相关片段 时间覆盖、缺失检测、检索未命中的事实 召回错误或陈旧命中会污染回答
状态快照 快速恢复某一时刻的投影 快照之后的更新、来源真实性 单快照可能过时或损坏
文件/工作区检查点 恢复可执行资产和版本 用户目标、争议、授权 只能证明工件状态
交接协议 显式传递范围、状态和下一步 发送者的错误、接收后的新变化 手工维护负担;无验证时会传播错误
本插件的最小组合 事件日志提供来源,投影提供当前状态,事件触发快照提供恢复速度,核验处理更新与冲突 不替代宿主推理、权限和完整记忆 增加有限本地状态、Hook 延迟和恢复 token

MVP 只采用最后一行的最小组合,不引入数据库、向量索引、后台模型或完整 transcript。

7. 最小可行产品

7.1 字段进入 MVP 的证伪条件

一个对象只有同时满足以下四项才进入 MVP:

  1. 对应至少一种高代价连续性故障;
  2. 有可靠来源或可验证办法;
  3. 删除它会在冻结案例中改变下一步或最终结果;
  4. 收益高于注入 token、延迟、存储和冲突处理成本。

7.2 最小任务不变量

对象 决策 证据
当前目标 必须保留 丢失会立即改变成功条件和下一步
硬约束与授权 必须保留 丢失可产生越界或不可逆错误
用户明确纠正 必须保留 防止已否定信息复活;必须带 supersedes
当前有效决定及理由 条件保留 仅当理由会阻止重开选择或改变动作时保留
未解决问题与分歧 必须保留 防止摘要制造虚假共识
证据及来源 保留引用和摘要哈希,不保留完整证据 支撑复核,同时控制隐私与 token
当前工作对象和版本 必须保留 防止在错误路径、分支、提交或文件上继续
已验证完成状态 必须保留 防止重做或把计划误当完成
下一步动作 必须保留为动作游标,但转换后必须重验 是压缩前后行为等价的直接 oracle;直接执行旧游标会放大压缩错误
普通闲聊、完整输出、完整 transcript 舍弃 不稳定、成本高,通常不改变动作

7.3 每条状态的最小语义

  • id:稳定项标识。
  • namespace:intent 或 operational。
  • kind:事实、目标、约束、授权、纠正、决定、问题、争议、工作对象、完成状态、下一步等。
  • statement:最短可执行表述。
  • source_ref 与可选 evidence_digest:来源引用及证据摘要。
  • recorded_at:记录时间。
  • status:active、superseded、disputed、unverified。
  • authority:user、verified_evidence、agent_inference;platform summary 和 imported handoff 不直接进入权威集合。
  • verification 与 confidence:已验证程度和不确定性。
  • supersedes:被后续信息覆盖的项。
  • scope:任务及必要的子任务边界。

冲突项并列存在,不通过模型总结强行合并。有效状态是 append-only ledger 的确定性投影,不是某个 Markdown 文件或平台摘要。

8. 用户使用流程

安装与启用

用户从 GitHub marketplace 安装插件,打开 Codex 的 /hooks,检查并信任明确的 Hook 命令。插件随后默认自动工作,不要求用户维护状态文件。

日常使用

  • 普通回合保持沉默,不调用额外模型。
  • 当提示包含目标改变、纠正、硬约束、授权、分歧或完成状态信号时,插件只记录有界来源事件。Agent 推断可作为 unverified 候选写入;若需要用户权威,必须先展示完整、可读、绑定 generation 的提案,再由用户第二条消息精确确认。
  • 用户可说“显示当前连续性状态”查看有效项、来源、缺口和工作版本。

压缩或恢复后

  • 没有动作游标且状态等价:静默继续;存在旧 next_action 时先标记 stale 并重新推导。
  • 可从 ledger 自动修复:显示一条简短修复说明后继续。
  • 有低风险不确定性:标记缺口,继续不依赖该缺口的动作。
  • 影响目标、权限、范围、工作版本或不可逆操作:只问一个必要问题。

纠正、关闭与删除

用户的新陈述先形成可读纠正提案,第二次精确确认后通过新增项覆盖旧项,不改写历史。用户可以对单个任务 off/on、rebuild、reset 或 delete;MCP off/on/reset/delete 都使用“明确请求 → 一次性确认短语 → 第二条原样用户提示”的两阶段流程,诊断 CLI 使用精确 task_ref 二次确认。

9. 任务不变量与数据生命周期

  1. 用户提示或可验证工件变化产生来源事件。
  2. 只有改变动作的状态项增量写入 ledger;写入使用 generation 乐观并发控制。
  3. 投影按 authority、status、supersedes 和 namespace 确定当前有效状态。
  4. PreCompact 生成包含投影摘要、工作区指纹、事件位置和覆盖缺口的最小快照。
  5. 恢复时从 hash-chain ledger 重建投影,与快照和当前工作区比较。
  6. 最多保留三个快照;ledger 达硬上限时拒绝连续性写入,不静默删除历史。
  7. clear 使当前状态失效;MCP reset 追加重置边界,CLI reset 先归档旧目录;delete 只删除经过词法路径和 realpath 双重边界核验的精确任务目录。
  8. 任务状态与长期记忆隔离;任何长期提升都必须重新验证,不由本插件自动完成。

10. 压缩前、压缩时和压缩后

压缩前

  • 由 PreCompact 触发原子快照,不每轮生成摘要。
  • 保存当前投影摘要、ledger 位置、工作对象指纹、下一步、未决项和覆盖缺口。
  • 若 Hook 失败,宿主 fail-open 继续,但插件不得声称这次转换受保护。

压缩时

  • 插件不改写宿主摘要,也不把它当事实来源。
  • 有 PostCompact 的宿主记录配对完成;不可见宿主只记录“压缩结果未知”。
  • 来源、时序、覆盖、冲突和不确定性保留在插件 ledger,而不是压入一段无结构文本。

压缩后

  • 在 SessionStart(compact) 或最接近的恢复入口比较:快照摘要、当前 ledger 投影、工作区指纹和数据根持久性。
  • 分类为 equivalent、repaired、continue_with_markers 或 ask_before_high_risk。
  • 可核验证据自动修复;非阻塞缺口标记;高风险不一致暂停询问。
  • 注入默认不超过 800 tokens,硬上限 1500 tokens;按授权、硬约束、目标、纠正、工作对象、下一步、分歧、完成状态排序裁剪。

11. 跨会话、跨 Agent、模型切换和长期记忆

  • 跨会话恢复:使用相同 task_ref 重建投影,重新核验工作区和数据根;不能只依赖旧摘要。
  • 模型切换:模型是消费者,不改变状态所有权;新模型获得同一最小恢复上下文。
  • 子 Agent 交接:父 Agent 导出带范围和摘要哈希的 capsule;子 Agent 得到的授权不超过父任务;回传结果是 candidate-only,父 Agent 验证后才能写入有效状态。
  • 跨 Agent 产品:适配器只把各平台事件映射到同一核心协议,不复制一套产品逻辑。
  • 长期记忆提取:连续性项只是候选来源;长期记忆系统必须重新验证有效期、范围和来源,单次摘要不得自动提升。

12. Codex 中的实现与使用

普通用户流程

  1. 从 GitHub marketplace 安装。
  2. 打开 /hooks 查看插件 Hook 并选择是否信任。
  3. 正常工作;需要时用自然语言要求显示、纠正、导出或删除状态。
  4. 压缩或重进任务后,通常直接继续;只有材料风险才出现提示或问题。
  5. 卸载时先按任务删除所需状态,再移除插件和 marketplace;插件不会偷偷删除 ledger。

技术实现

  • 插件包:.codex-plugin/plugin.json、Skill、bundled stdio MCP 和 Hooks。
  • Hooks:UserPromptSubmit、PreCompact、PostCompact、SessionStart、SessionEnd、SubagentStart/Stop。
  • 状态核心:本地每任务 append-only hash-chain ledger、原子写、单任务锁、generation 并发控制和确定性投影。
  • MCP:公开八个查询、确认、记录、纠正、快照、handoff 和状态管理工具;读取操作不创建任务状态,公共表面不暴露 provider/token 或 verified-evidence 写入。
  • Skill:告诉 Agent 何时调用 MCP,并明确平台摘要和 imported handoff 的非权威地位。
  • App Server:只用于真实生命周期验证或宿主集成,不能演变成第二套 Harness。

能力边界

分类 Codex MVP
可可靠实现 PreCompact 前快照;PostCompact 配对;compact/resume 恢复注入;本地持久化;真实 manual/auto 生命周期观测
替代方案 没有可用数据目录时使用 volatile 状态并标高风险;App Server 用于验证而非运行依赖
暂不能保证 所有未来 Codex 版本兼容;宿主摘要内容正确;真实 thread/resume 与所有子 Agent 形态;跨设备同步

13. 其他 Agent 的适配方式

核心 ledger、投影、恢复分类、capsule 和数据 schema 保持不变,只替换事件适配层。

平台/表面 原生已支持 插件可控制 只能观察/降级 无法保证
Claude Code 插件 Hooks、PreCompact、PostCompact、SessionStart(compact/resume)、transcript 路径、子 Agent 事件 压缩前写快照、压缩后配对、恢复注入 企业策略可禁用非托管 Hooks 不同版本和云环境的持久目录一致性
Cursor IDE/CLI 插件/项目 Hooks、sessionStart、preCompact、稳定 conversation_id、可选 transcript、子 Agent Hooks 压缩前写快照;sessionStart 注入 preCompact 只能观察;无文档化 postCompact,用 epoch/digest 在下一回合检测 精确判断压缩何时完成;Cloud Agent 早期只读阶段 Hooks
Gemini CLI command Hooks、BeforeAgent、SessionStart(resume)、PreCompress、transcript 路径 BeforeAgent 可注入恢复上下文 PreCompress 异步且 advisory-only;以下一回合和摘要 digest 推断 保存一定先于压缩;直接压缩后事件
CodeBuddy Code v1.16.0+ Beta Hooks、Pre/PostCompact、SessionStart(compact/resume)、插件 Hooks 与 Codex 类似的前后闭环 Beta 接口需版本门槛和契约测试 Beta 稳定性;所有 WorkBuddy 产品表面等价
CodeBuddy Agent SDK SDK 回调与 PreCompact SDK 集成方可主动持久化 需宿主应用自行提供后事件和注入 SDK 能力自动出现在桌面 WorkBuddy
WorkBuddy 桌面/企业 Agent 以实际产品文档和管理员配置为准 只有暴露插件/Hooks 的表面可接入 否则最多通过显式 handoff capsule 内部压缩前后不可见时的强连续性保证

用户差异仅体现在安装、Hook 信任和降级提示;状态查看、纠正、handoff 和删除语义保持一致。第一个适配器选择 Claude Code。

14. 与用户意图插件、执行防偏插件和 Harness 的边界

单一真相

最终有效状态只有一个投影:

  • 用户事件和当前可验证证据是最终权威。
  • 用户意图插件拥有 intent namespace,负责形成和更新目标、约束、授权、纠正、偏好与分歧。
  • Context Continuity 拥有转换事件、工作对象、版本、验证完成状态、快照、恢复核验和 handoff 运输;它不自行改写已绑定的意图。
  • 执行防偏插件只读 execution_guard_view,输出继续、提醒、询问或阻止判断,不回写有效状态。
  • Harness 拥有模型调用、权限、工具执行和生命周期;平台摘要只是不可信缓存。

接口

  • 意图输入必须有不可变 contract_ref、单调递增 contract_version、规范化内容摘要和带来源的状态项。
  • 同版本不同摘要、版本回退或悄悄切换 contract_ref 必须拒绝。
  • 防偏输出读取 contract 版本、阶段、开放承诺、证据引用和捕获时间,不取得状态写权限。
  • 如果意图插件尚未提供稳定版本和规范哈希,自动绑定保持关闭;不能从生成时间或展示文本伪造版本。

是否值得独立

当前判断:独立呈现、底层共享。

独立价值在于:只安装它也能在真实压缩和恢复后保护目标、工作位置和下一步;用户无需安装执行阻断或完整意图建模。它同时适合作为另外两个插件共享的状态与生命周期基础模块。

证伪门槛是:若真实三臂评估不能在宿主原生能力上减少偏移和返工,或用户只把它感知为 Hook 包装,应停止独立市场扩张并降为共享基础模块。即使平台未来内置摘要和记忆,独立价值仍可能存在于跨平台状态协议、来源/覆盖核验、可移植 handoff、版本证据和供应商无关评估;若平台也原生提供这些保证,则应缩减或退出。

15. 防止插件反过来限制 Agent

  • 不每轮摘要;只在状态变化信号和有损转换事件上增量处理。
  • 用户新意图优先,通过新增项与 supersedes 生效;旧快照不能覆盖新用户事件。
  • Agent 可以探索假设和改变判断,但推断保持 agent_inference/unverified,不能偷偷改变用户目标。
  • 单一 ledger 投影是插件间接口;宿主摘要、状态文件和长期记忆没有并列最终所有权。
  • 普通回合不调用模型;恢复上下文 800/1500 token 预算;每任务 ledger、快照、事件和活动项都有硬上限。
  • 无风险、无转换、无状态变化时保持沉默。
  • 明确 clear/reset、任务身份变化、工作区不匹配或 contract_ref 变化时丢弃旧有效投影并重建。
  • Hook 和 MCP 失效时宿主 fail-open,仍可正常工作;只撤销“受连续性保护”的保证。

16. 隐私、存储、删除和数据保留

  • 默认本地、任务作用域、无网络、无遥测、无运行时依赖。
  • 不复制完整 transcript、隐藏推理、完整工具输出或项目文件。
  • 每条非空提示保存 SHA-256、长度和信号;只有连续性风险信号才保存最多 512 字符脱敏片段。它不能证明规范化语义。用户权威必须由用户第二次精确确认完整提案;普通提示不保存正文,也不复制完整提示或 transcript。
  • 常见凭据模式在落盘前脱敏,但脱敏不是秘密管理器。
  • 最多三个快照、每任务 8 MiB ledger、2000 个事件、128 个活动项;超限拒绝连续性写入,不隐式删历史。
  • 30 天只是建议清理期,不后台自动删除。
  • MCP reset/delete 需要一次性挑战和第二条原样用户确认;CLI 需要精确任务引用二次确认;路径删除必须通过词法路径和 realpath 核验证明目标位于插件数据根。
  • 卸载不默认删除用户 ledger;市场测试环境应在卸载前显式清除合成数据。

17. 失败模式与降级方案

失败 检测 降级
PreCompact 未运行或写入失败 无匹配快照/Hook 错误 宿主继续;标记未保护,不声称恢复等价
PostCompact 缺失 transition epoch 无完成事件 continue_with_markers;高风险动作前询问
ledger 哈希损坏 hash-chain 校验失败 连续性恢复 fail-closed;宿主低风险工作 fail-open
快照过时 ledger generation 晚于快照 从较新可核验投影 repaired 恢复
平台摘要含错误 与有效投影冲突或无来源 作为候选丢弃/标记,不覆盖
旧信息被新信息覆盖 supersedes/status 只投影新项,保留审计历史
外部意图回滚或碰撞 version/hash/ref 校验 拒绝绑定,保持最后可验证版本
工作区或 Git 指纹变化 当前指纹不等于快照 已完成状态变 stale;高风险动作询问
数据目录不可持久 data-root capability 标记 volatile,高风险恢复询问
子 Agent 返回错误 candidate-only、来源/证据复核 不直接改变父任务有效状态
token 超限 确定性预算器 按风险裁剪并公开 omitted count
插件完全失效 Hook/MCP 非零或超时 fail-open 宿主;不执行隐式拦截

18. 可证伪评估方案与成功指标

评估集

冻结 30 个任务:自动压缩、多次压缩、用户改目标、用户纠正、未解决分歧、长暂停恢复、跨 Agent 交接、摘要错误、旧信息被覆盖、原始对话不可保留十类各两个单项案例,再加十个复合案例。

优先使用真实历史任务和真实用户纠正;缺口使用具有确定性验收条件的合成任务。每个案例冻结模型、工具、工作区、输入、压缩点和 oracle。

三臂

  1. 完整上下文、不压缩;
  2. 只使用宿主原生压缩或记忆;
  3. 使用 Context Continuity。

Oracle

由可检查约束、文件/工具结果、Git 或资源版本、证据引用、用户纠正记录和真实任务完成情况组成。模型评审只能辅助归类,不能单独决定成功。

指标与预注册门槛

  • 关键目标、硬约束和授权保留率 100%;全部有效不变量加权保留率至少 95%。
  • 下一步动作等价率至少 90%。
  • 重大目标或约束偏移率相对原生方案下降至少 50%。
  • 错误或已失效信息恢复率不高于 1%。
  • 每次转换注入 P50 不超过 800 tokens、P95 不超过 1500 tokens。
  • 无转换普通回合不调用额外模型,用户中断率不高于 5%。
  • 记录压缩后返工工具动作/人工分钟和恢复时间。
  • 最终用户接受率比原生方案提高至少 10 个百分点,且不以高风险误拦截换取。

协议 fixture、单元测试、Hook 次数和模型评分不能证明效果。当前版本已有真实生命周期技术证据,但真实三臂效果仍是 NO RESULT。

19. MVP 明确不做什么

  • 不提供通用记忆数据库、语义搜索或用户画像。
  • 不自动读写长期记忆。
  • 不备份或重放完整对话。
  • 不自动判断并改写用户意图。
  • 不阻止工具、不做权限或合规引擎。
  • 不提供任务看板、计划器、工作流编排或后台 daemon。
  • 不做云服务、账户系统、遥测、团队同步和 UI dashboard。
  • 不承诺所有 Agent 产品达到 Codex 同级保证。
  • 不向 Codex universal plugin directory 宣称 GA,直到真实三臂和独立 dogfood 通过。

20. 单点工期估算

共同假设

  • 一名熟悉 Agent 插件、本地状态系统和 Node.js 的高级工程师。
  • 每工作日 8 小时。
  • 已有一台 Windows 和一套 POSIX 测试环境。
  • Codex 当前 Hooks/插件/App Server 接口可用。
  • 不含公开市场人工审核等待。
  • 完成标准包括源码、测试、可复核真实生命周期收据、安装/卸载路径、隐私说明和发布文档,不以“代码写完”代替。

Codex 可验证原型:12 个工作日

工作 天数
官方能力与故障案例冻结 2
最小状态协议与来源/覆盖投影 2
ledger、Hook、MCP 最小闭环 4
真实 manual/auto 压缩验证 3
插件打包与原型说明 1

Codex MVP:28 个工作日

工作 天数
可验证原型 12
并发、损坏、路径、容量和脱敏硬化 5
resume、clear、subagent 和降级生命周期 4
30 例协议评估与可复现 oracle 3
安装、升级、卸载及跨平台 CI 1
隐私、支持、开源与发布文档 3

首个 Claude Code 适配器:9 个工作日

工作 天数
Hook/schema 映射与版本门槛 2
数据目录和任务身份适配 2
Pre/PostCompact、resume 和子 Agent 生命周期 2
插件安装/卸载与用户文档 1
Windows/POSIX 契约与真实生命周期测试 2

21. 发布判断

  • 独立可感知价值:技术上成立,真实压缩后可恢复最小状态;效果增益尚未测定。
  • 共享基础模块价值:成立,最适合承载三插件共享的来源、版本、覆盖、快照和恢复协议。
  • 独立安装方式:public beta 保留,便于只需要连续性、不需要意图建模或执行阻断的用户。
  • 最终状态所有权:一个投影,不是三个插件各一份;意图插件拥有 intent,连续性拥有 lifecycle/operational,防偏只读。
  • 当前市场结论:可以发布 GitHub public beta;不能宣称 GA 或已证明降低返工。
  • 下一道产品闸门:完成真实三臂和独立用户 dogfood。未达门槛则降为共享基础模块。

22. 可复制的实施 Goal 提示词

这段提示词是独立交付物。不要在仅阅读或规划它的任务里调用 create_goal、自动执行 Goal 或提前编写代码;只有用户明确要求实施后才开始。

目标:根据 Context Continuity PRD 实现 Codex 版本的最小可验证闭环,并用真实压缩生命周期验证。产品只保护跨有损转换会改变后续动作的任务不变量,不扩展为完整记忆平台、任务管理器、权限系统或第二套 Harness。

开始前:
1. 冻结 PRD、当前 Codex 官方插件/Hook/App Server 文档、CLI 版本、测试模型和工作区。
2. 先做决策门槛:确认当前 Codex 确实提供 PreCompact、PostCompact、SessionStart(compact/resume) 和插件打包能力;不存在的能力必须降级并标为未验证,禁止虚构 Hook。
3. 不调用 create_goal。先输出实现计划和风险;收到用户明确实施授权后再写代码。

最小架构:
- 一个本地、任务作用域、append-only、hash-chain ledger 和确定性有效状态投影。
- 每条状态表达 id、namespace、kind、statement、source_ref、recorded_at、status、authority、verification/confidence、supersedes、scope。
- intent namespace 可由外部用户意图插件拥有;连续性插件不得悄悄改写它。
- operational/lifecycle namespace记录工作对象指纹、验证完成状态、下一步、转换事件、快照和恢复结果。
- 平台摘要、Agent 推断、检索结果和 imported handoff 默认 candidate-only。
- generation 乐观并发、原子写、单任务锁;不做 last-write-wins。

生命周期:
- UserPromptSubmit 只记录来源和变化信号,普通回合不调用额外模型。
- PreCompact 原子生成最小快照。
- PostCompact 记录配对完成;缺失时标记未知,不伪造完成。
- SessionStart(compact/resume) 比较快照、最新 ledger 投影、工作区指纹和持久目录,分类为 equivalent、repaired、continue_with_markers 或 ask_before_high_risk;所有旧 next_action 先失效并重新推导。
- 可核验信息自动修复;低风险缺口标记继续;影响目标、权限、范围、工作版本或不可逆动作时询问用户。
- 子 Agent capsule 限定范围和授权;回传只作候选。
- Hook/MCP 失败时宿主 fail-open;ledger 损坏只使连续性恢复 fail-closed。

接口:
- 公开提供查询、提案确认、记录、纠正、handoff 导入/导出和精确状态管理;外部意图绑定只保留内部适配协议,不通过公共 MCP 暴露。
- 读取不得创建持久状态。
- 未来外部 contract 必须由模型不可见、持有运维凭据的宿主 adapter 提供稳定 ref、单调 version、规范 snapshot sha256 和 items_digest;拒绝版本回退、同版本任一内容碰撞和无 reset 的 ref 切换。模型或用户不能提供该凭据。
- 为执行防偏插件提供只读、最小 execution_guard_view,不授予写权限。

隐私与成本:
- 默认本地、无网络、无遥测、无运行时依赖。
- 不保存完整 transcript、隐藏推理、完整工具输出或项目文件。
- 每条非空提示保存哈希、长度和信号;只有连续性风险信号才保存最多 512 字符的
  脱敏片段,普通提示不保存正文,也不复制完整提示或 transcript。
- 默认恢复预算 800 tokens、硬上限 1500;公开 omitted count。
- 对 ledger、事件、快照、活动项、单次写入和 handoff 设置硬上限,不静默扩容或删除历史。
- MCP reset/delete 使用一次性挑战和第二条原样用户确认;CLI 使用精确 task_ref 二次确认;删除验证词法路径与 realpath 均位于数据根。

测试:
- 单元和故障测试覆盖来源、supersession、冲突、并发、hash 损坏、原子写恢复、路径穿越、脱敏、容量、token 裁剪、外部 contract、只读查询和 candidate-only handoff。
- Hook/MCP smoke 测试使用真实 stdio JSON。
- 安装后的缓存包必须完成跨进程写入/恢复、Skill 与许可证可读、脱敏和两阶段精确删除 E2E。
- 至少验证一次真实手动压缩和一次真实自动压缩,并观察 PreCompact、PostCompact、SessionStart(compact) 与 App Server contextCompaction started/completed;若自动压缩无法可靠触发,明确降级为未验证,不能用模拟替代。
- 另行建立 30 例、三臂真实评估:不压缩、宿主原生、插件。Oracle 使用可检查约束、文件/工具结果、版本、用户纠正和真实完成状态;模型评分只能辅助。

验收:
- 官方插件 validator、仓库 validator、全测试、Hook/MCP smoke、依赖审计、Windows/POSIX CI 通过。
- 真实生命周期收据不包含原始提示、线程 ID、秘密或本机绝对路径。
- 安装、升级、卸载和数据删除说明可由首次用户执行。
- 技术发布与产品效果分开:生命周期闭环通过可发布 beta;真实三臂门槛未通过前不得宣称降低偏移或返工。
- 最终报告列出精确测试数、真实事件证据、已知限制、未验证项、回滚/卸载结果和是否达到 beta/GA 门槛。