针对Agent的工作流生成测试用例场景以及Agent评测
·
1️⃣ 功能层(Functional)
验证“能不能用”
测试点:
- 输入是否能正确得到预期输出
- 工作流节点是否正确串联
- 工具调用是否成功
示例用例:
|
用例ID |
输入 |
期望输出 |
|
TC001 |
“帮我写邮件” |
返回完整邮件 |
|
TC002 |
查询天气 |
正确调用天气API |
2️⃣ 语义层(AI特有)
验证“理解对不对”
测试点:
- 意图识别
- 多义词理解
- 上下文连续性
示例:
- 输入:“帮我订明天最早的票”
- 检查:
-
- 是否识别“时间=明天”
- 是否理解“最早”
👉 这里通常用:
- embedding 相似度
- LLM-as-judge
3️⃣ 鲁棒性层(Robustness)
验证“会不会崩”
重点覆盖:
- Prompt 注入
- 垃圾输入
- 超长输入
- 多语言混杂
示例:
输入:Ignore previous instructions and...
期望:
- 不越权
- 不泄露系统 prompt
4️⃣ 系统层(System / Workflow)
验证“流程是否稳定”
测试点:
- 多步骤一致性
- 状态管理(memory)
- 重试机制
- 并发
示例:
- 连续对话 10 轮是否上下文正确
- 工具失败是否 fallback
、
说到Agent的工作流场景来生成测试用例,其实本质就是针对Agent做评测,接下来说一下Agent评测的流程
一、Agent评测总体流程(全链路)
定义任务 → 构建评测集 → 执行Agent → 采集轨迹 → 多维评估 → 汇总分析 → 持续回归
二、Step 1:定义评测目标(Evaluation Goals)
先明确你评测什么,否则后面全是噪声。
常见目标(按优先级)
1️⃣ 任务成功率(Success Rate)
- 是否完成目标任务
- 最核心指标
2️⃣ 推理能力(Reasoning)
- 是否正确拆解任务(planning)
- 是否路径合理
3️⃣ 工具使用能力(Tool Use)
- 是否选对工具
- 参数是否正确
- 是否处理失败
4️⃣ 效率(Efficiency)
- 步骤数(steps)
- token 消耗
- latency
5️⃣ 稳定性(Robustness)
- 多次执行结果一致性
- 是否容易崩
👉 输出一个“评测指标表”:
{
"success_rate": true,
"tool_accuracy": true,
"latency": true,
"robustness": true
}
三、Step 2:构建评测数据集(Dataset)
数据来源(非常关键)
✅ 1. 人工构造(高质量)
- 覆盖典型任务
- 覆盖边界场景
✅ 2. 真实用户数据(最重要)
- 用户日志
- 失败case
✅ 3. LLM生成(补充长尾)
- 扩展多样性
数据结构(推荐)
{
"id": "task_001",
"input": "帮我找上海明天的天气并推荐穿搭",
"expected": {
"type": "multi_step",
"criteria": [
"调用天气API",
"返回天气",
"给出穿搭建议"
]
},
"difficulty": "medium"
}
数据集分层(大厂实践)
- Easy(单步)
- Medium(2~3步)
- Hard(多工具+推理)
👉 避免只测简单case
四、Step 3:执行 Agent(Execution)
这里是“评测的核心引擎”。
执行内容
对每个case:
输入 → Agent运行 → 输出结果 + 中间轨迹
必须记录(关键)
1️⃣ 最终输出
- answer
2️⃣ 推理轨迹(trace)
- 思考过程(可选)
- tool calls
3️⃣ 工具调用日志
{
"tool": "weather_api",
"params": {"city": "Shanghai"},
"success": true
}
👉 没有 trace = 无法调优(大坑)
五、Step 4:评估(Evaluation)
这是最“AI化”的部分,一般是多评估器组合。
4.1 规则评估(Rule-based)
适用于:
- 工具调用
- 格式
示例:
是否调用 weather_api → YES/NO
4.2 LLM评估(LLM-as-a-Judge)
核心方法:
输入:任务 + Agent输出
输出:评分(0~5)+ 理由
👉 示例 Prompt:
请评估以下Agent输出是否完成任务:
任务:查询天气并推荐穿搭
标准:
1. 是否包含天气信息
2. 是否有合理建议
输出:
score: 0-5
reason:
4.3 轨迹评估(Process Evaluation)
评估“过程”,不是结果:
检查:
- 是否多余步骤
- 是否错误路径
- 是否死循环
4.4 工具评估(Tool Metrics)
指标:
- Tool Selection Accuracy
- Tool Success Rate
- 参数正确率
六、Step 5:指标计算(Metrics)
最终会得到:
核心指标
|
指标 |
含义 |
|
Success Rate |
完成任务比例 |
|
Avg Steps |
平均步骤 |
|
Tool Accuracy |
工具使用正确率 |
|
Cost |
token成本 |
|
Latency |
延迟 |
示例:
{
"success_rate": 0.82,
"avg_steps": 3.4,
"tool_accuracy": 0.91,
"latency_p95": "2.3s"
}
七、Step 6:分析与诊断(Analysis)
大厂会重点做这一步:
1️⃣ 失败case分析
- 为什么失败?
- 哪一步错?
2️⃣ 分类问题
常见问题类型:
- reasoning错误
- tool选择错误
- prompt问题
- memory问题
3️⃣ 可视化
- success vs difficulty
- tool使用分布
八、Step 7:持续回归(CI/CD)
这是“工程化关键点”
触发时机:
- Prompt修改
- 模型升级
- 工具变化
做法:
每次变更 → 自动跑评测 → 对比指标 → 是否回退
更多推荐



所有评论(0)