# Evaluation

> 构建智能体系统的评估框架。当系统化测试智能体性能、验证上下文工程决策或衡量长期改进时使用。触发词：智能体评估、评估框架、性能测试、上下文验证、质量门控、回归检测、智能体评测、agent evaluation、evaluation framework、performance testing

- Skill: `kscz0000/evaluation` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kscz0000/evaluation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kscz0000/evaluation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: kscz0000 (https://skillmd.com/u/kscz0000)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/kscz0000/evaluation

---


## 何时使用此技能

构建智能体系统的评估框架

当需要构建智能体系统评估框架时使用此技能。

# 智能体系统评估方法

智能体系统的评估需要与传统软件甚至标准语言模型应用不同的方法。智能体做出动态决策，运行之间具有非确定性，且往往缺乏单一正确答案。有效的评估必须考虑这些特性，同时提供可操作的反馈。一个健壮的评估框架能够实现持续改进、捕获回归问题，并验证上下文工程决策是否达到预期效果。

## 何时使用

在以下情况下激活此技能：
- 系统化测试智能体性能
- 验证上下文工程决策
- 衡量长期改进
- 在部署前捕获回归问题
- 为智能体管道构建质量门控
- 比较不同的智能体配置
- 持续评估生产系统

## 核心概念

智能体评估需要以结果为导向的方法，考虑到非确定性和多种有效路径。多维度评分标准能够捕捉各种质量维度：事实准确性、完整性、引用准确性、来源质量和工具效率。LLM作为评判者提供可扩展的评估，而人工评估则能捕获边缘情况。

关键洞察是智能体可能找到通往目标的替代路径——评估应该判断它们是否在遵循合理流程的同时达成了正确结果。

**性能驱动因素：95%发现**

针对BrowseComp评估（测试浏览智能体定位难以找到信息的能力）的研究发现，三个因素解释了95%的性能差异：

| 因素 | 差异解释比例 | 含义 |
|--------|-------------------|------|
| Token使用量 | 80% | 更多token = 更好性能 |
| 工具调用次数 | ~10% | 更多探索有帮助 |
| 模型选择 | ~5% | 更好的模型倍增效率 |

这一发现对评估设计有重要意义：
- **Token预算很重要**：使用现实的token预算评估智能体，而非无限资源
- **模型升级优于增加token**：升级到Claude Sonnet 4.5或GPT-5.2比在旧版本上翻倍token预算带来更大收益
- **多智能体验证**：该发现验证了将工作分配给具有独立上下文窗口的多个智能体的架构

## 详细主题

### 评估挑战

**非确定性与多种有效路径**
智能体可能采取完全不同的有效路径来达成目标。一个智能体可能搜索三个来源，而另一个搜索十个。它们可能使用不同的工具找到相同的答案。检查特定步骤的传统评估在此情境下会失败。

解决方案是以结果为导向的评估，判断智能体是否在遵循合理流程的同时达成了正确结果。

**上下文相关失败**
智能体失败往往以微妙的方式依赖于上下文。一个智能体可能在简单查询上成功但在复杂查询上失败。它可能在一个工具集上运行良好但在另一个上失败。失败可能仅在长时间交互后上下文积累时才出现。

评估必须覆盖一系列复杂度级别，并测试长时间交互，而不仅仅是孤立的查询。

**复合质量维度**
智能体质量不是单一维度。它包括事实准确性、完整性、连贯性、工具效率和流程质量。一个智能体可能在准确性上得分高但在效率上得分低，反之亦然。

评分标准必须捕捉多个维度，并根据用例进行适当加权。

### 评分标准设计

**多维度评分标准**
有效的评分标准覆盖关键维度，具有描述性级别：

事实准确性：声明与真实值匹配（优秀到失败）

完整性：输出覆盖请求的方面（优秀到失败）

引用准确性：引用与声称的来源匹配（优秀到失败）

来源质量：使用适当的主要来源（优秀到失败）

工具效率：合理次数地使用正确工具（优秀到失败）

**评分标准评分**
将维度评估转换为数值分数（0.0到1.0），并进行适当加权。计算加权总分。根据用例要求确定通过阈值。

### 评估方法论

**LLM作为评判者**
基于LLM的评估可扩展到大型测试集并提供一致的判断。关键是设计有效的评估提示，捕捉感兴趣的维度。

提供清晰的任务描述、智能体输出、真实值（如有）、带级别描述的评估量表，并请求结构化判断。

**人工评估**
人工评估能捕获自动化遗漏的问题。人类能注意到不寻常查询上的幻觉答案、系统故障，以及自动化评估遗漏的微妙偏差。

有效的人工评估覆盖边缘情况、系统抽样、追踪模式并提供上下文理解。

**终态评估**
对于改变持久状态的智能体，终态评估关注最终状态是否匹配预期，而非智能体如何达到该状态。

### 测试集设计

**样本选择**
在开发期间从小样本开始。在智能体开发早期，变更会产生巨大影响，因为有大量唾手可得的成果。小型测试集能揭示大效应。

从真实使用模式中抽样。添加已知的边缘情况。确保覆盖各复杂度级别。

**复杂度分层**
测试集应跨越复杂度级别：简单（单次工具调用）、中等（多次工具调用）、复杂（多次工具调用，显著歧义）、非常复杂（长时间交互，深度推理）。

### 上下文工程评估

**测试上下文策略**
上下文工程决策应通过系统化评估来验证。使用不同的上下文策略在同一测试集上运行智能体。比较质量分数、token使用量和效率指标。

**退化测试**
通过在不同上下文大小下运行智能体来测试上下文退化如何影响性能。识别上下文变得有问题的性能悬崖。建立安全操作限制。

### 持续评估

**评估管道**
构建在智能体变更时自动运行的评估管道。随时间追踪结果。比较版本以识别改进或回归。

**生产监控**
通过抽样交互并随机评估来追踪生产中的评估指标。为质量下降设置警报。维护仪表板进行趋势分析。

## 实践指导

### 构建评估框架

1. 定义与用例相关的质量维度
2. 创建具有清晰、可操作级别描述的评分标准
3. 从真实使用模式和边缘情况构建测试集
4. 实现自动化评估管道
5. 在进行变更前建立基线指标
6. 对所有重大变更运行评估
7. 随时间追踪指标以进行趋势分析
8. 用人工审查补充自动化评估

### 避免评估陷阱

过度拟合特定路径：评估结果，而非特定步骤。
忽略边缘情况：包含多样化的测试场景。
单一指标执念：使用多维度评分标准。
忽视上下文效应：使用现实的上下文大小进行测试。
跳过人工评估：自动化评估会遗漏微妙问题。

## 示例

**示例1：简单评估**
```python
def evaluate_agent_response(response, expected):
    rubric = load_rubric()
    scores = {}
    for dimension, config in rubric.items():
        scores[dimension] = assess_dimension(response, expected, dimension)
    overall = weighted_average(scores, config["weights"])
    return {"passed": overall >= 0.7, "scores": scores}
```

**示例2：测试集结构**

测试集应跨越多个复杂度级别以确保全面评估：

```python
test_set = [
    {
        "name": "simple_lookup",
        "input": "What is the capital of France?",
        "expected": {"type": "fact", "answer": "Paris"},
        "complexity": "simple",
        "description": "Single tool call, factual lookup"
    },
    {
        "name": "medium_query",
        "input": "Compare the revenue of Apple and Microsoft last quarter",
        "complexity": "medium",
        "description": "Multiple tool calls, comparison logic"
    },
    {
        "name": "multi_step_reasoning",
        "input": "Analyze sales data from Q1-Q4 and create a summary report with trends",
        "complexity": "complex",
        "description": "Many tool calls, aggregation, analysis"
    },
    {
        "name": "research_synthesis",
        "input": "Research emerging AI technologies, evaluate their potential impact, and recommend adoption strategy",
        "complexity": "very_complex",
        "description": "Extended interaction, deep reasoning, synthesis"
    }
]
```

## 指南

1. 使用多维度评分标准，而非单一指标
2. 评估结果，而非特定执行路径
3. 覆盖从简单到复杂的各复杂度级别
4. 使用现实的上下文大小和历史进行测试
5. 持续运行评估，而非仅在发布前
6. 用人工审查补充LLM评估
7. 随时间追踪指标以进行趋势检测
8. 根据用例设置清晰的通过/失败阈值

## 集成

此技能作为跨领域关注点连接到所有其他技能：

- context-fundamentals - 评估上下文使用
- context-degradation - 检测退化
- context-optimization - 衡量优化效果
- multi-agent-patterns - 评估协调
- tool-design - 评估工具有效性
- memory-systems - 评估记忆质量

## 参考资料

内部参考：
- Metrics Reference - 详细评估指标和实现

## 参考资料

内部技能：
- 所有其他技能连接到评估以进行质量衡量

外部资源：
- LLM评估基准
- 智能体评估研究论文
- 生产监控实践

---

## 技能元数据

**创建时间**：2025-12-20
**最后更新**：2025-12-20
**作者**：Agent Skills for Context Engineering Contributors
**版本**：1.0.0

## 局限性
- 仅当任务明确匹配上述范围时使用此技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少所需输入、权限、安全边界或成功标准，请停止并请求澄清。

