Skip to content

[设计] 统一 Chief 与工作角色的上下文预算、长期记忆整理及会话恢复机制 #2177

Closed

Description

@zy95-12

Written-by: Codex

背景与关联

用户已确认:长期记忆不应无限增长或全量塞入上下文;Chief 与临时角色应共享可控的上下文管理机制。
关联 #2175(角色协作、持久化交接、打回续接)、#2170(独立个人代理)、#2171(项目与角色治理)。

本单记录已确认的设计与验收要求,暂不启动实现或部署。实施前核对当前分支与主仓既有能力,优先复用 FlyBot 的记忆、检索、摘要与 SDK 恢复机制,不另建平行存储或调度体系;不宣称本单设计已经实现。

核心边界

长期保存的资料与每轮送入模型的上下文分离。可长期保留原始历史,但每轮仅注入当前工作需要、且当前身份有权读取的内容。预算控制不以删除可追溯历史为代价。

四层内容

  1. 角色约定:职责、权限、协作规则;短小、版本化,作为固定上下文。与经验记忆分开,不能被摘要或检索结果覆盖。
  2. 长期记忆:已确认的经验、项目事实、关键决策;分类保存,按当前任务检索,不全量注入。
  3. 工作摘要:当前进展、未解决问题、下一步及证据引用;执行期间更新、合并重复过程。
  4. 原始历史与产物:对话、工具输出、日志、代码与测试结果;持久化保留,按权限和引用读取。

记忆整理

  • 对同一事实更新有效条目,合并重复经验;过时内容归档,保留来源与历史依据。
  • 每条记忆至少有来源、适用范围、更新时间;区分已确认事实、推断、未决事项及相互冲突的结论。
  • 设置条目/摘要/检索注入的长度或 token 预算,避免整理后的“摘要”自身持续膨胀。
  • 执行 Bot 可沉淀经验;经验不能自行升级成权限、职责或协作规则。角色定义变更仍按 Chief 提议、Maintainer/Owner 同意处理。
  • 个人代理私有记忆不自动进入项目或角色共享记忆,检索与引用解析保持项目、用户和角色可见性边界。

上下文预算

  • 统一配置模型窗口、固定约定、检索记忆、工作摘要及当前输入的预算,并为工具结果、输出及协议开销预留空间。
  • 预算随模型/Harness 能力配置,不能写死一个适用于所有模型的 token 数;实施时明确 token 计量或保守估算方式。
  • 达到配置阈值时提前触发整理、减少检索或分段读取,而非等溢出后重开 Session。
  • 对长日志、文件和产物使用可追溯引用及有界读取;限制单次工具结果进入上下文的大小。
  • 不能为满足预算静默删除关键权限/用户约束,不能把无法容纳的必需信息伪装成已完整加载;显式报告预算/恢复问题。
  • 提供可观测信息:各层预算与实际/估算用量、检索来源、摘要版本、整理触发原因。不得因此泄露私有原文。

工作摘要与恢复

摘要至少保留:

  • 用户要求和不可违反的约束;
  • 已确定的结论、未解决问题与分歧;
  • 当前代码版本、修改范围及验证结果;
  • 阻塞、下一步以及原始证据引用。

摘要不把“未验证”写成“通过”,不抹去失败、异议或权限边界。保留摘要来源/覆盖范围与版本,以便查回原始记录;整理中断不覆盖最后一份有效摘要。

Chief

Chief 是项目常驻协调者,按议题维护工作摘要,定期整理长期记忆,读取相关项目状态和检索结果;不依赖无限增长的单段对话来维持项目连续性。

Dev / Reviewer / Tester 等临时角色

按 Task-role 保留逻辑 Session、工作摘要和历史引用。新执行进程/Attempt 不等于新对话。
打回时 resume 该角色处理同一任务的原 Session,并读取本次交接增量;不能用来源角色全量对话替代目标角色自己的上下文。
SDK 自身压缩可以配合使用,但不能代替 FlyBot 的记忆、证据、交接及恢复记录。无法 resume 时遵守 #2175:明确暴露恢复问题,保留历史,不静默启动空上下文并声称已恢复。

验收与测试

  • 长历史、重复事实、过时事实和超大工具结果场景下,注入上下文保持在配置预算内,保留必需约束。
  • 去重、更新、归档后能追溯原始证据,不丢失分歧或将未验证结果转成成功。
  • 检索及引用读取覆盖跨项目/跨用户隔离和个人代理私有记忆隔离。
  • 主动整理发生在溢出前;摘要失败/中断保留上一有效版本,并显式暴露问题。
  • Chief 跨多个议题执行后仍能恢复项目进展与未决事项。
  • Dev → Tester → 打回 Dev,断言恢复 Dev 原上下文、摘要与交接增量;分别记录逻辑 Session、实际 SDK 会话和 Attempt。
  • SDK 压缩与 FlyBot 摘要共存,不重复放大同一内容,不虚构 SDK 跨 Harness 恢复能力。
  • 用测试替身验证预算、隔离、整理和恢复分支;另用真实长任务记录实际 SDK 恢复、摘要与检索效果,区分“测试通过”和“真实任务可用”。
  • 同步项目长期记忆、架构/子系统文档、接口/配置说明及变更记录,说明哪些为现有能力、哪些为本次补齐。

范围

统一 Chief 与工作角色的上下文预算、记忆整理和恢复机制。暂不引入新的大规模知识平台,不改 control-plane,不重启或打断现有前端自主开发流程。整理策略的触发阈值与具体预算作为可配置实现参数,不在本单预设所有模型相同限额。

Activity

  1. zy95-12 commented on Nov 2, 2026

    @zy95-12
    CollaboratorAuthor

    Written-by: Codex

    按用户授权继续实施 feat/2177-bounded-role-context,基于#2175分支439a41c0e(PR #2210)。已核对原生parts/steward与记忆机制、当前roleContext的48k字符/8k检索限制和SDK Task-role续接基础。将复用原检索/归档/角色定义与会话记录,补齐按模型/Harness配置的预算、可观测用量、受控记忆整理和工作摘要;必需约定装不下时明确失败,不以丢历史或静默新会话掩盖。原生角色Session恢复将与#2184验收衔接。无部署/控制面改动,不中断前端。

  2. zy95-12 commented on Nov 2, 2026

    @zy95-12
    CollaboratorAuthor

    Written-by: Codex

    本项实现已提交 Draft PR #2225,head 6ebc706,基于 #2210。最终全量 verify4559通过、0失败、0跳过;4个上下文模块行覆盖100%,分支73.47–91.54%。另有实际 Codex 两轮代码修复/原SDK会话续接/工作摘要/独立host测试/停止退出9项验证通过,runtime source a9ff63b(最终提交仅测试与文档变化)。真实验证不是完整Chief/角色池或原生物理会话恢复验收。文档、长期记忆、变更记录均带入;未部署或打断前端。相关原生续接/存储/公开协议剩余验收继续在 #2184/#2182/#2185,issue不据此关闭。

  3. zy95-12 commented on Nov 2, 2026

    @zy95-12
    CollaboratorAuthor

    Written-by: Codex

    原 PR #2225 已更新到410127580e41eb8c446e114a70d3c03bb82abf82,未另开替代 PR。#2179真实DSH连续接纳暴露常驻native Chief的旧system prompt事实未刷新:第二次输出引用旧Task,作用域栅栏拒绝执行。已改为同一个常驻Session每轮实际输入携带当前协议/事实,并做完整预算与发送前权限检查;有baseline-red和两轮回归。最终全量verify4560/0/0(DSH4),agent43/43。#2179当前接纳验证中两个Task都已正确接纳;配额/子任务完整验收继续在其分支,不冒充已完成。实际Codex证据仍明确对应a9ff runtime,不借用为本轮native全流程证明。

  4. zy95-12 commented on Nov 3, 2026

    @zy95-12
    CollaboratorAuthor

    按 Owner 要求阶段关单:对应 PR #2225 已 squash 合入 delivery/ai-centric-development-service,合并提交 ecfd9b87d25f178d74347ef3468ab6684678ba22。

    最终集成提交 f95946fce81ad020cb6dd568c34efe9eb5d2f5be 的完整文件树与已通过 4726 项完整验证的源码 d720f8cced5b09d79123e979de1d448584b94fb6 完全一致。

    所有已确认功能缺口和未完成的真实任务/运行验收统一迁移至 #2292,继续保持 open。本次关闭表示已实现部分的阶段归档,不表示本 issue 原有所有验收项均已完成;不修改未验证的 checklist。未部署或重启服务。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions