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 缺数据.
2.7 KiB
2.7 KiB
进度 · Jev 意图分类 v2:上一轮放进 state(2026-09-27)
- 分支:
codex/jev-intent-v2-20260927 - 基线:
origin/staging@710c848b - 任务书:
docs/tasks/TASK-rectification-jev-intent-classifier-research-v2-20260927.md - 报告:
docs/research/jev_intent_2026_09_27.md/.json - 结论:缺数据。有上一轮 0 条,V1/V2 没有数字,不能判过门。
已跑到的数
| 项 | 结果 |
|---|---|
| 来源 B | 157(点选 17 / 采集 107 / 无焦点 33)。gold 全部来自 09-19 文件,不是新标 |
| 有上一轮 / 无上一轮 | 0 / 157 |
| Jev V0 intent | 91.1%(自洽 96.2%,高置信错误 6.4%,低置信召回 24.1%) |
| Flash V0 intent | 89.2%(09-19 缓存,生产提示;Flash 没有置信度) |
无焦点 unclear → answer_current_focus |
Jev V0 = 7,Flash V0 = 5 |
| 来源 C V0 相对 09-19 公布值 | 点选 0 pp,采集 +0.05 pp(公布值四舍五入到 92.2%),无焦点 0 pp |
V0 没有重打接口,state 与 09-19 相同,数字从 jev_runs_v2.json 重算。--from-report 只读报告 JSON 的 rows,来源 B intent 仍是 91.1%。
接口
- SDK:
typesafe-sdk 0.7.0(09-19 进度里写的版本,未升级) - 模型:响应字段
model=jev-1.13.0 - 连通性:合成样本 V0 1 次,1295 ms,1120 input tok;V2(多一个承接 Noul)1 次,971 ms,
continues_previous_turn=0.16,规则阈值 0.9 未沿用上一轮。这两次不进计分,费用可忽略 - 来源 B / C 的 V1、V2、Flash+V1:0 次
代码
build_state(..., variant=):默认仍是四字段。V1 加previous_turn,V2 再加previous_decision和承接 Noul。Choice 的 criteria 原文没改。continues_previous_turn ≥ 0.9时沿用上一轮的 intent,并带上它的 answer_class,再走原来的enforce_combo。低于 0.9 用本轮结果。- 没有
case_id的行不会被串成上一轮。 - 未改
frontend/src/**,未加部署环境变量。
测试
python -m unittest tests.test_jev_intent_research:15 passed。开工时文件里已有 12 条(任务书写的 11 条之外,fix2 已加报告 JSON 那条),本次新增 3 条:V1/V2 state 形状、承接规则、案件首轮 previous_turn=null。旧断言未改。
偏离
- 重抽来源 B 被 staging 库挡住,见
BLOCKED.md。旧 157 条对不上turn_id,因为交来的文件里没有这个字段。 - 没有拿「上一轮 = null」去打满 V1/V2。那样测的是空字段,不是 Magpie 的喂法。
- Flash V0 不可省,所以用了 09-19 的生产提示缓存,没有新的 Flash 调用。Flash+V1 按让步可以缺,这里确实缺。
- 来源 C 没有上一轮,按任务书不跑 V1/V2。V0 用缓存重算,没有再花 900 次调用。