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.
5.4 KiB
5.4 KiB
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 活动持久化与 API(ticket 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 验证:活动全生命周期(创建→派生→完成→报告)、重启恢复、取消、前端页面全流程
八、已知问题
- volcengine-102 生产线停留在 v0.4 之前,差距继续扩大
- 前端仍无自动化测试(仅 tsc)
- 加速调试线(time_scale > 1)与正式线共用代码路径,仅靠输入约束区分
九、v0.7 候选方向
- 活动智能分析:周期报告之上,用 LLM 对整窗表现产结构化诊断与建议(已在本周期末立项)
- volcengine-102 同步
- 前端测试基线(vitest)