WIP: memory system improvements (in progress)

Interview/chat prompt layers, reply planner, style profiles, memory
injection, interview meta store, and related tests. Work not finished.

Made-with: Cursor
This commit is contained in:
Kevin
2026-04-22 16:56:28 +08:00
parent e848f26354
commit 3121d1384d
28 changed files with 2790 additions and 452 deletions

View File

@@ -7,6 +7,7 @@ _JUDGING_CHARTER = """
- **各细项独立判断**:整体印象好不得普遍抬分;情绪承接好不得抵消信息浅或强引导。
- **优美措辞、语气礼貌不得单独抬分**,除非该维度本身考察措辞/节奏且与证据一致。
- 对严重问题(如明显冷处理情绪、强引导暗示答案、重复盘问同义信息)须在 `major_issues` 写明并可列入 `evidence_refs`。
- **反风格过拟合**:若 AI 明显复读**固定意象 / 固定句式 / few-shot 式套句**(如同一画面反复出现「烤红薯 / 田埂 / 火堆 / 蚂蚁 / 巷子」等怀旧物象;或同一轮次内外频繁使用「那条线」「一股劲儿」「就像…一样」「这让我想起…」等模板修辞),不要把它当「文学感好」奖励;应**在 `rhythm_control` / `empathy_depth` / `question_quality` 中压分**,并在 `major_issues` 写明「风格过拟合:固定修辞复读」。表达质量看的是**对本轮用户原词的贴合度、新鲜度、准确度**,不是词藻密度或固定比喻。
"""
@@ -47,13 +48,13 @@ _CONV_LEAF_SPEC = """
## 四、结构化引导(小计最高 15
- interview_structure访谈结构最高 6阶段/主题推进是否清晰(整段更明显;单轮不足则保守)。
- context_memory上下文记忆最高 5是否关联前文**重复盘问同一已答信息、忽略上文**在此项扣分(不在 rhythm 重复扣)。
- rhythm_control节奏控制最高 4自然度采访腔、总结腔、流程感。
- context_memory上下文记忆最高 5是否关联前文**重复盘问同一已答信息、忽略上文**在此项扣分(不在 rhythm 重复扣)。**额外**:若 AI 把**检索到的旧记忆**当本轮用户新说的内容来复述、或反复「你之前提过…」式**同义复述旧段落**(信息未推进、像在念素材),应**明显扣分**。
- rhythm_control节奏控制最高 4自然度采访腔、总结腔、流程感**此项也负责抓「风格过拟合」**——若 AI 在本节选里反复套用同一意象池(「烤红薯/田埂/蚂蚁/巷子/火堆/那条线/一股劲儿」等)或同一句式模板(「这让我想起…」「听起来…」),即使单条句子读着文雅也应扣分
## 五、提问质量(小计最高 15
- question_quality问题质量最高 7开放、具体、可答。
- follow_up_depth追问能力最高 5顺势深问。
- non_leading非引导性最高 3是否暗示「标准答案」或评判式预设。
- question_quality问题质量最高 7开放、具体、可答;问句必须**从本轮用户原词或本轮具体画面里长出来**,若用户已点名他人、关系、观众、面子或身份自称,而 AI 只追问环境/体感却完全忽略这些线索,应**明显扣分**;不得用跨轮复读的固定锚点(如「你们是在田埂边生火吗」「带头的是谁」等不视语境一再出现的模板追问)——发现该类套问法应扣分。**记忆相关**:若追问只是在**复述/同义转述检索细节**而未帮用户说**新的一层**(感受、关系、选择、后果),应扣分;若记忆帮助把问题问得更贴肉、更个人,可略加分(仍不得牺牲本轮话头)
- follow_up_depth追问能力最高 5顺势深问。**记忆相关**:追问应服务于**更深一层**,而不是堆叠旧事实或复述时间线。
- non_leading非引导性最高 3是否暗示「标准答案」或评判式预设。**额外**:若用检索细节**诱导用户承认本轮未确认的内容**(把旧记忆当既定事实套在用户头上),应**重扣**。
输出 JSON 字段(仅这些键;细分项为浮点数;列表字符串尽量每条 ≤120 字;`rationale` 为简短中文总述):
emotion_carry, empathy_depth, emotion_safety, emotion_guidance,

View File

@@ -10,6 +10,11 @@ _MEMOIR_CHARTER = """
- 只依据输入中可核对的文字评分;不得臆测用户人生经历。
- **缺少原文证据不等于「写得好」**:无证据或证据极短时,`mem_fidelity`、`mem_factual_coverage`、`mem_traceability` 等须保守,并在 `insufficient_evidence` 说明。
- **文笔与结构不得抵消事实问题**`lang_*`、`narr_*` 高分不得与明显编造、张冠李戴并存。
- **反风格过拟合**:一个用户、一个作者的多个篇章/段落**不应共享同一套「抒情套皮」**(例如各章反复使用「那条线/一股劲儿/浇灌/生根/跳房子/烤红薯/田埂/巷子/蚂蚁/隐隐发光」等固定意象池或固定收束句)。发现这种跨章节复读或本文内反复自引的固定比喻时:
- `lang_literary`(文笔质量)与 `rich_diversity`(表达多样性)须明显扣分;
- `rich_analogy` 高分的前提是**类比有基于口述的独特性**,而不是把同一修辞反复套到不同人生阶段;
- 在 `major_issues` 写明「风格过拟合:固定修辞复读」。
- **真实文学性 vs 装饰性文笔**:优美在于**贴合当事人语词、场景、时代肌理**,而非辞藻密度;缺少与本人口述咬合的「漂亮句子」按装饰性处理,不得与 `lang_literary` 满分并存。
- 若输入仅为**单章节/单故事节选**`coh_cross_chapter`:只评估**本节选内部**是否与证据中的其它人生阶段描述明显冲突;若上下文不足,给保守分并记入 `insufficient_evidence`**不得假设**全书结构。
"""
@@ -55,8 +60,8 @@ _MEMOIR_RUBRIC_BODY = """
23. coh_cross_chapter跨章节/跨片段关联,最高 2单节选评审时按上文「总原则」处理。
## 八、表达丰富度(小计最高 5
24. rich_analogy类比与引用最高 3
25. rich_diversity表达多样性最高 2
24. rich_analogy类比与引用最高 3:类比须基于口述素材**独特**生成;同一意象池或同一比喻在本用户多篇/本文多段**复读**应扣分。
25. rich_diversity表达多样性最高 2**反过拟合**——若整篇或多章反复依赖少数几个固定意象(如「田埂/烤红薯/巷子/蚂蚁/那条线/一股劲儿」等)收束情感,本项按 0-1 给分。
## 九、出版就绪度(小计最高 4
26. pub_editorial_cost编辑成本最高 2