Skip to content

说话人证据闸门补名字绑定与自我介绍判据 - #284

Merged
zj1123581321 merged 7 commits into
mainfrom
card/vta-261030-evidence
Oct 30, 2026
Merged

zj1123581321 merged 7 commits into
mainfrom
card/vta-261030-evidence

Conversation

@zj1123581321

@zj1123581321 zj1123581321 commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

背景

说话人命名的证据闸门有两个漏洞,外部顾问(fable5、Codex)读代码时发现,Codex 用探针实测复现:

  1. 标题、作者、描述三类静态证据只检查引用是否逐字出现在对应分区,不检查候选名是否出现在引用里。候选名 Invented Person 配上标题里的 OpenAI 也能通过核对,在「对话称呼 + 标题」的复合名路径下会被拼进显示名。
  2. dialog_address 的引用只出现在说话人本人发言里时,也会被当作「别人在叫他」。例如本人说 "John Collison wrote about this",就会被命名为 John Collison。

此外,提示词把作者名写进了 title_credit 的定义,但核对时 title_credit 只认标题行,导致生产中 John Collison 被判 quote_missing。提示词里「作者署名即主持人身份」这个前提本身也不成立。

改动

  • 四类证据统一要求候选名(忽略大小写)出现在引用里,否则判 name_not_in_quote。
  • dialog_address 的引用只出现在本人发言样本里时,必须是自我介绍才算证据,否则判新原因 name_not_self_intro。判断方式是独立的一次 LLM 复核调用(speaker_self_intro_verifier.py):输入只包含程序生成的 {id, name, quote},不带首轮推断的任何输出;输出四类分类(self_introduction / addressed_by_other / third_party_mention / unclear),只有 self_introduction 通过;缺 id 或返回域外值按 unclear 处理。每次 infer() 最多调用一次复核,没有待复核候选时不调用;结果写入 meta 的 self_intro_verdict。引用来自出场前他人发言或第三人旁证时不复核,行为不变。
    • 最初用正则列举自我介绍句式,用户裁决改为模型复核:「这句话是不是自我介绍」是语义判断,正则会把「Bob here」「柠姐在这儿」、双空格、弯引号等真实的自我介绍误判掉。这也一并处理了主审 finding correctness-self-introduction-whitespace。
  • 提示词:title_credit 只认标题;author_host 改为「发布账号署名,不等于出镜者或主持人」。
  • SPEAKER_EVIDENCE_RULES_VERSION 从 4 升到 6(卡 A 一次,复核改造一次),旧的说话人映射缓存因此失效,会重新推断。
  • _decide_display_name 的采用规则不变(两人推测通路由后续卡 C 处理)。

测试

  • 窄测(evidence gate / inferencer / call response / llm schemas / speaker artifact / prompt selection)通过;make test 通过(执行器报告)。
  • 合并了 3 个旧测试的覆盖:被删除的测试名分别并入参数化的静态名字绑定测试、真实夹具的上下文称呼测试,以及指纹测试。
  • 新增 tests/unit/test_speaker_self_intro_verifier.py,覆盖复核隔离、批量单次调用、缺 id、异常路径、缓存命中,以及端到端的实际请求内容。

部署影响

合并后会自动部署。规则版本升级后,命中缓存的任务下次处理时会重新调用一次 LLM 推断说话人。

设计文档:分支 feat/vta-speaker-naming-261030 下的 docs/sessions/vta-speaker-naming-261030/design.md(卡 A)。

🤖 Generated with Claude Code

zj1123581321 added 2 commits October 30, 2026 17:37
Agent-Executor: codex-pi
Agent-Model: gpt-6-luna
Agent-Effort: xhigh
Dispatch-Id: dlg-20261030-090333-810d8f
Task-Id: VideoTranscriptAPI-20261030-01
Agent-Executor: codex-pi
Agent-Model: gpt-6-luna
Agent-Effort: xhigh
Dispatch-Id: dlg-20261030-090333-810d8f
Task-Id: VideoTranscriptAPI-20261030-01
@zj1123581321 zj1123581321 self-assigned this Oct 30, 2026
@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Required Gate v2 — 状态面板

当前状态:pass · 可合并

当前裁决:code_pass / primary_pass

PR 累计主审轮(影子):2/5 · collecting

Gate 历史(v1;来源为持久化 gate_terminal 制品)

Run Attempt Head 状态 PR 累计主审轮(影子) 收件人动作
41039224681 1 6cbdae5 unavailable — 修基础设施
41039244011 1 5cdd6bb fail — 要修代码
41049343417 1 6cd2b7d pass 2/5 · collecting 可合并

历史行按 run_id + run_attempt 去重并只增不删;删除本评论后可由 gate_terminal 制品重建。

zj1123581321 and others added 4 commits October 30, 2026 18:53
Co-authored-by: Cursor <cursoragent@cursor.com>
Agent-Executor: cursor
Agent-Model: cursor-grok-4.6-high
Agent-Effort: unknown
Dispatch-Id: dlg-20261030-103637-6a27f4
Task-Id: VideoTranscriptAPI-20261030-03
Co-authored-by: Cursor <cursoragent@cursor.com>
Agent-Executor: cursor
Agent-Model: cursor-grok-4.6-high
Agent-Effort: unknown
Dispatch-Id: dlg-20261030-103637-6a27f4
Task-Id: VideoTranscriptAPI-20261030-03
超限老文件相对基线只许变短;编排与本卡新增用例改放到 verifier 模块和新测试文件。

Co-authored-by: Cursor <cursoragent@cursor.com>
Agent-Executor: cursor
Agent-Model: cursor-grok-4.6-high
Agent-Effort: unknown
Dispatch-Id: dlg-20261030-110447-5b14bb
Task-Id: VideoTranscriptAPI-20261030-03
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Executor: cc
Agent-Session: d2fc9dea-7e73-459c-a27f-1f25c1552fb6
Agent-Effort: medium
@zj1123581321
zj1123581321 merged commit 141a113 into main Oct 30, 2026
13 checks passed
@zj1123581321
zj1123581321 deleted the card/vta-261030-evidence branch October 30, 2026 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant