--- type: guide tags: - llm-evaluation - foundations status: active created: 2026-08-21 --- # 什么是 LLM Evaluation ## 一句话定义 **LLM Evaluation(大语言模型评测)**,是用一组明确的任务、测试数据和评分逻辑,系统地判断模型或 AI 系统是否满足预期行为。 最小结构可以写成: ```text Task / Case ↓ System under test ↓ Output / Trace / Outcome ↓ Grader ↓ Result ``` OpenAI 的 eval 工作流以任务、测试数据和 grader 为核心;Anthropic 对 Agent eval 的定义也采用同样思路:给系统一个任务,再用 grading logic 判断成功与否。[1][2] ## 评测的对象不只有“模型” 这是最重要的概念边界之一。 ### Model Evaluation 关注模型本身的能力或行为,例如: - 是否遵从指令 - 是否正确回答事实问题 - 是否生成合法 JSON - 是否完成代码任务 - 是否拒绝危险请求 典型形式: ```text Prompt → Model → Response → Grader ``` ### Application / System Evaluation 真实产品通常不只有模型: ```text User ↓ Router / Prompt ↓ Retriever / Context ↓ Model ↓ Tool ↓ State Change ↓ Final Response ``` 因此系统失败可能来自: - 检索错误 - Prompt / 路由错误 - 模型推理错误 - 工具选择错误 - 参数错误 - 权限错误 - 工具执行错误 - 后处理错误 - Grader 错误 所以成熟的 Evaluation 关注的是**整个系统是否完成目标**,而不是简单问“模型强不强”。 ## RAG Evaluation 是什么 RAG(Retrieval-Augmented Generation)评测通常至少拆成两个层面: ### Retrieval Quality 检索阶段是否拿到正确证据: - relevant documents 是否被取回 - 无关内容是否过多 - 是否漏掉关键片段 - 文档版本是否正确 ### Answer Quality 生成阶段是否正确利用证据: - 回答是否 grounded - 是否存在文档外无依据事实 - 引用是否正确 - 信息不足时是否说明不确定 - 是否覆盖关键约束 因此: ```text RAG failure ≠ 一定是模型 failure ``` 如果 gold context 根本没有被取回,首先应该定位 Retrieval。 ## Agent Evaluation 是什么 Agent 的评测对象更加复杂,因为它会跨多轮调用工具并改变环境状态。 Anthropic 将 Agent eval 中几个关键对象定义为: - **Task**:一个测试问题与成功条件 - **Trial**:同一 task 的一次尝试 - **Grader**:评分逻辑 - **Transcript / Trace**:完整执行轨迹 - **Outcome**:执行结束后的真实环境状态 - **Evaluation Harness**:运行、记录、评分和汇总 eval 的基础设施[2] 例如 Agent 最后说: > “会议已经取消。” 这句话本身不是成功证据。 真正的 Outcome 是: ```text Calendar 中该 event 是否真的不存在 ``` 所以 Agent Evaluation 的关键原则是: > **评价真实结果,不只评价最终文本。** ## Offline Eval 与 Online Evaluation ### Offline Eval 在固定测试集上重复运行: ```text Frozen Dataset ↓ System Version A / B ↓ Compare ``` 主要用于: - 开发阶段比较方案 - 模型升级验证 - Prompt 修改回归 - Release Gate ### Online Signals 来自真实使用环境: - 用户反馈 - 失败日志 - 人工升级 - A/B test - 生产监控 - 用户重新提问或纠正 在线信号的重要作用之一,是不断发现新的 regression case: ```text Production Failure ↓ Root Cause ↓ New Eval Case ↓ Regression Suite ``` 因此 Evaluation 不是一次考试,而是一套持续演化的质量系统。 ## Evaluation 与 Benchmark 的区别 二者相关,但目的不同。 ### Benchmark 通常强调: - 对外可比较 - 固定任务集 - 横向比较不同模型 - 通用能力指标 例如数学、代码、知识类 benchmark。 ### Product Eval 强调: - 当前产品的真实成功标准 - 真实用户路径 - 风险和边界案例 - 历史 regression - 可直接指导产品修改 一个模型在公开 benchmark 上更高,不意味着它一定更适合你的产品。 ## 程序员应该如何理解 Evaluation 最实用的映射是一条测试链: ```text Requirement → Acceptance Criteria → Eval Case → Assertion / Rubric → Run → Failure → Root Cause → Regression ``` (完整版"最重要的概念关系"图见 [[03-Core-Concept-Map]] 第 10 节。) 因此 LLM Evaluation 的核心不是“评分技术”,而是: 1. 定义正确; 2. 暴露失败; 3. 区分根因; 4. 验证修改; 5. 防止回归。 ## 参考资料 [1] OpenAI, Working with evals https://developers.openai.com/api/docs/guides/evals [2] Anthropic, Demystifying evals for AI agents https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents