3.5 KiB
3.5 KiB
历史重点挖掘 SOP
从用户历史对话中挖掘值得长期保留的重点:情绪事件、持续活动、已消失事项。
数据源
../memory/L4_raw_sessions/all_histories.txt(compress_session.py 产出)。不存在则先运行脚本。只读 user 内容。
执行约束
- 增量:维护已处理 session 列表,每次只扫新 session
- 分批处理时不拆分同一 session
产物
存 ./history_insight/(不存在则创建),格式自定。产物是数据库,不是报告——每条发现都是下游任务的输入,遗漏即损失。
产物包含三个持久状态(可以是多个文件或一个文件内的多个区域):
- 活动知识层 — 每次扫描读取、更新、写回。记录所有识别到的活动及其最终分类。
- 情绪事件列表 — 追加式,只增不改。
- 增量标记 — 记录最后处理到的 session 标识,下次从此处之后开始。
每条发现必须含:
- session 标识(与 L4 zip 内文件名一致,如
0403_2013-0403_2145) - 关键原文片段(可 grep 定位回原日志)
- 发现类型标签
提取标准
情绪事件
标记语气上的明显波动,不是内容上的。
标记:愤怒/质问/责备、讽刺挖苦、惊喜感激、反复纠正后语气突变、沮丧/无奈、预期落空后的失望或方向突变。
不标记:纯功能指令、语气平和的反馈、讨论负面话题但本人情绪稳定。
持续活动与已消失事项
维护一个持久的活动知识层(存 ./history_insight/)。这是跨次运行的持久状态——每次扫描读取它、更新它、写回它。它不是报告,是数据库。
你在建模的是:这个用户的生活里现在有什么、曾经有什么。活动识别的唯一证据是用户在session中主动发起的请求或讨论——系统提示词、SOP列表、记忆引用中的被动出现不构成证据,不能从"系统里存在某个SOP"推断用户在做某事。
- 持续活动 = 仍然存在于用户生活中的事——值得深入了解其细节
- 已消失 = 曾经存在但已离开的事——可能导致已有记忆过时
判断"离开"不需要用户明确表态。事项本身的性质就是证据——有终点的事做完了就是消失了,没终点的事沉默不代表消失。
每个条目必须归入二者之一。
归类原则:
- 相同专有名词/工具名/项目名 → 同一条目
- 通用动作不单独成条目,除非反复出现于同一领域
- 宁多建不错合并
每条记录含:涉及的 session 列表、代表性原文片段、出现频次。
坑点
- 用户消息的含义不在关键词里,在语气和上下文里。脚本扫描只能看到主题,看不到情绪、看不到习惯、看不到事项的生命周期变化。必须阅读原文。
- session 标识必须与 L4 zip 内文件名一致(如
0403_2013-0403_2145),不能用模糊占位(如 xxxx)——无法定位回原日志的记录没有价值 - 情绪判断看语气不看内容——讨论负面话题但本人情绪稳定不标记
- 活动归类是"用户在做什么"的知识表示,不是对话摘要
- 写入产物前检查一致性:同一条目不能同时出现在"持续"和"已消失"中。如果阅读时收集到矛盾信号(频次高 vs 已停止),必须做最终裁决再写入
- "持续"和"已消失"是两个独立分类,不能合并为一个列表用子状态(如"已消退")规避。产物中必须有明确分开的两个区域或两个文件