概述
Eval Harness 是一个用于评估智能体(Agent)性能的系统化框架,用于衡量准确性、效率和可靠性,从而支持基于数据做出关于智能体质量与改进的决策。
适用场景
- 在将智能体变更部署到生产环境之前
- 比较不同的智能体配置
- 识别智能体行为中的薄弱环节
- 随时间跟踪智能体质量
- 验证提示词(prompt)改进效果
评估维度
1. 准确性
智能体是否产生正确的输出?
| 指标 | 测量方式 | 目标 |
|---|---|---|
| 任务完成 | 正确完成任务的百分比 | > 90% |
| 代码正确性 | 生成代码中可编译且通过测试的百分比 | > 85% |
| 指令遵循 | 完全遵循指令的百分比 | > 95% |
2. 效率
智能体是否良好使用资源?
| 指标 | 测量方式 | 目标 |
|---|---|---|
| Token 使用 | 每个任务消耗的 Token 数 | 最小化 |
| 工具调用 | 每个任务的工具调用次数 | 最小化 |
| 完成时间 | 每个任务的挂钟时间 | 最小化 |
3. 可靠性
智能体行为是否一致?
| 指标 | 测量方式 | 目标 |
|---|---|---|
| 可复现性 | 相同输入 → 相同输出 | > 95% |
| 错误率 | 运行失败的百分比 | < 5% |
| 恢复率 | 从错误中恢复的百分比 | > 80% |
评估流程
第一步:定义测试用例
创建覆盖以下情况的测试用例:
- 正常路径(期望行为)
- 边界情况(异常输入)
- 错误情况(无效输入)
- 模糊情况(需求不明确)
第二步:运行评估
执行每个测试用例并记录:
- 提供的输入
- 期望输出
- 实际输出
- 通过/失败
- Token 使用量
- 耗时
- 发生的工具调用
第三步:分析结果
计算指标:
- 总体通过率
- 分类通过率
- Token 效率
- 错误模式
- 可改进领域
第四步:报告发现
报告格式示例:
## Eval Results
### Summary
- Test cases: N
- Pass rate: X%
- Average tokens: N
- Average time: Xs
### By Category
| Category | Pass Rate | Issues |
|----------|-----------|--------|
| Accuracy | X% | [list] |
| Efficiency | X% | [list] |
| Reliability | X% | [list] |
### Recommendations
1. [Specific improvement]
2. [Specific improvement]
基准场景
代码生成
- 输入:"Write a function that sorts an array using quicksort"
- 期望:正确处理边界情况的正确实现
- 指标:可编译、通过测试、遵循约定
代码审查
- 输入:包含故意 bug 的代码
- 期望:识别所有 bug 并标注严重程度
- 指标:召回率(发现的 bug)、精确率(误报)
调试
- 输入:错误信息 + 相关代码
- 期望:正确的根因与修复
- 指标:诊断准确性、修复正确性
反合理化表
| 借口 | 反驳 |
|---|---|
| "我一眼就能看出它在工作" | 人工判断有偏差且不一致。指标提供客观测量。 |
| "评估太耗时" | 自动化评估可并行运行。时间投入可防止生产故障。 |
| "一个测试用例就够了" | 单个测试无法揭示模式。跨类别的多个用例才能提供信心。 |
| "智能体上次通过了" | 回归会发生。定期评估可在质量问题到达生产前将其捕获。 |
输出约定
默认输出:仅返回结果、阻碍项和所需证据。省略前言、过程叙述、重复上下文、置信度分数和后续提议。除非所需产物或 schema 需要更多,否则最多使用五条要点。
限制
资料的现有内容未提供该框架的具体安装方式、依赖要求、支持平台或收费信息。