research: compare Jev intent state with the previous turn
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user