常见故障自愈有上限,超限收敛终态且可见:任务 attempts 上限、会话过期、 planning 双闸、executing 超窗兜底、触发失败计数判死、孤儿 agent 双管、 fire-and-forget 触发;open_session 预算硬闸门、settle 按终态区分、报告 scores 归一化;cron 池遗留面全删。
14 KiB
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: 在线率、健康度
周期对比(Period Comparison): 同一活动串(同评测对象 + 同计划指纹:场景集合、偏移、次数、窗口完全一致)中,相邻两期正式线活动的对照,回答"这一期比上一期好了还是坏了"。自动按完成时间取前一个已有 completed 分析的活动为基线;计划指纹不一致即无自动基线,可手动另选。区别于"跨活动对比"(多对象并行活动的横切对照)与"对比报告"(Run 级逐项对照)。 Avoid: 环比(暗示固定自然周期,活动窗口可任意长)
正式线 / 加速调试线(Production-line / Accelerated-line):
活动的两种运行档位,由时间倍速区分:time_scale == 1 为正式线(窗口按真实时长走完,代表真实服务周期,享受自动分析、自动周期对比等全链自动化);time_scale > 1 为加速调试线(压缩窗口用于快速验证流程,自动化能力默认关闭,仅手动按需触发)。
Avoid: 真实线、快速模式
探索式评测
虚拟用户(Virtual User): OpenClaw 在探索式评测中扮演的角色:按人设与探索目标模拟拟真用户行为、与被评对象自主对话的智能体。是"行动者"而非"台词生成器"——对话节奏、追问、放弃均由其自主决定。 Avoid: 测试员、脚本机器人、模拟器
探索式评测(Exploratory Evaluation): 与固定场景并行的第二种评测模式:不预设考纲,由虚拟用户按种子自由行动,产出"发现的问题"而非"通过率"。固定场景保留为回归基线(可比性、周期对比建在其上),两模式共用活动/窗口/报告外壳,可在同一活动内混编。(决策见 ADR-0003 v2 修订) Avoid: 自由测试、压力测试、探索测试
探索会话(Exploration Session):
虚拟用户以"人设 × 目标"组合执行的一段完整对话过程,独立实体存储(exploration_sessions,不并入评测运行——Run 绑定场景与规则判定,探索会话两者皆无)。平台提供会话对象、护栏与留痕,对话由 OpenClaw 驱动。
Avoid: 运行、用例、测试会话
种子集(Seed Set):
活动级配置的种子人设(背景、性格、耐心度)与种子目标(如"完成退货")集合,是探索式评测的可比性单位(对应固定场景的"考纲",与 plan 同构)。虚拟用户可在预算约束内从种子衍生有限变体(换表达、换追问策略),全部留痕。
Avoid: 题库、人设库、剧本
体验记录(Experience Record): 探索会话结束时虚拟用户产出的结构化自报:目标是否达成、卡点、被误导处、情绪变化。探索式评测的第一手证据——意图-结果闭环只有行动者自己能给;judge 岗位对抽样对话独立复核补充质量维度,两条证据链在分析层汇合。 Avoid: 评测结果、断言、日志
巡检(Patrol): 常驻代理的周期性自主行动:经 OpenClaw heartbeat/cron 唤醒,调平台巡检 API 查看进行中活动的新结果与预算余量,自主决定"继续观察 / 派探索会话"。全局一个常驻巡检作业,无状态地巡检所有活动;OpenClaw 停摆只暂停探索,固定计划照常。 Avoid: 轮询、心跳(heartbeat 是 OpenClaw 机制名,巡检是平台侧行为)
智能评估
静态评估(Static Evaluation): v0.8 已完整的评测体系:考纲驱动、平台执行、规则判定。预设场景(用例+规则)、平台调度器派生 Run、统计通过率。回答"考纲过了多少"。 Avoid: 固定评估、传统评估
智能评估(Intelligent Evaluation): 与静态评估并列的独立评测体系:目标驱动、OpenClaw 规划执行、AI 判定。用户只给方向(目标+种子+意图+角色),OpenClaw 全权规划与执行,产出可驱动被评对象改善的结构化报告。独立实体(IntelligentEval),与 Campaign 平级,不共享数据表与状态机。 Avoid: 动态评估、自动评估
粗计划(Coarse Plan): OpenClaw 在智能评估中产出的评估规划:评估维度、虚拟用户列表、时间分布编排、预算、完成标准。入库可见,用户审批后才执行。"粗"在于只定方向不定细节——具体对话策略、追问节奏、何时放弃由执行时动态决定。 Avoid: 计划、方案(太泛)
智能评估会话(IntelligentEvalSession): OpenClaw 以虚拟用户身份与被评对象的一段完整对话,全新实体(不复用 exploration_sessions)。归属智能评估、含人设/目标/维度、会话级评估(verdict)。终态有两个:completed(worker 正常关闭)与 expired(60 分钟无新轮次由平台判定过期);提交结构化报告要求全部会话到达终态,expired 会话在报告中标注为不完整证据。(决策见 ADR-0011) Avoid: 探索会话(那是静态评估增强层的概念)、运行
结构化报告(Structured Report): 智能评估的最终产出:发现清单(问题+证据+严重程度+改善建议)+ 亮点 + 优先级建议。消费者有两个:人(看问题)和 AI(拿报告去改被评对象的提示词/SOP,驱动其进化)。 Avoid: 评估报告(与静态评估的报告混淆)、分析(与 Analysis 岗位混淆)
评估角色(Evaluation Role): OpenClaw 在智能评估中按职责拆分的三个角色:规划师(planner,产出粗计划)、评估者(evaluator,执行对话)、分析师(analyst,汇总报告)。每个角色可配置不同大模型,对应三个独立技能文件。 Avoid: 岗位(与模型用途的"岗位"概念冲突)
时间窗口(Time Window): 智能评估的模拟约束:模拟一个完整服务周期(如 24h)内的用户交互分布。OpenClaw 规划时考虑交互时机(早高峰、午间冷清、晚间投诉多),执行时机由平台扫描判断时段到期后经触发式执行保证。是模拟约束而非硬截止。 Avoid: 窗口(与静态评估的"服务周期窗口"混淆时需加前缀)
触发式执行(Trigger-driven Execution): 智能评估的执行机制:平台掌控节奏——每 60s 扫描 executing 评估,判断时段到期/欠账后入队;有任务时触发一个无状态 OpenClaw agent(headless,执行 worker skill 后即退)从任务队列取任务执行。执行单元自主决策(执行会话/等待/开始分析),平台负责节奏与兜底(assigned 超时重入队、决策日志补录)。时段约束:每次触发只执行当前到期时段(time_distribution 中当前 offset 所在时段)内欠账的会话,绝不创建未来时段会话——由平台每 60s 持续触发推进后续时段,保证时间窗口内的交互按时段分布而非一次建完。独立会话:每次触发用独立 OpenClaw session(避免复用 main 持久会话导致上下文缓存污染、agent 幻觉不执行)。取代旧"常驻 cron 每分钟自唤醒"机制(ADR-0007,已被 ADR-0009 取代,遗留代码按 ADR-0011 决策清除)。(决策见 ADR-0009、ADR-0010) Avoid: 轮询、调度(与静态评估活动调度混淆)
任务队列(Task Queue): 平台侧的待处理评估队列,持久化在 DB。每分钟扫描所有 executing 评估,判断哪些需要立即处理(时段到期、有欠账),按优先级排序(时段到期 > 欠账多 > 等待时间长)。触发式执行中被触发的 agent 从队列取任务。 Avoid: 消息队列(与 MQ 混淆)、任务列表
配置快照(Config Snapshot): 智能评估配置的历史版本(四件套、粗计划、时间窗口)。创建评估、提交计划、修改配置时自动保存,支持对比和回滚。用于追溯配置变更历史。 Avoid: 版本(与场景版本混淆)、备份
决策日志(Decision Log):
执行单元每次唤醒/触发时的决策记录(执行会话/等待/开始分析 + 原因 + 上下文)。持久化在 DB,用于调试和审计 OpenClaw 的自主决策过程。agent 未上报时由平台兜底补录(cron_id=platform)。
Avoid: 日志(太泛)、审计日志(与安全审计混淆)
模型配置
模型能力(Capability): 供给侧属性:一个已接入模型本身能干什么(对话 / 向量 / 审核)。描述模型,不描述评测流程。 Avoid: 功能、类型
模型用途(Purpose): 需求侧属性:评测流程中的角色岗位(出题 generator / 判卷 judge / 向量 embedding / 审核 moderation / 分析 analysis)。场景通过模型绑定为每个岗位指派一个具备相应能力的模型;一个对话能力模型可同时胜任出题、判卷、分析等岗位。 Avoid: 能力、角色(role 留给对话消息的 role 字段)
分析(Analysis)岗位: 模型用途的一种:对一整次评估活动(Campaign)的聚合结果做复杂诊断,产出结构化的问题分析与服务质量改善建议。区别于判卷(judge 只裁单轮回复),分析是活动级、跨场景的叙述性研判。因活动跨场景,分析模型不按场景绑定,而是全局默认指派、活动创建时可覆盖。 Avoid: 判卷、总结