AgentEvalTool/CONTEXT.md
sinohqb f433ebb970 feat(campaigns): dual-axis periodic report (time trend + capability)
Add generate_campaign_report: a pure aggregator over a campaign's child Runs
producing a time-trend axis (Runs bucketed by service-window position) and a
capability-summary axis (grouped by scenario), each carrying pass_rate /
availability / latency. pass_rate keeps the single-Run case-level meaning and
counts execution failures as 0.0 (ADR-0002); time_scale only places Runs into
window-time buckets and never alters any figure. Engine summary now records
avg_latency_ms to feed the latency axis.

Expose GET /api/campaigns/{id}/report (structured) and .../report/markdown
(reusing the existing Markdown export path). Adds "可用性/Availability" to the
domain glossary.
2026-07-30 13:55:32 +08:00

5.8 KiB
Raw Blame History

AgentEvalTool

智能体质量评估平台的领域词汇表。评估 AI 数字员工 / AI 助手的服务质量:向被评智能体发送消息、收集回复、按规则打分并生成报告。

Language

评测对象Target / EvalTarget: 被评估的智能体本身。每个被评智能体只有一个可访问地址,评测对象与其通道连接信息一一对应(不区分测试/生产等多环境部署)。 Avoid: 被测系统、机器人、环境

平台类型Platform: 被评智能体的产品形态分类AI 数字员工 / AI 助手),意图是未来据此选择评测策略;目前仅作分类标签,不参与任何评测逻辑。 Avoid: 产品线、渠道

通道Channel: 向评测对象收发消息的技术接入协议tutu-api / openclaw / http。通道决定"怎么连",与平台类型("是什么形态")相互独立。 Avoid: 接口、连接器

期望Expectation: 用例层面的业务意图描述:智能体应当如何回应(意图、必含/禁含关键词、时延上限)。表达"想要什么",与评估规则("怎么判定")叠加生效,不是规则的替代品。 Avoid: 断言、预期结果

评估规则EvalRule: 对单轮回复的可执行判定标准keyword_match / response_time / llm_score产出通过与否和得分。用例的唯一正式判定机制。 Avoid: 校验器、断言

连通用例Connectivity Case: 不配置任何规则与期望的用例,仅验证消息能发出且收到回复,收到即通过。合法用法,但报告中应与判定型用例区分标注,避免稀释通过率。 Avoid: 空用例、无效用例

场景Scenario: 一组评测用例的集合,定义一次评测的"考纲"——考察哪些能力维度。场景是对比报告的可比性单位:同场景的两次运行即可比,无论具体对话内容是否相同。 Avoid: 测试集、题库

用例Case: 场景内的单个考察项分单轮single、多轮multi_turn、动态dynamic三类。静态用例题目固定动态用例只固定考察意图prompt每次运行由 AI 现场生成对话消息。 Avoid: 测试点、题目

对比报告Compare Report: 同一场景(同版本考纲)下两次运行的逐项对照。可比性来自"同考纲"而非"同考卷"——动态用例题目不同不影响可比。跨场景对比无意义,系统拒绝。 Avoid: 差异报告

场景版本Scenario Version: 场景考纲的版本标识。仅考纲字段用例集、模型绑定、LLM 配置)变更时递增;名称、描述、标签等元数据编辑不升版。(决策见 ADR-0001 Avoid: 修订号

评测运行Run / EvalRun: 一次"评测对象 × 场景"的完整执行记录,含触发来源(手动 / AI 助手 / CLI、逐轮对话与全部判定结果。 Avoid: 任务、作业、测试

轮次Turn: 一次完整的问答往返:向评测对象发出一条消息并收到其回复。不是单方向的一条消息——turns: 3 表示 3 个问答对。 Avoid: 消息、回合round 仅作代码内索引名)

通过率Pass Rate: 通过用例数 ÷ 全部用例数。刻意采用服务视角:通道故障、超时等执行失败同样计为不通过——用户视角里"没回复"就是质量问题,不从分母中剔除。(决策见 ADR-0002 Avoid: 成功率、达标率

周期评估

评估活动Campaign: 针对单个评测对象、跨一个服务周期窗口的评估聚合,模拟该智能体在完整服务周期内面对的真实用户行为。活动是 Run 之上的聚合:按计划在窗口内派生多个普通 Run每个 Run 仍是"一个对象 × 一个场景"的单次执行),最终聚合成周期评估报告(时间趋势 + 能力汇总双主轴)。活动状态入库、抗重启。多对象通过并行多个活动 + 跨活动对比实现。 Avoid: 批量任务、计划任务、24小时任务窗口长度可配不特指 24h

服务周期窗口Service-Cycle Window: 活动的时间跨度,模拟被评智能体一个完整的持续服务周期。长度可自定义(如 6 / 12 / 24 / 48 / 72 小时24 小时为"一天"的默认代表。 Avoid: 时长、周期(周期单指这个窗口)

活动计划Campaign Plan: 活动在窗口内"何时、对哪个对象、跑哪个场景、多大强度、以何种用户人设"的时间编排。由 OpenClaw 作为"虚拟用户大脑"在活动层生成,并在窗口内的决策点依据已完成时段的结果自适应调整后续编排;平台调度器负责耐久执行(派生 Run、重启后续跑、决策点唤醒 OpenClaw。计划编排已有场景时段内的具体对话仍由动态用例生成器产出。 Avoid: 排程、日程表

可用性Availability: 活动周期报告中的一个维度:某时段(或整窗)内正常完成的子 Run 占比completed / 已派生)。与通过率正交——通过率反映"回答质量"用例级、含故障判不通过ADR-0002可用性反映"服务是否可达/执行是否成功"。通道故障导致的失败子 Run 拉低可用性。 Avoid: 在线率、健康度

模型配置

模型能力Capability: 供给侧属性:一个已接入模型本身能干什么(对话 / 向量 / 审核)。描述模型,不描述评测流程。 Avoid: 功能、类型

模型用途Purpose: 需求侧属性:评测流程中的角色岗位(出题 generator / 判卷 judge / 向量 embedding / 审核 moderation。场景通过模型绑定为每个岗位指派一个具备相应能力的模型一个对话能力模型可同时胜任出题与判卷两个岗位。 Avoid: 能力、角色role 留给对话消息的 role 字段)