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.
88 lines
5.2 KiB
Markdown
88 lines
5.2 KiB
Markdown
# 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 + 存储 + API(ticket 03)
|
||
- `campaign_analyses` 表:每活动一行 upsert(generating/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 v2:OpenClaw 自适应重规划进入调度热回路
|
||
- volcengine-102 同步
|
||
- 前端测试基线(vitest)
|