Files
2026-07-13 13:04:19 +08:00

3.5 KiB
Raw Permalink Blame History

历史重点挖掘 SOP

从用户历史对话中挖掘值得长期保留的重点:情绪事件、持续活动、已消失事项。

数据源

../memory/L4_raw_sessions/all_histories.txtcompress_session.py 产出)。不存在则先运行脚本。只读 user 内容。

执行约束

  • 增量:维护已处理 session 列表,每次只扫新 session
  • 分批处理时不拆分同一 session

产物

./history_insight/(不存在则创建),格式自定。产物是数据库,不是报告——每条发现都是下游任务的输入,遗漏即损失。

产物包含三个持久状态(可以是多个文件或一个文件内的多个区域):

  1. 活动知识层 — 每次扫描读取、更新、写回。记录所有识别到的活动及其最终分类。
  2. 情绪事件列表 — 追加式,只增不改。
  3. 增量标记 — 记录最后处理到的 session 标识,下次从此处之后开始。

每条发现必须含:

  • session 标识(与 L4 zip 内文件名一致,如 0403_2013-0403_2145
  • 关键原文片段(可 grep 定位回原日志)
  • 发现类型标签

提取标准

情绪事件

标记语气上的明显波动,不是内容上的。

标记:愤怒/质问/责备、讽刺挖苦、惊喜感激、反复纠正后语气突变、沮丧/无奈、预期落空后的失望或方向突变。

不标记:纯功能指令、语气平和的反馈、讨论负面话题但本人情绪稳定。

持续活动与已消失事项

维护一个持久的活动知识层(存 ./history_insight/)。这是跨次运行的持久状态——每次扫描读取它、更新它、写回它。它不是报告,是数据库。

你在建模的是:这个用户的生活里现在有什么、曾经有什么。活动识别的唯一证据是用户在session中主动发起的请求或讨论——系统提示词、SOP列表、记忆引用中的被动出现不构成证据,不能从"系统里存在某个SOP"推断用户在做某事。

  • 持续活动 = 仍然存在于用户生活中的事——值得深入了解其细节
  • 已消失 = 曾经存在但已离开的事——可能导致已有记忆过时

判断"离开"不需要用户明确表态。事项本身的性质就是证据——有终点的事做完了就是消失了,没终点的事沉默不代表消失。

每个条目必须归入二者之一。

归类原则:

  • 相同专有名词/工具名/项目名 → 同一条目
  • 通用动作不单独成条目,除非反复出现于同一领域
  • 宁多建不错合并

每条记录含:涉及的 session 列表、代表性原文片段、出现频次。

坑点

  • 用户消息的含义不在关键词里,在语气和上下文里。脚本扫描只能看到主题,看不到情绪、看不到习惯、看不到事项的生命周期变化。必须阅读原文。
  • session 标识必须与 L4 zip 内文件名一致(如 0403_2013-0403_2145),不能用模糊占位(如 xxxx)——无法定位回原日志的记录没有价值
  • 情绪判断看语气不看内容——讨论负面话题但本人情绪稳定不标记
  • 活动归类是"用户在做什么"的知识表示,不是对话摘要
  • 写入产物前检查一致性:同一条目不能同时出现在"持续"和"已消失"中。如果阅读时收集到矛盾信号(频次高 vs 已停止),必须做最终裁决再写入
  • "持续"和"已消失"是两个独立分类,不能合并为一个列表用子状态(如"已消退")规避。产物中必须有明确分开的两个区域或两个文件