来源 C 改为 DeepSeek Flash 生成+独立复核,撤回模板拼接结论。来源 B 157 条人工标注后跑 Jev x2 与 Flash 全量对照,结论为缺数据。
7.3 KiB
进度 · TypeSafe Jev 意图分类离线对照(2026-09-19)
- 分支:
codex/rectification-jev-intent-classifier-research-20260919 - 基线:
origin/staging@d9722d56 - 任务书:
docs/tasks/TASK-rectification-jev-intent-classifier-research-20260919.md - 报告:
docs/research/jev_intent_2026_09_19.md/.json - 未改
turn-intent-classifier.ts、route.ts、mastra/model.ts、模型目录
样本
| 来源 | n | sha256 | 备注 |
|---|---|---|---|
A synthetic.jsonl |
10 | 79d53a958b3b42ed18c79e3bbcff4b31deb22b65eedcd89b39326a7fefc9b0e8 |
测试文件没有 10 条带期望输出的 userMessage 夹具;用 SHUFFLED_CHOICE + 采集 prompt + 测试里两句原文 |
| B 真机会话 | 0 | — | 无 staging 库凭据。让步 1:代表性检验只报数。本地约定 G:/Ferti/Jyotisha/.cache/jev_intent/source_b.jsonl |
C simulated.jsonl |
900 | a8611e75bf56024fa984fb204d34a5e16405f18b3eaa5a3bee91f96e43918bf7 |
点选题 400 / 采集 400 / 无焦点 100,配额偏差 0 |
争议表 disputed.jsonl |
113 | b4aed8567bd6b3fdd5cc98c73d9139197d62a96120a0ee29f474b8f08c050def |
争议率 8.5%(1328 次生成),< 15% 门槛 |
- 问题池:20 例 holdout 走
discriminating_event_probes,点选题 103 条(4 例 0 probes:tiger_woods / picasso / freud / albert_brooks);采集题用USER_COLLECT_QUESTION/ retry /TARGETED_YEAR_PROMPT。 - 生成器:
agent-template-v1(本机无会话模型凭据,不走线上贵模型;标签先定再写回复)。 - 复核器:
agent-rule-v1(不同规则、看不到目标标签)。 - 长度(来源 C):P25=3 / 中位=11 / P75=25(来源 B 不足,用兜底 P25≤6 / 中位≤15 / P75≤40)。
- 真值在 T2 前固化,跑完未改标签。
T2 跑次
- Jev:
jev-1.13.0,POST /v1/systemone,SDKtypesafe-sdk 0.7.0,三题同一请求。 - 时间:2026-09-19,来源 A+C 各 2 次;unavailable = 0。
- 现行对照:
deepseek-flash(官方 Chat Completions,thinking 关)套生产分类器提示词。来源 C 分层随机 33%(seed 20260919)= 133+133+33,来源 A 全 10 条;第一次 309,第二次分层 1/3。unavailable = 0。不是线上会话模型。 来源 B 仍为 0。
指标(来源 C)
| 层 | n | intent | answer_class | dated | 高置信错误 | 低置信覆盖 | 低置信召回 | no/unsure | 自洽率 | 中位 ms | P95 ms | 次均 tok |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 点选题 | 400 | 88.0% | 65.0% | 100% | 4.2% | 12.5% | 34.1% | 5 | 98.5% | 923 | 1344 | 1122 |
| 采集题 | 400 | 90.5% | 83.6% | 97.0% | 7.0% | 13.5% | 34.2% | 22 | 98.0% | 901 | 1026 | 987 |
| 无焦点 | 100 | 100% | — | 100% | 0.0% | 4.0% | — | 0 | 100% | 923 | 1018 | 923 |
来源 A n=10:intent 90.0%,answer_class 85.7%,高置信错误 0。
Jev 两次合计输入约 1.85M tok,按 $0.042/Mtok ≈ $0.08。
同一样本 DeepSeek Flash vs Jev(C 分层 33%)
| 层 | n | Jev intent | Flash intent | Flash answer_class | 差 | 门槛(Flash−3pp) | 相对 |
|---|---|---|---|---|---|---|---|
| 点选题 | 133 | 89.5% | 92.5% | 83.0% | −3.0pp | 89.5% | 过 |
| 采集题 | 133 | 91.0% | 95.5% | 95.8% | −4.5pp | 92.5% | 未过 |
| 无焦点 | 33 | 100% | 97.0% | — | +3.0pp | 94.0% | 过 |
Flash 自洽率:点选题 100%、采集 95.5%、无焦点 100%。中位延迟 611–705 ms。
结论
不可接。 绝对门槛未过:高置信错误 7.0% > 3%;低置信召回 ≈34% < 60%;点选题 answer_class 65%。相对门槛在采集题上也未过(91.0% < 92.5%)。Flash 在点选题 answer_class(83%)和采集题(95.8%)都明显高于 Jev。中文口语和字面理解是 Jev 主错因。
若接:不接。继续用会话贵模型。只允许 (b) 影子双跑记日志;不得按 confidence 写库。
来源 B 仍为 0,代表性检验只报数。
偏离
- 来源 B = 0:无 staging 库。按让步 1。
- 来源 A:测试文件并无 10 条
(userMessage, 期望输出)夹具,改从该文件的 schema + 两句真实userMessage构造。 - 来源 C 生成未走会话贵模型(无凭据)。产品口径「Agent 模拟造语料」;生成/复核模型名写进报告。
- 现行对照用
deepseek-flash套同一提示词,不是数据库里的会话默认模型。 - Windows 上 worktree
.venv是 25 字节 Linux symlink。typesafe-sdk装进本机 Anaconda 3.11.7,未改requirements*.txt。 - 未写 BUG_HISTORY(本单不是 Bug)。
验证
python -m pytest tests/test_jev_intent_research.py:8 passed- 线上分类器文件未改
修复轮(2026-09-19,codex/rectification-jev-intent-research-fix-20260919)
任务书:TASK-rectification-jev-intent-classifier-research-fix-20260919.md。未改线上分类器。未立 BUG。
来源 C 重造
- 生成 / 复核模型:
deepseek-flash(temperature 0.85 / 0.0),prompt_versiongen-review-v3。不是线上会话模型。 - 问题池复用
question_pool.json(103 道点选题),未重建引擎池。 - 生成 1261,通过复核 1225,选出 900;争议 36,争议率 2.85%(collect 33 / choice 3;answer_current_focus 33 / unclear 3)。未回退模板。
- 提示修改:冒烟 v2 有
missing_date拒稿,v3 强制四位年份并在重试时写明缺年/多年原因。只改了一轮提示。 - 三项统计:去重后唯一 825(≥810),单条重复最多 5;人设每种 ≥48(点选+采集),惜字如金+方言/网络语 180/900=20%;长度 P25=16 / 中位=20 / P75=24(目标 8–16 / 15–27 / 20–36)。
- 三层 400 / 400 / 100,配额偏差 ≤4.5%。
- sha256:synthetic
79d53a958b3b42ed18c79e3bbcff4b31deb22b65eedcd89b39326a7fefc9b0e8;simulated53f13012fdc8f3721335bbe2961edf8c506a2f705b62bd9d302fce83ce2ef88d;disputede80c5cd69c521a099d743e4a4632ad6bc103c3b5a505f5b376a7c9cebedb7646。
Token(分列)
| 段 | 调用 | input tok | output tok |
|---|---|---|---|
| 生成 DeepSeek Flash | 1389 | 553,685 | 18,677 |
| 复核 DeepSeek Flash | 1318 | 700,669 | 29,296 |
Jev jev-1.13.0 两次(A+C 910×2 + B 157×2) |
2134 | 2,213,898 | 283,528(Jev 输出不计费) |
| 对照 Flash 全量一次 + C 1/3 第二次 + B 一次 | 1366 | 676,080 | 30,260 |
Jev 输入按 $0.042/Mtok ≈ $0.093。生成+复核+对照走 DeepSeek,不记 Jev 价。
来源 B
157 条全部人工标注(点选 17 + 采集 107 + 无焦点 33),约 40 分钟。runtime_intent 未抄成 gold。Jev×2 + Flash×1 已跑。代表性:无焦点层 intent 差 17.2pp > 10pp。
对照摘要
| 层 | Jev intent | Flash intent | 高置信错误 | 低置信召回 | Jev 自洽 |
|---|---|---|---|---|---|
| 点选题 | 99.0% | 98.8% | 0.0% | 23.1% | 99.8% |
| 采集题 | 92.2% | 97.5% | 2.8% | 45.5% | 98.0% |
| 无焦点 | 96.0% | 94.0% | 1.0% | 25.0% | 100% |
cache 样本 id 与 simulated.jsonl 一致(900/900)。unavailable = 0。
结论
缺数据。无焦点层来源 B vs C 差 17.2pp;同时低置信召回未过 60%。不得上线。原「不可接」不沿用。
验证
python -m pytest tests/test_jev_intent_research.py -q:11 passed- 构建脚本无
bank = {;复核函数无re.search判标签 - 线上分类器文件未改