人设漂移守护补齐身份事实溯源判断 + 批后累积漂移复审(全ADR对抗审查组A) #179

Open
opened 2026-08-21 03:18:54 +00:00 by KumaAgent · 0 comments
Member

来源

全量32条ADR设计合理性对抗审查(评估侧内部执行,2026-08-21),组A·persona身份真实性防线。原始质疑经独立agent对抗式反驳后仍确认成立(2条)。

问题

persona_drift_guard.py::_build_judge_messages 目前只做"矛盾检测"(候选是否与 persona.render() 静态基线冲突),存在两处结构性缺口:

  1. 无法捕捉累积/矛盾漂移:judge 每次只看单条候选 + 静态基线,看不到"此前已批准的其它候选"。N条候选各自单独看都不违反基线、但累积起来已让整体行为偏离原始persona(渐进式漂移),或候选之间互相矛盾(候选A说"该群该讲话正式",候选B说"该群该讲脏话"),两者都会通过。
  2. 无法捕捉"无中生有"式编造:ADR-0022 规定"不得编造 persona/backstory/Knowledge/Persona Lore 之外的核心身份类事实",但 SECURITY_BASELINE 只在生成侧(drive_tick.py/runtime_loop.py/subagent.py)注入,persona_drift_guard.py 从未导入或使用它——judge 连这条规则都看不到。一条编造的、语气贴合人设但基线未提过的新身份细节(如编造生日),不会被判定为"冲突",因为它没有"偏离"基线已声明的任何东西,只是"新增"了基线没说过的东西。Delta 常规画像抽取路径(ProfileCandidate)也未限定facts来源角色,assistant自己的发言同样会被渲染进抽取用的transcript。

What to build

  • 给 judge 判断维度增加"溯源/编造检测":候选内容如果声称是核心身份事实(生日、外貌、过往经历等),但既不在 persona.render()(persona/backstory/speech_patterns/sample_dialogue)里,也不在Persona Lore/已批准Knowledge里能找到依据,应被视为可疑,即便它与基线不"冲突"。
  • 给 judge 增加批后累积复审能力:判断时把"同chat已批准的近期profile/skill/Knowledge摘要"一并喂给judge做对照,或至少在每次反思cycle结束后做一次轻量整体复审。

Not in scope

  • 不改变"写入前否决优于事后回滚"这个既有决策(ADR-0021已定,本票不推翻)
  • 不新增独立子系统/新port,复用既有judge调用与既有反思闭环节奏

Acceptance criteria

  • judge 的 instruction/schema 新增"溯源/编造"判断维度,且有明确的测试用例覆盖"语气贴合但基线未声明的新身份细节"场景
  • judge 输入中包含"同chat近期已批准候选摘要",用于捕捉累积/矛盾漂移;补测试覆盖"候选各自不违反基线但相互矛盾"场景
  • ADR-0021/0022 补更新节记录本票落地的具体机制
  • 全量测试通过
## 来源 全量32条ADR设计合理性对抗审查(评估侧内部执行,2026-08-21),组A·persona身份真实性防线。原始质疑经独立agent对抗式反驳后仍确认成立(2条)。 ## 问题 `persona_drift_guard.py::_build_judge_messages` 目前只做"矛盾检测"(候选是否与 `persona.render()` 静态基线冲突),存在两处结构性缺口: 1. **无法捕捉累积/矛盾漂移**:judge 每次只看单条候选 + 静态基线,看不到"此前已批准的其它候选"。N条候选各自单独看都不违反基线、但累积起来已让整体行为偏离原始persona(渐进式漂移),或候选之间互相矛盾(候选A说"该群该讲话正式",候选B说"该群该讲脏话"),两者都会通过。 2. **无法捕捉"无中生有"式编造**:ADR-0022 规定"不得编造 persona/backstory/Knowledge/Persona Lore 之外的核心身份类事实",但 `SECURITY_BASELINE` 只在生成侧(`drive_tick.py`/`runtime_loop.py`/`subagent.py`)注入,`persona_drift_guard.py` 从未导入或使用它——judge 连这条规则都看不到。一条编造的、语气贴合人设但基线未提过的新身份细节(如编造生日),不会被判定为"冲突",因为它没有"偏离"基线已声明的任何东西,只是"新增"了基线没说过的东西。Delta 常规画像抽取路径(`ProfileCandidate`)也未限定facts来源角色,assistant自己的发言同样会被渲染进抽取用的transcript。 ## What to build - 给 judge 判断维度增加"溯源/编造检测":候选内容如果声称是核心身份事实(生日、外貌、过往经历等),但既不在 `persona.render()`(persona/backstory/speech_patterns/sample_dialogue)里,也不在Persona Lore/已批准Knowledge里能找到依据,应被视为可疑,即便它与基线不"冲突"。 - 给 judge 增加批后累积复审能力:判断时把"同chat已批准的近期profile/skill/Knowledge摘要"一并喂给judge做对照,或至少在每次反思cycle结束后做一次轻量整体复审。 ## Not in scope - 不改变"写入前否决优于事后回滚"这个既有决策(ADR-0021已定,本票不推翻) - 不新增独立子系统/新port,复用既有judge调用与既有反思闭环节奏 ## Acceptance criteria - [ ] judge 的 instruction/schema 新增"溯源/编造"判断维度,且有明确的测试用例覆盖"语气贴合但基线未声明的新身份细节"场景 - [ ] judge 输入中包含"同chat近期已批准候选摘要",用于捕捉累积/矛盾漂移;补测试覆盖"候选各自不违反基线但相互矛盾"场景 - [ ] ADR-0021/0022 补更新节记录本票落地的具体机制 - [ ] 全量测试通过
KumaAgent changed title from 占位标题-稍后回填-01 to 人设漂移守护补齐身份事实溯源判断 + 批后累积漂移复审(全ADR对抗审查组A) 2026-08-21 03:26:29 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ProjectKuma/arise#179
No description provided.