research: compare Jev intent state with the previous turn
Independent Staging Quality Gate / validate (push) Successful in 12m0s
Independent Staging Quality Gate / publish (push) Successful in 3m35s

V0 on the existing 157 real rows matches the 09-19 cache. The staging extract has no case linkage, so V1/V2 are unmeasured and the verdict stays 缺数据.
This commit is contained in:
jesse-ux
2026-09-27 11:41:53 +08:00
parent 710c848b30
commit e3bd3930e3
13 changed files with 100475 additions and 26 deletions
+14 -5
View File
@@ -15,7 +15,9 @@ sha256: `79d53a958b3b42ed18c79e3bbcff4b31deb22b65eedcd89b39326a7fefc9b0e8`
```sql
select
t.id as turn_id,
t.case_id,
t.user_message,
t.assistant_message,
t.status as turn_status,
t.created_at,
c.status as case_status,
@@ -24,16 +26,23 @@ select
f.status as focus_status
from public.agentic_rectification_turns t
join public.agentic_rectification_cases c on c.id = t.case_id
left join public.agentic_rectification_conversation_focuses f
on f.case_id = t.case_id
and f.status = 'active'
left join lateral (
select *
from public.agentic_rectification_conversation_focuses f
where f.case_id = t.case_id
and f.asked_at <= t.created_at
order by f.asked_at desc
limit 1
) f on true
where t.user_message is not null
and length(btrim(t.user_message)) > 0
order by t.created_at desc
limit 500;
order by t.case_id, t.created_at;
```
同一条 SQL 也写在 `scripts/research/jev_intent_source_b_v2.py` 的 `EXTRACT_SQL`。本地脚本按 `(case_id, created_at)` 给每条填 `previous_turn = {assistant_message, user_message}`;同一案件的第一轮,以及没有 `case_id` 的行,都是 `null`。没有 `case_id` 的行不会互相串成上一轮。
- 本地路径(worktree 外,已 gitignore):`G:/Ferti/Jyotisha/.cache/jev_intent/source_b.jsonl`
- v2 路径(同样不提交):`G:/Ferti/Jyotisha/.cache/jev_intent/source_b_v2.jsonl`
- 本机抽取条数:157(点选 17 / 采集 107 / 无焦点 33),gold 已全部人工标注,未用模型代标
- 长度:P25=12 / 中位=21 / P75=28 / 最长=172
- 标注耗时:约 40 分钟(`runtime_intent` 只作参考,85 条有反推 intent,不抄成 gold)