Some checks failed
CI / test (push) Has been cancelled
版本升至 0.5.0-dev;新增 release-notes-v0.5.md(判定语义 + 场景版本化 + 领域文档基线);AGENT.md/AGENTS.md 更新里程碑路线图、判定语义速查与 CONTEXT.md/ADR 指引。
5.1 KiB
5.1 KiB
AgentEvalTool v0.5 版本发布说明
版本: v0.5.0-dev 日期: 2026-07-28 ~ 2026-07-29 状态: 已发布(t480 开发线) 代号: 「准」(Judgement semantics milestone) 作者: AgentEval Team
一、版本定位
v0.5 的主题是把评测的"判定语义"从含糊变成准确。起因是一次领域模型拷问(/grill-with-docs):期望与规则的关系是什么?没配规则的用例算通过还是没测?动态生成的用例凭什么可以对比?这些问题在代码里都有隐含答案,但和产品意图不一致。本版本先把领域语言写成文档(CONTEXT.md 词汇表 + ADR),再按文档修正实现。
v0.1 (2026-07-09) MVP 闭环
v0.2 (2026-07-14) 「稳」async 引擎 + 安全基线 + 部署规范化
v0.3 (2026-07-17) 「拓」多通道 + 规则扩展 + 模型配置中心
v0.4 (2026-07-28) 「联」AI 助手标准化 + 登录 + 仪表盘重构
v0.5 (2026-07-29) ← 你在这里:「准」判定语义 + 场景版本化
二、领域模型文档化(新增基线)
CONTEXT.md(仓库根):14 个领域术语的唯一词汇表(评测对象/期望/评估规则/连通用例/场景版本/通过率/…)docs/adr/0001: 场景版本化保证可比性——仅"考纲"字段(cases / model_bindings / llm_config)变更时升版docs/adr/0002: 通过率有意包含执行失败(故障也是质量问题),不要当 bug"修掉"
三、主要功能(5 张 tracer-bullet 票)
3.1 期望与规则叠加生效(ticket 01)
- 旧行为:case 配了显式规则时
expectation被忽略(互斥);新行为:期望始终派生隐式 llm_score 规则,与显式规则叠加 - 隐式规则是 rule_logic 之外的硬约束:
case_passed = 显式规则组合结果 AND 所有隐式规则通过 - 隐式规则的 reason 带
[期望]前缀,报告中可区分
3.2 连通用例标注 + 判定通过率(ticket 02)
- 无规则且无期望的用例 = 连通用例(合法的连通性验证,不是配置缺失)
- 报告层派生标注:
connectivity标记 + 🔗 徽章;全部轮次有回复即算通过 - 新增
judged_pass_rate:剔除连通用例后的判定通过率(分母为零时为 null);原pass_rate口径不变(ADR-0002)
3.3 场景版本化(ticket 03)
Scenario.version系统维护,外部传入值忽略;新建=1,更新时对比考纲字段(JSON 序列化对比),变更才 +1- 改名字/描述不升版;重存相同考纲不升版(有回归测试锁定)
3.4 运行快照场景版本(ticket 04)
EvalRun.scenario_version在运行创建时快照,场景后续升版不影响历史运行- 迁移回填:存量 run 回填其场景当前版本(场景已删则为 1)
3.5 对比报告限同版本(ticket 05)
- 对比要求同场景且同考纲版本:API 400(提示双方版本)+ report 层 ValueError 双保险
- 前端:报告 B 下拉只列同场景同版本;场景筛选/富选项下拉/各页面全面展示
v{n}版本标签
四、修复与体验
- 启动僵尸运行清理:评测是进程内 asyncio 任务,重启即中断。现在启动时自动把遗留 running/pending 标记为 failed(
summary.error = interrupted),尽力而为不阻断启动。起因:一次--skip-build部署重启打断了运行中的评测(runcc15f6a9)。教训:重启部署前先查 running_count - 导出报告 401 修复:登录鉴权启用后
window.open直连导出接口不带X-Auth-Token。三处导出(HTML/MD/JSON)改为经 axios 拉取 blob 后触发下载 - 触发来源标签全量展示:手动/AI 助手/CLI 标签在列表、下拉、报告头、对比卡全部常显
- 仪表盘指标卡重设计:固定高度三行布局(标题/数值/副行),修复"累计执行"换行导致卡片高度不一
五、测试与质量
| 指标 | v0.4 | v0.5 |
|---|---|---|
| 测试数量 | 232 | 259 |
| 新增 | — | 期望叠加矩阵×6、连通/判定通过率×7、场景版本 API×8、快照+迁移×3、对比校验×2、僵尸清理×2 等 |
流程上首次完整走通 /grill-with-docs → /to-spec → /to-tickets → /implement(×5, TDD + 双轴 code-review) 链路,spec 与票据在 .scratch/v0.5/。
六、部署与配置变更
- 两个新迁移:
c8e2f5a7b901(scenarios.version)、d5b8c2e4f617(eval_runs.scenario_version + 回填),容器启动自动alembic upgrade head - 无新增环境变量
- t480 验证:迁移自动应用、存量 3 场景 v1 / 35 运行回填 v1、报告含 scenario_version / connectivity_cases / judged_pass_rate、启动清理日志生效
七、已知问题
- t480 访问密码仍为临时值,需自行更换
- volcengine-102 生产线停留在 v0.4 之前,差距扩大
- 前端仍无自动化测试(仅 tsc)
- 本地开发
data/DB 需手动alembic upgrade head(启动清理靠 try/except 兜底跳过)
八、v0.6 候选方向
- volcengine-102 同步(优先)
- 前端测试基线(vitest)
- 报告趋势分析 / 多 run 聚合看板
- 多模态评测用例
- 配置同步自动化(消灭陷阱 #5)