Files
goodbuddy/docs/features/conversation-supervision/storyline-model-design.md
T

6.2 KiB
Raw Blame History

故事线模型改造设计

状态:2026-10-02 已确认的目标设计。第 1 步(共享时间线、事件起止与密度、跨项目开关)、第 2 步(故事归属与用户调整)、第 3 步(时间螺旋视图)、第 4 步(经验抽取)和第 5 步(心跳故事建议、MCP 故事与经验查询、工作回顾按故事组织)已实现,见实施进度。本文定义监督回顾如何产出下一版故事线(时间螺旋、分层故事木片、经验 W),是 3D 故事线图谱概念 的数据来源合同。现有回顾流程见回顾分块调度设计,现有图谱工具见 Story Graph MCP 设计。

1. 结构总览

层 含义 来源
全局(根) 整条时间螺旋本身,即用户的全部经历;不是一片木片 所有来源
项目木片 按会话所属项目划分;无项目归属的内容进入“未归属项目” 会话归属,确定性,不调用模型
跨项目故事 同时涉及多个项目或不属于任何项目的长期事情,例如长期偏好、学习方向 故事归属阶段
功能木片 项目内的长期功能或主题 故事归属阶段
子线索 事件量足够大的功能再拆分;小功能不拆 故事归属阶段
经验 W 从故事中形成、可复用到其他故事的经验,默认是全局对象 经验抽取阶段

全局不作为单独的“全局记忆”重复处理:它是根视图,读取同一套事件、故事和经验。查看某个项目时,只是以该项目为过滤条件。

2. 已确认的决定

编号 决定
SL-1 层级为 全局 › 项目 › 功能 › 子线索;子线索仅在功能事件量达到阈值时出现,阈值可在设置中调整
SL-2 跨项目或无项目的长期事情,作为全局根下的“跨项目故事”,与项目木片并列
SL-3 每个事件只归属一个主故事,可另外关联其他故事;关联不影响木片的长度和密度统计
SL-4 经验自动生成即可供 Agent 读取,不设确认门槛;标记“自动归纳”,用户可以编辑、合并、删除
SL-5 用户对故事和经验的调整(改名、合并、拆分、移动事件、编辑、删除)受保护,后续回顾不覆盖;删除的对象不会因同一证据再次生成
SL-6 注意力密度按来源统计:时段内的消息轮次与正文量,不由模型判断;只表示投入集中程度
SL-7 每个来源版本只提取一次,项目与全局共用提取结果和增量进度
SL-8 设置提供“跨项目关联”,默认关闭。关闭时新内容只关联本项目已有的知识;开启后可关联其他项目中的同一件事,跨项目故事也只在开启时生成

3. 回顾流程改造

采集来源(按来源版本增量)
  ↓
批次提取:事件带开始/结束时间(取原始消息时间)、来源引用
  ↓
故事归属(新增,不读原文)
  · 项目:按会话归属确定
  · 功能/子线索/跨项目:召回候选故事 → 一次模型调用判断归入已有、新建或暂不归类
  ↓
经验抽取(新增,低频,不读原文)
  · 规则挑候选:有明确结果的决定、多个故事中重复出现的做法、说明原做法问题的修订
  · 有候选时一次模型调用:经验内容、形成依据、适用条件、边界
  · 记录后续应用及结果
  ↓
导航摘要 → 发布

规则:

  • 故事跨回顾保持同一身份,沿用实体候选编号机制;长时间无事件的故事能被接回,不新建。
  • 故事状态(进行中、已结束)必须有内容依据;长期无事件只标“暂无进展”,不推断结束。
  • 允许“暂不归类”,不为凑层级强行归组;暂不归类的事件在项目下以淡色木片显示。
  • 经验的每条依据必须对应到具体事件和来源,否则不保存;没有候选时不调用模型。
  • 新增阶段失败时,已发布的提取结果和处理进度保留,可单独重试该阶段。

4. 用户调整

图谱是可编辑的结果,不需要逐条审批:

  • 故事:改名、合并、拆分、调整层级、把事件移到其他故事。
  • 经验:编辑内容与适用条件、合并重复、删除。
  • 入口位于故事线图谱的详情面板与 3D 视图选中对象的详情中,共用同一组操作。
  • 每次调整可撤销,并记录在活动记录的修改记录中。

5. 展示与使用

  • 故事线图谱新增 3D 视图,与现有平铺视图并列,几何、时间尺度、聚合规则沿用 3D 概念;Three.js 仅在打开 3D 视图时加载,WebGL 不可用时使用平铺视图。
  • MCP 增加按故事、按经验查询;经验返回时附“自动归纳 / 用户编辑”标记和依据。
  • 心跳建议增加“故事长期无进展”和“已有经验可能适用于当前故事”。两者都由规则选出:前者按设置的天数判断,只提示不改状态;后者要求共享不过于通用的实体。每次心跳各最多 3 条,排在未决事项之前。
  • 工作回顾按故事组织:推进了哪些故事、新出现哪些故事、形成或应用了哪些经验。

6. 存储

新增故事表(含层级与父故事)、事件与故事的归属/关联、经验表、经验依据与应用记录、用户调整记录;对应一次数据库升级。已有回顾结果在升级后按新流程重建,原始来源不变。

7. 实施顺序与验收

步骤 内容 验收(真实数据副本 + .env.deepseek.local 中的 DeepSeek)
1 统一时间线(SL-7)、事件时间跨度与密度(SL-6) 重叠回顾不产生重复事件;项目与全局不重复处理同一来源
2 故事归属与用户调整(SL-1~SL-3、SL-5) 多次增量回顾后故事不碎片化;间断后的事件接回原故事;调整不被覆盖
3 3D 视图接入真实数据 长期数据下时间尺度与聚合正常
4 经验抽取(SL-4) 每条经验依据可追溯到原文;无候选时零额外调用
5 MCP、心跳建议、工作回顾页 Agent 能按故事接手工作、按经验给出建议