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 不丢事件),不在本目录。