docs(release): freeze v0.6「巡」/ v0.7「析」milestone as 0.7.0

Record the Campaign milestone (v0.6: durable scheduler, dual-axis
report, campaigns page) and the campaign-intelligence milestone (v0.7:
two-phase analysis agent, analysis model default/override, drawer
section, auto-trigger and markdown export). Bump the single-source
version to 0.7.0.
This commit is contained in:
sinohqb 2026-08-03 02:42:47 +08:00
parent 5d04455664
commit fca3d64270
5 changed files with 196 additions and 4 deletions

105
docs/release-notes-v0.6.md Normal file
View File

@ -0,0 +1,105 @@
# AgentEvalTool v0.6 版本发布说明
**版本**: v0.6
**日期**: 2026-07-29 ~ 2026-08-02
**状态**: 已发布(t480 开发线)
**代号**: 「巡」(Campaign milestone)
**作者**: AgentEval Team
---
## 一、版本定位
v0.6 的主题是**从"单次评测"走向"周期化持续评测"**。v0.5 之前,平台只能对某对象某场景跑一次性 Run真实诉求是"在一个服务周期窗口内按计划持续考察同一对象,窗口结束后拿到周期报告"。本版本引入一等公民**评估活动Campaign**:持久化的窗口计划 + 耐久调度器 + 双主轴周期报告 + 全新的活动管理页。
```
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) 「准」判定语义 + 场景版本化
v0.6 (2026-08-02) ← 你在这里:「巡」评估活动 + 周期报告
```
## 二、领域模型与决策(新增基线)
- **`CONTEXT.md`** 新增活动词汇:评估活动 / 服务周期窗口 / 活动计划 / 子运行 / 时间倍速 等
- **`docs/adr/0003`**活动分两期——v1 静态地基(平台自持耐久调度,窗口内不依赖 OpenClaw 存活v2 才让 AI 进入调度热回路自适应重规划
- **`docs/adr/0004`**:跨 Run 聚合统一口径——执行故障计 0.0、用户取消排除出分母,单一函数实现,所有跨 Run 读者共用
## 三、主要功能10 张 tracer-bullet 票)
### 3.1 活动持久化与 APIticket 01
- `Campaign` 领域模型 + `campaigns` 表:窗口时长、时间倍速、计划条目(场景/偏移/次数、状态机planned/running/completed/failed/cancelled
- 创建/列表/取消 API创建即启动调度
### 3.2 调度决策与子运行派生ticket 02
- 纯函数调度器 `campaign_scheduler`:给时钟位置算到期条目;派生的子 Run 复用单次执行路径(`EvalEngine.run` + `campaign_id`
- 已派生索引持久化在 `campaign.summary.scheduler`,同一时钟位置绝不重复派生
### 3.3 耐久调度循环ticket 03
- 每 tick 从 DB 重载权威状态,循环可随时拆建:**重启恢复**不丢进度、不重派;取消为协作式信号
- 启动时自动为遗留 RUNNING 活动重建循环
### 3.4 双主轴周期报告ticket 04
- **时间趋势**:窗口分桶,每桶运行数/通过率/可用性/时延
- **能力汇总**按场景聚合同口径ADR-0004取消的子运行不计入
### 3.5 活动管理页ticket 05
- 列表实时进度(轮询)、状态/通过率/时延列、行内展开、周期报告视图
### 3.6 过程时间轴端点ticket 06
- `/api/campaigns/{id}/timeline`:子运行拍平到窗口偏移上,前端时间轴的数据 seam
### 3.7 反推倍速输入ticket 07
- 创建表单不再手填 time_scale选「目标运行时长」由窗口时长反推倍速正式线 = 1 倍速)
### 3.8 共享只读时间轴组件ticket 08
- `WindowTimeline`:窗口标尺 + 标记点,计划预览与过程时间轴共用
### 3.9 计划时间轴预览ticket 09
- 创建表单内实时预览计划落点;标记按场景分泳道、防重叠错位;计划起点封顶不超出窗口
### 3.10 行内过程时间轴ticket 10
- 列表展开行直接看子运行在窗口上的分布与状态,进行中活动持续生长
## 四、架构深化(同期 refactor 弧)
为让活动与后续分析落在好改的地基上,本周期做了一轮模块深化:
- **判定收口**case 通过判定收敛为单一深模块;`case_outcomes` 成为各读路径的权威来源
- **报告分层**:生成(`evaluation/report`)与渲染(`report_render`,纯函数 dict→HTML/MD/JSON分离
- **存储骨架**`BaseRepository` 收敛各实体的 CRUD 骨架,子类只声明表与转换器
- **任务注册表**`TaskRegistry` 统一 run/campaign 两类后台任务的注册与取消
- **前端共享 hook**`useResource`(加载/轮询资源)与 `usePolling` 收敛各页重复模式
- **指标 VO**`RunSummary`/`CampaignSummary` 类型化,跨 Run 聚合单一口径函数
## 五、体验迭代3 轮)
- 创建活动改为 920px Drawer基本信息 / 时间与速度 / 计划预览 / 计划条目分区
- 报告抽屉重建StatCard 指标行 + 过程时间轴 + 时间趋势图 + 能力排行图 + 子运行表
## 六、测试与质量
| 指标 | v0.5 | v0.6 |
|---|---|---|
| 测试数量 | 259 | **402** |
| 新增 | — | 调度器纯函数×20+、耐久循环×4、双轴报告×7、时间轴×6、迁移×2、VO/仓储/注册表等 |
## 七、部署与配置变更
- 迁移 `e6c3d1a2f809`campaigns 表),容器启动自动 `alembic upgrade head`
- 新增环境变量 `AGENTEVAL_POLL_REPLY_TIMEOUT`(引擎 poll_reply 超时可配)
- t480 验证:活动全生命周期(创建→派生→完成→报告)、重启恢复、取消、前端页面全流程
## 八、已知问题
1. volcengine-102 生产线停留在 v0.4 之前,差距继续扩大
2. 前端仍无自动化测试(仅 tsc
3. 加速调试线time_scale > 1与正式线共用代码路径仅靠输入约束区分
## 九、v0.7 候选方向
- **活动智能分析**:周期报告之上,用 LLM 对整窗表现产结构化诊断与建议(已在本周期末立项)
- volcengine-102 同步
- 前端测试基线vitest

View File

@ -0,0 +1,87 @@
# AgentEvalTool v0.7 版本发布说明
**版本**: v0.7.0
**日期**: 2026-08-03
**状态**: 已发布(t480 开发线)
**代号**: 「析」(Campaign intelligence milestone)
**作者**: AgentEval Team
---
## 一、版本定位
v0.7 的主题是**让周期报告"会说话"**。v0.6 的活动报告回答了"通过率多少、哪里掉了",但读报告的人还要自己把数字翻译成结论与行动。本版本在终态活动之上加**智能分析**:由 LLM 对整窗表现产出结构化的总体结论、问题诊断、分场景叙述与改善建议,证据可下钻到具体子运行。
```
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) 「准」判定语义 + 场景版本化
v0.6 (2026-08-02) 「巡」评估活动 + 周期报告
v0.7 (2026-08-03) ← 你在这里:「析」活动智能分析
```
## 二、关键设计决策
- **触发**正式线time_scale == 1活动完成后自动生成加速调试线按需手动 + 结果缓存
- **形态**:结构化 JSON 区块(非自由文本),证据 chip 跳 `/reports?run={id}` 下钻Markdown 导出拼装同一份数据
- **Agent**:两阶段——每场景并行诊断(产场景叙述 + 问题草稿)→ 综合研判(产总体结论 + 跨场景问题 + 优先级建议)
- **模型**:模型配置中心的 chat 配置可加「分析默认」标记(全局唯一),活动级可空覆盖
- **时机**仅终态completed/failed/cancelled可生成进行中/计划中禁用API 400 + 前端禁用提示)
- **可信度**:模型引用的 run_id/场景 id 落库前过白名单,虚构引用剔除;非法严重度归一为"中"
## 三、主要功能5 张 tracer-bullet 票)
### 3.1 模型配置中心「分析默认」ticket 01
- chat 配置可加「分析默认」标记,全局唯一(设置新的自动清旧的);停用或非 chat 配置拒绝设为分析默认
- 配置列表紫色「分析默认」标签
### 3.2 活动级分析模型覆盖ticket 02
- `campaigns.analysis_model_config_id` 可空覆盖;创建表单「分析模型」下拉默认跟随全局分析默认
- 模型解析顺序:活动覆盖 ?? 全局分析默认;两者皆无 → 自动触发静默跳过 / 手动触发 400 引导
### 3.3 两阶段分析 Agent + 存储 + APIticket 03
- `campaign_analyses` 表:每活动一行 upsertgenerating/completed/failed + result JSON + 模型快照 + 错误 + 触发来源)
- 输入复用 `generate_campaign_report` 聚合结果不重算ADR-0002/0004 口径)+ 每场景最多 3 条截断的代表性失败对话
- `GET /api/campaigns/{id}/analysis`(空态 `{"status":"none"}`)、`POST` 触发/重跑;后台 asyncio 任务,失败落 error
- 测试 seam可注入 ChatClient单测用假客户端覆盖编排/解析失败/白名单/无模型分支
### 3.4 报告抽屉「智能分析」区块ticket 04
- 状态行生成中5s 轮询)、失败(错误原因 + 重试)、未生成(生成按钮 + 无模型引导文案)
- 已生成:总体结论 callout → 问题诊断(严重度配色 + 场景名 + 证据 chip 跳转)→ 分场景叙述 → 改善建议(按优先级排序)
- 生成/重新生成仅终态可用;展示所用分析模型名与生成时间
### 3.5 正式线自动触发 + Markdown 导出纳入ticket 05
- 调度循环写入 COMPLETED 的同一处自动 enqueue`triggered_by=auto`);加速线/取消/无模型全部静默跳过,不阻塞活动完成
- 活动 Markdown 导出在存在 completed 分析时追加「智能分析」四区块;无分析时导出与旧版一致
## 四、测试与质量
| 指标 | v0.6 | v0.7 |
|---|---|---|
| 测试数量 | 402 | **443** |
| 新增 | — | 分析编排×9、分析 API×9、自动触发×4、Markdown 区块×3、迁移×2、模型校验等 |
流程沿用 `/grill-with-docs → /to-spec → /to-tickets → /implement(×5, TDD + 内联双轴评审)`spec 与票据在 `.scratch/v0.7/`
## 五、部署与配置变更
- 三个新迁移:`a3f9c2e71b48`is_analysis_default、`b7e4d3a92c15`campaigns.analysis_model_config_id、`c8f5e4b13d26`campaign_analyses 表),容器启动自动应用
- 无新增环境变量
- **使用前提**:模型配置中心需有一个启用的 chat 配置被设为「分析默认」,否则自动触发静默跳过、手动触发 400
- t480 验证:健康检查 version/commit 一致、alembic 到 `c8f5e4b13d26 (head)`、分析端点鉴权后 404 正常
## 六、已知问题
1. volcengine-102 生产线停留在 v0.4 之前
2. 前端仍无自动化测试(仅 tsc
3. 分析质量依赖分析模型能力;失败样例每场景仅 3 条截断样本,长对话可能被截断
4. 分析生成期间刷新抽屉不丢状态,但跨设备/会话不共享"生成中"进度提示(以轮询为准)
## 七、下一版候选方向
- 分析结果周期性对比(相邻两个活动的结论 diff
- ADR-0003 v2OpenClaw 自适应重规划进入调度热回路
- volcengine-102 同步
- 前端测试基线vitest

View File

@ -1,12 +1,12 @@
{ {
"name": "agenteval-web", "name": "agenteval-web",
"version": "0.5.0-dev", "version": "0.7.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "agenteval-web", "name": "agenteval-web",
"version": "0.5.0-dev", "version": "0.7.0",
"dependencies": { "dependencies": {
"@ant-design/charts": "^2.6.7", "@ant-design/charts": "^2.6.7",
"@ant-design/icons": "^6.3.2", "@ant-design/icons": "^6.3.2",

View File

@ -1,6 +1,6 @@
{ {
"name": "agenteval-web", "name": "agenteval-web",
"version": "0.5.0-dev", "version": "0.7.0",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {

View File

@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project] [project]
name = "agenteval" name = "agenteval"
version = "0.5.0-dev" version = "0.7.0"
description = "智能体质量评估工具集平台" description = "智能体质量评估工具集平台"
readme = "README.md" readme = "README.md"
requires-python = ">=3.10" requires-python = ">=3.10"