README.md
2.24 KB
基准(bench)
模型:qwen3.6-27b-iq3:latest,Ollama /v1(地址见脚本头部)。运行一律 uv run --no-project <脚本>。
注意:该 Ollama 服务负载下会间歇 502——dt≈0s 的单条失败先当基础设施抖动、单独重跑核实,再考虑改 prompt。
bench50_v2.py(冻结基线,勿改)
单发话语 → 首步工具选择。50 题。逐字复刻 2026-07-28 生产 prompt(4 类意图门 + 统一 prompt + 6 工具)。
验收存档 bench50_v2_baseline.out:意图门 50/50=100%,agent 严格 38/50=76%、宽松 45/50=90%。
skill-ReAct 落地后:意图门段作废;agent 段对新架构重跑,严格分 ≥76% 才算过闸。
bench_ext.py(扩展轨迹基准)
多步 ReAct 轨迹模拟(喂回固定工具结果直到模型给最终文字,上限 8 步)+ 多轮对话用例:
| 类别 | 用例 | 测什么 |
|---|---|---|
| 消歧 | S1-S5 | 改「审核人」字段=update 不是 examine;撤审=cancelExamine;恢复作废=cancelInvalid |
| 多轮接续 | M1/M2/M6 | 翻页、代词回指、澄清后接续 |
| 夹带 | M3 | 回答澄清的同时夹带新查询,两个都要完成 |
| 长会话回指 | M4 | 30 轮后回指最早提到的实体 |
| 跨轮表单 | M5 | 弹表单隔 2 轮补字段;「大16开」必须逐字保留 |
| 提议纪律 | M7 | 提议卡后不重复提议、不声称已执行 |
uv run --no-project bench_ext.py --arch old # 旧架构复刻(基线)
uv run --no-project bench_ext.py --arch new # skill-ReAct(prompt/skill 从 src/main/resources/ 同源读取)
uv run --no-project bench_ext.py --fifty --arch new # bench50 的 50 题按全轨迹判分(新旧同口径对照)
uv run --no-project bench_ext.py --arch old --only M5
轨迹模拟含生产反编造护栏复刻:零工具调用却答出数字 → 注入纠正话术重试一次 (与 AgentChatController 的常开护栏一致;不模拟 WRITE_CLAIM 文案提醒)。
基线存档:bench_ext_old_baseline.out(无护栏口径,首次基线)、bench_p3_acceptance.out(P3 验收,
四组同口径:ext/fifty × old/new)。
流式输出中途点【确认】的并发问题由 Java 单测覆盖(事件日志并发 append 不丢事件),不在本目录。