AI测试工程笔记 05:AI评测实践(从数据集到自动评测闭环)

一、背景:为什么要做AI评测

在 AI WorkLog Agent 项目中,系统核心流程:

输入 → LLM决策 → Tool调用 → 状态存储 → 输出

和传统系统不同,这类系统:

系统"能运行",不代表"决策是对的"

例如:

  • 情绪输入被当成查询

  • 记录请求未触发写入

  • 越权操作没有被拒绝

这些问题,传统测试很难覆盖。

所以,需要一套:

👉 可复现、可量化的评测机制


二、评测设计思路(核心框架)

这次评测围绕 Agent 决策链路,设计两类数据集:

1. 回归数据集(Regression)

用于验证正常流程:

  • 记录类(record_fragment)

  • 查询类(get_fragments_by_date)

  • 拒绝类(reject)


2. 异常数据集(Bad Case)

用于验证异常场景:

  • 情绪输入(如:今天太累了)

  • 模糊指令(如:帮我做点啥)

  • 非法输入(如:12345)

  • 越权请求(如:删除记录)

  • 多意图输入(如:查完再总结)


三、数据集结构设计(关键)

每条测试用例统一结构如下:

复制代码
{
  "case_id": "B001",
  "case_type": "badcase",
  "input": {...},
  "precondition": {...},
  "expectation": {
    "expected_tool": null,
    "should_write_state": false
  }
}

核心设计点:

  • 使用 expected_tool 作为核心判断标准

  • 使用 should_write_state 判断是否影响系统状态

  • 保证每条case可复现、可执行


四、评测执行:自动化评测脚本

评测脚本 run_eval.py,核心流程:

评测流程

  1. 读取 JSONL 数据集

  2. 逐条执行测试用例

  3. 调用 Agent 核心函数

  4. 提取实际执行结果(tool_called)

  5. 与 expectation 对比

  6. 判定 pass / fail

  7. 输出结果与统计


判定规则(简化版)

复制代码
expected_tool == actual_tool → pass
否则 → fail

五、评测结果(关键)

第一阶段:种子数据验证

  • 用例数:4

  • 通过:3

  • 失败:1

  • 通过率:75%

失败案例:

情绪输入被误识别为查询请求


第二阶段:扩展数据集评测

  • 用例数:16

  • 通过:8

  • 失败:8

  • 通过率:50%


六、问题归因分析(核心)

通过评测,识别出三类核心问题:


1. 意图识别错误(最主要问题)

表现:

  • 情绪输入 → 被识别为查询

  • 无效输入 → 触发 Tool

原因:

LLM 决策层缺乏明确的"拒绝边界"


2. 记录意图识别失败

表现:

  • "帮我记一下..." 未触发 record

原因:

record 关键词识别不完整 / 优先级不足


3. 越权与多意图处理问题

表现:

  • 删除请求未拒绝

  • 多步骤指令未拆解

原因:

缺乏安全约束与指令分解机制


七、优化方向(思路)

基于问题分析,提出优化方向:

1. Prompt约束增强

  • 非任务型输入禁止调用 Tool

  • 明确 record / query / reject 边界


2. 规则层补充

  • 增加关键词过滤

  • 增加越权操作拦截


3. 意图优先级调整

  • record > query > fallback

八、总结:AI评测的核心价值

核心不是"写脚本",而是:

构建一套可复现的评测方法

相比传统测试,这种方式可以:

  • 发现"决策错误",而非仅功能错误

  • 对AI系统质量进行量化评估(通过率)

  • 支持持续回归与优化验证


九、延伸思考

后续可以进一步扩展:

  • 引入 LLM 作为评判(LLM as Judge)

  • 接入 CI 做自动评测

  • 构建长期回归数据集

相关推荐
lbh2 小时前
当我开始像写代码一样和AI对话,一切都变了
前端·openai·ai编程
云境筑桃源哇2 小时前
海洋ALFA:主权与创新的交响,开启AI生态新纪元
人工智能
liliangcsdn2 小时前
LLM复杂数值的提取计算场景示例
人工智能·python
小和尚同志3 小时前
OpenCodeUI 让你随时随地 AI Coding
人工智能·aigc·ai编程
AI视觉网奇3 小时前
2d 数字人解决方案-待机动作
人工智能·计算机视觉
人工智能AI酱3 小时前
【AI深究】逻辑回归(Logistic Regression)全网最详细全流程详解与案例(附大量Python代码演示)| 数学原理、案例流程、代码演示及结果解读 | 决策边界、正则化、优缺点及工程建议
人工智能·python·算法·机器学习·ai·逻辑回归·正则化
爱喝可乐的老王3 小时前
机器学习监督学习模型--逻辑回归
人工智能·机器学习·逻辑回归
Ao0000003 小时前
机器学习——逻辑回归
人工智能·机器学习·逻辑回归
智算菩萨3 小时前
【How Far Are We From AGI】3 AGI的边界扩张——数字、物理与智能三重接口的技术实现与伦理困境
论文阅读·人工智能·深度学习·ai·agi