Skip to content

LLM 评测体系:从离线判分到在线回归

第一本系统覆盖 LLM 应用评测工程全栈的中文专著。

每一个上线了 LLM 功能的团队,都会在某个深夜遇到同一个问题——"昨天还好好的,今天怎么效果就变了?" 模型升级了一个版本,prompt 多加了一句话,retriever 改了 chunk 大小,向量库换了索引参数。每一处改动都"看起来更好",但真实质量到底是涨了还是跌了?没人说得清。

这种"凭感觉调 LLM"的工程模式,在 2023 年是普遍现象,到 2026 年已经成为生产事故的最大单一来源。Air Canada 的退款 chatbot 因为一句幻觉赔了真金白银;Google Bard 在发布会上一句事实错误蒸发市值千亿;OpenAI、Anthropic 因模型版本静默退化被开发者反复声讨——所有这些事故,本质都是同一件事:LLM 应用上线后,再也没有人知道它到底好不好。

测试软件工程师靠的是断言——assert result == expected。LLM 工程师不能这么干,因为模型输出每次都不一样,"对"也不止一种说法。这就是为什么所有传统的 CI / 单测体系到了 LLM 这一层全部失效,必须重建一整套从数据集设计、判分方法、统计推断到在线监控的工程范式。这套范式有一个统一的名字——Evals

本书拆解的就是这套范式。从最基础的"如何写一条规则判分",到 LLM-as-Judge 的偏差校准,再到 ragas、promptfoo、lm-evaluation-harness 这些开源框架的源码工程学;从离线评测的数据集冷启动,到 CI 里把 Evals 变成质量门禁;从 RAG 的 Faithfulness 度量,到 Agent 的 Trajectory 评估,再到多轮对话与安全对齐的专项评测。

读完本书,你会知道:你的 LLM 应用每一次改动的真实效果——而不是猜的。

适合谁读

  • LLM 应用工程师:已经把 LangChain / LangGraph / RAG 跑通,但下一步的"质量怎么衡量"卡住了
  • AI Infra / 平台工程师:要为团队搭建评测平台,需要理解 langsmith / langfuse / phoenix 等系统的设计差异
  • 算法 / 模型评测同学:想从学术 benchmark(MMLU、MT-Bench、Arena Hard)跨到工业级线上评测体系
  • 技术负责人 / Tech Lead:负责 LLM 项目交付质量,需要建立可量化的验收标准

前置阅读:本书假设读者已经写过 LLM 应用代码(至少调过 OpenAI / Anthropic API),理解 prompt、retriever、tool calling 的基本概念。如果你还在 LLM 入门阶段,建议先读丛书的《LangChain 工程实战》《RAG 工程与检索系统设计》。

目录

第一部分:为什么需要评测

第二部分:评测理论基础

第三部分:判分方法学

第四部分:开源框架源码剖析

第五部分:场景化评测实战

第六部分:生产化与持续评测

源码版本与数据来源

本书所有源码引用、性能数字、实验结论均基于以下版本和公开来源(2026 年 4 月 27 日锁定):

项目版本 / Commit引用范围
openai/evals4c8a2c2 (2025-11)第 9 章
EleutherAI/lm-evaluation-harnessv0.4.5第 10 章
explodinggradients/ragasv0.2.10第 11、13 章
promptfoo/promptfoo0.106.0第 12、18 章
langchain-ai/langsmith-sdk0.3.1第 17 章
langfuse/langfusev3.45.0第 17 章
Arize-ai/phoenix7.5.1第 17 章

学术 benchmark 与论文引用:MMLU (Hendrycks et al. 2021, arXiv:2009.03300)、MT-Bench (Zheng et al. 2023, arXiv:2306.05685)、Arena Hard (Li et al. 2024)、HELM (Liang et al. 2023, arXiv:2211.09110)、ragas 论文 (Es et al. 2023, arXiv:2309.15217)、G-Eval (Liu et al. 2023, arXiv:2303.16634)、JudgeBench、TruthfulQA、HaluEval。

行业事故与公开数据:Air Canada v. Moffatt (2024 BCCRT 149)、Google Bard demo 事件、ChatGPT 退化争议(公开 GitHub Issue / Reddit / arXiv:2307.09009)、Anthropic / OpenAI 官方 model deprecation 公告。

读者可通过仓库 git clone 命令获取与本书完全一致的源码:

bash
git clone https://github.com/openai/evals.git
git clone https://github.com/EleutherAI/lm-evaluation-harness.git
git clone https://github.com/explodinggradients/ragas.git
git clone https://github.com/promptfoo/promptfoo.git
git clone https://github.com/langchain-ai/langsmith-sdk.git
git clone https://github.com/langfuse/langfuse.git
git clone https://github.com/Arize-ai/phoenix.git

本书与其他卷的关系

本书是杨艺韬讲堂"AI 工程化"系列的第七卷,与以下卷形成知识网络:

  • 《LangChain 工程实战》:链式调用与 Agent 框架,是 Evals 的常见被测对象
  • 《LangGraph 多 Agent 编排》:Trajectory 评测在第 14 章重点引用其状态机模型
  • 《MCP 协议工程》:Tool Calling 评测在第 14 章对照 MCP 的标准 schema
  • 《RAG 工程与检索系统设计》:第 13 章 RAG 评测与之配套,前者讲怎么搭、本书讲怎么测
  • 《vLLM 推理引擎》:模型版本切换的回归评测策略在第 18 章引用 vLLM 的版本管理实践
  • 《Claude Code 工程化》:CI 集成在第 18 章使用 Claude Code 作为参考实现

版权声明

本书采用 CC BY-NC 4.0 许可协议。转载或引用请署名 杨艺韬 并附原文链接,禁止商业用途。

基于 VitePress 构建