research(jev-intent): 修复轮重造语料并全量对照
Independent Staging Quality Gate / publish (push) Canceled after 0s
Independent Staging Quality Gate / validate (push) Canceled after 1m37s

来源 C 改为 DeepSeek Flash 生成+独立复核,撤回模板拼接结论。来源 B 157 条人工标注后跑 Jev x2 与 Flash 全量对照,结论为缺数据。
This commit is contained in:
jesse-ux
2026-09-19 11:30:31 +08:00
parent 69a44fe78d
commit c2ecbc74cd
12 changed files with 95414 additions and 82588 deletions
+98 -11
View File
@@ -34,20 +34,107 @@ limit 500;
```
- 本地路径(worktree 外,已 gitignore):`G:/Ferti/Jyotisha/.cache/jev_intent/source_b.jsonl`
- 本机抽取条数:0(无 staging 库凭据则为 0,长度分布用任务书兜底 P25≤6 / 中位≤15 / P75≤40)
- 真值:执行方逐条人工标注;能从后续动作反推的另存 `runtime_intent` 列。**不得提交原文。**
- 本机抽取条数:157(点选 17 / 采集 107 / 无焦点 33),gold 已全部人工标注,未用模型代标
- 长度:P25=12 / 中位=21 / P75=28 / 最长=172
- 标注耗时:约 40 分钟(`runtime_intent` 只作参考,85 条有反推 intent,不抄成 gold)
- 真值:执行方逐条人工标注。**不得提交原文。**
## 来源 C · Agent 模拟语料(提交,主测试集)
## 来源 C · 模型模拟语料(提交,主测试集)
`simulated.jsonl`。问题池 `question_pool.json`:20 例公开 AA holdout 走 `discriminating_event_probes` 出点选题;采集题用 `USER_COLLECT_QUESTION` / retry / `TARGETED_YEAR_PROMPT`。
`simulated.jsonl`。问题池 `question_pool.json`:20 例公开 AA holdout 走 `discriminating_event_probes` 出点选题;采集题用 `USER_COLLECT_QUESTION` / retry / `TARGETED_YEAR_PROMPT`。生成与复核各一次真实模型调用;复核看不到目标标签。
- 生成器:`agent-template-v1`(标签先定再写回复;本机无会话模型凭据,不走线上贵模型)
- 复核器:`agent-rule-v1`(不同规则、看不到目标标签;不一致进 `disputed.jsonl`,不用第三次投票)
- 生成统计:{"generated": 1328, "accepted": 900, "disputed": 113, "dispute_rate": 0.08509036144578314, "generator": "agent-template-v1", "reviewer": "agent-rule-v1", "seed": 20260919}
- 配额:{"choice": {"actual": 400, "target": 400, "max_share_delta": 0.0, "ok": true}, "collect": {"actual": 400, "target": 400, "max_share_delta": 0.0, "ok": true}, "none": {"actual": 100, "target": 100, "max_share_delta": 0.0, "ok": true}}
- 长度:{"n": 900, "p25": 3.0, "median": 11.0, "p75": 25.0}
- sha256 simulated: `a8611e75bf56024fa984fb204d34a5e16405f18b3eaa5a3bee91f96e43918bf7`
- sha256 disputed: `b4aed8567bd6b3fdd5cc98c73d9139197d62a96120a0ee29f474b8f08c050def`
- 生成模型:`deepseek-flash`(temperature 0.85,prompt_version `gen-review-v3`)
- 复核模型:`deepseek-flash`(temperature 0.0,同一家模型、不同提示、看不到标签)
- 生成统计:{"generated": 1261, "accepted_raw": 1225, "accepted": 900, "disputed": 36, "dispute_rate": 0.028548770816812053, "generator": "deepseek-flash", "reviewer": "deepseek-flash", "prompt_version": "gen-review-v3", "seed": 20260919, "usage": {"generate_input_tokens": 553685, "generate_output_tokens": 18677, "review_input_tokens": 700669, "review_output_tokens": 29296, "generate_calls": 1389, "review_calls": 1318, "generate_cached": 53, "review_cached": 79}, "reselect_only": true}
- 争议分层:{"by_layer": {"collect": 33, "choice": 3}, "by_intent": {"answer_current_focus": 33, "unclear": 3}}
- 配额:{"choice": {"actual": 400, "target": 400, "max_share_delta": 0.045, "ok": true}, "collect": {"actual": 400, "target": 400, "max_share_delta": 0.0325, "ok": true}, "none": {"actual": 100, "target": 100, "max_share_delta": 0.0, "ok": true}}
- 长度:{"n": 900, "p25": 16.0, "median": 20.0, "p75": 24.0, "min": 6.0, "max": 39.0}
- 人设:{"choice_collect": {"rambling": 371, "answer_then_event": 94, "deny_then_event": 49, "terse": 51, "impatient_stop": 57, "ask_result": 51, "off_topic": 48, "dialect_netspeak": 79}, "all": {"rambling": 407, "answer_then_event": 94, "deny_then_event": 49, "terse": 71, "impatient_stop": 63, "ask_result": 54, "off_topic": 53, "dialect_netspeak": 109}, "each_ge_40": true, "terse_dialect_share_all": 0.2, "terse_dialect_share_choice_collect": 0.1625, "min_choice_collect": 48}
- 去重:{"n": 900, "unique": 825, "max_repeat": 5, "unique_ok": true, "repeat_ok": true}
- sha256 simulated: `53f13012fdc8f3721335bbe2961edf8c506a2f705b62bd9d302fce83ce2ef88d`
- sha256 disputed: `e80c5cd69c521a099d743e4a4632ad6bc103c3b5a505f5b376a7c9cebedb7646`
- 问题池条数(点选题):103
### 生成提示原文
系统:`你在模拟一位真人用户,正在做出生时间校正问答。只输出用户会打的那句话,不要解释,不要加引号,不要输出 JSON。`
用户提示模板示例:
```
当前问题:
2023 年前后,工作状态是否出现明显变化?
选项:
- A. 这段时间没有明显变化(对应态度:no)
- B. 记不清当时的情况(对应态度:unsure)
- C. 变化明显而且时间吻合(对应态度:yes)
- D. 有变化但程度比较弱(对应态度:weak_yes)
你必须体现的语义(不要写出这些标签名,不要解释标签):
- 这句话的作用:这句话是在直接回答当前这道题,不是另起一件无关的事,不是要求停止整套校正,也不是在问结果。
- 对当前问题的态度:明确否定当前问题:没有发生、没有变化、这方面没什么。不要再补一句「其实也有一点」。
- 是否另说一件带年月的新经历:不要另说一件带年份或月份的新经历。若当前是采集题且态度是肯定或弱肯定,可以在回答里带上这件事本身的年月,那是在答当前题,不是另说一件;这种情况下也必须出现四位数字年份。若不是采集题的肯定回答,不要写任何 19xx / 20xx 年份。
人设:口语啰嗦,会绕半句再落到要点,但仍要把必需要素说清楚。少用「嗯/啊/emmm」。
硬约束:
- 只输出用户会打的那句话
- 字数约 16–28 个汉字(含标点),不要明显超出
- 不得逐字复述上面的选项原文
- 不得出现真实姓名、地名、学校名、公司名、医院名、单位名
- 不要用「有的 / 发生了 / 就是那段 / 没这回事」这种套话,写得像真人随手打的
- 需要带时间时,用大概年份或年月,事件用普通生活经历
```
### 复核提示原文
系统:`你只做出生时间校正当前轮的意图分类。不回答用户,不修改状态。只输出一个 JSON 对象,不要解释。`
用户提示模板示例:
```
根据当前问题和用户回复分类。看不到任何预设标签。
intent 只能是:
- answer_current_focus:用户在回答当前问题
- provide_new_evidence:没有回答当前问题,只补充了一件带大概年或月的经历
- stop_rectification:明确要求停止整个校正;说当前这件事没发生不是停止
- ask_about_result:在问结果、范围、候选分钟或好了没
- unclear:以上都不成立,或混在一起无法单选
answer_class:
- 仅当 intent 是 answer_current_focus 时非空,否则必须为 null
- 点选题:按选项 label 的含义选 yes / weak_yes / no / unsure,不要按 A/B/C/D 位置猜
- 采集题:没有/没发生/这方面没什么 → no;记不清/不记得/忘了/想不起来/以后再说 → unsure;
用带大概年月的经历直接回答当前采集题 → yes(程度弱则为 weak_yes)
- 不要把「没有」或「记不清」标成 yes
- 采集题若既没有否定、也没有记不清、也没有带年月经历 → intent 为 unclear,answer_class 为 null
- 同一句既明确否定当前采集题又补充了新的带时间经历:intent 仍为 answer_current_focus,answer_class 为 no
has_new_dated_event:
- 仅在同一句里除了回答当前问题之外,还提供了新的、带大概时间的经历时为 true
- 单纯否定、单纯记不清、或只用带年月经历来直接回答当前采集题,都是 false
- 无当前问题时,带年月的经历 → intent 为 provide_new_evidence,has_new_dated_event 为 true
只输出:
{"intent":"...","answer_class":"yes"|"weak_yes"|"no"|"unsure"|null,"has_new_dated_event":true|false}
当前问题:
2023 年前后,工作状态是否出现明显变化?
选项:
- A. 这段时间没有明显变化 (answer_class=no)
- B. 记不清当时的情况 (answer_class=unsure)
- C. 变化明显而且时间吻合 (answer_class=yes)
- D. 有变化但程度比较弱 (answer_class=weak_yes)
用户回复:
(用户回复)
```
公开案例姓名不得出现在回复正文。