AgentEvalTool/docs/release-notes-v0.5.md
sinohqb 25b4c98dc8
Some checks failed
CI / test (push) Has been cancelled
docs(release): v0.5「准」发布说明与里程碑收尾
版本升至 0.5.0-dev;新增 release-notes-v0.5.md(判定语义 + 场景版本化
+ 领域文档基线);AGENT.md/AGENTS.md 更新里程碑路线图、判定语义速查与
CONTEXT.md/ADR 指引。
2026-07-29 15:43:15 +08:00

89 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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` 部署重启打断了运行中的评测run `cc15f6a9`)。教训:**重启部署前先查 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、启动清理日志生效
## 七、已知问题
1. t480 访问密码仍为临时值,需自行更换
2. volcengine-102 生产线停留在 v0.4 之前,差距扩大
3. 前端仍无自动化测试(仅 tsc
4. 本地开发 `data/` DB 需手动 `alembic upgrade head`(启动清理靠 try/except 兜底跳过)
## 八、v0.6 候选方向
- volcengine-102 同步(优先)
- 前端测试基线vitest
- 报告趋势分析 / 多 run 聚合看板
- 多模态评测用例
- 配置同步自动化(消灭陷阱 #5