如何评估生产中的 LLM 智能体: 超越单元测试
智能体的失败更多发生在 span 层而不是最终输出。本指南覆盖 RAGAS 指标、span 级评估、LangSmith 接入, 以及 2026 年应该达到的目标分数。
第 01 节 · 核心问题
为什么评估代理与评估 LLM 调用不同
单次 LLM 调用要么把问题答好, 要么没答好。一次代理执行会按顺序做出 20 到 100 个决策。第 7 步的失败可能产出一个看起来合理、实则完全错误的最终输出。
快速回答
简短答案: 代理评估必须发生在 span 层级 — 每次工具调用、检索决策和推理步骤 — 而不仅仅是在最终输出上。输出评估是在错误已经传播到流水线之后才捕获的。
评估聊天机器人的标准 — 输出有没有答到问题、是否事实准确、是否符合风格指南 — 对代理来说不够用。一个检索到错误文档、用错误参数调用了正确工具, 或在第 3 步把用户意图分类错了的代理, 经常会产出看起来很自信的最终输出。等你评估输出的时候, 错误已经在剩下的步骤里传开了。
预计 2026 年将近一半的代理式 AI 项目会因为缺乏合适的评估基础设施而被取消。团队上线了, 拿到不一致的结果, 又诊断不出原因, 最终对系统失去信心。修复点不是更好的模型 — 而是在步骤层级上更好的度量。
第 02 节 · 失败类别
你需要度量的三类失败
检索失败
代理检索到错误的文档、检索数量过少, 或检索到上下文上无关的 chunk。下游推理就建立在错误信息之上。RAGAS 的 context precision 和 context recall 度量这一点。把 context precision 目标定在 0.80 以上, context recall 在 0.75 以上。
推理失败
代理拥有正确的上下文, 但得出错误结论、误判意图, 或为任务选错工具。这类失败更难自动度量, 通常需要单独的 judge 模型, 或者一个有已知正确推理路径的精挑评估数据集。
动作失败
代理用错误参数调用了正确工具、调用了错误工具, 或采取了技术上有效但上下文上不合适的动作。要稳定地抓到这类失败, 唯一办法是对每次工具调用做 span 级日志记录: 它的参数、返回值, 以及代理之后的推理步骤。
第 03 节 · RAGAS 指标
生产 RAG 代理的五个 RAGAS 指标
| 指标 | 度量内容 | 目标 |
|---|---|---|
| Faithfulness | 回答中的论断由检索到的上下文支持 | 0.90 以上 |
| Answer relevancy | 回答确实回应了问题所问 | 0.85 以上 |
| Context precision | 检索到的 chunk 与问题相关 | 0.80 以上 |
| Context recall | 回答所需的全部信息都被检索到了 | 0.75 以上 |
| Answer correctness | 回答相对 ground truth 在事实上正确 | 0.80 以上 |
RAGAS 在 faithfulness、answer relevancy 和 context precision 上无需 ground truth 标签即可运行。这让它在没有人工核对正确答案的线上生产流量上也能实际跑起来。Context recall 和 answer correctness 需要 ground truth, 所以请在开发阶段的精挑评估集上使用, 而不是在线上流量上。
第 04 节 · Span 级评估
在步骤上度量, 不在输出上
Span 级评估把代理执行的每个中间步骤记录为一个命名 span, 包含其输入、输出、延迟和 token 成本。这是 LangSmith 对基于 LangGraph 的代理默认捕获的内容。
每次工具调用是一个 span。每次检索是一个 span。每次推理步骤是一个 span。当一次代理执行产出错误结果时, 你在 LangSmith 里打开 trace, 找到错误起源的那个 span, 直接看那一步的精确输入、输出和上下文。你不靠猜 — 你看到。
这就是把可调试的生产系统与脆弱系统区分开的属性。没有 span 级可观测性, 一个错误的代理输出就是一个谜。有了它, 错误输出就只是一个你能定位、复现并修复的 span。
第 05 节 · 评估栈
LangSmith 加 RAGAS 加 DeepEval: 2026 年的生产栈
用 LangSmith 做可观测性
对基于 LangGraph 的代理自动捕获每个 span。存储 trace。支持 RAGAS 集成。让你能在线上流量样本和历史 trace 上跑 evaluator。这是任何生产代理的最低可用配置。
用 RAGAS 度量检索质量
在线上流量上做 faithfulness、answer relevancy 和 context precision 的无参考指标。在 5% 到 10% 的生产查询样本上异步执行。当指标跌破阈值时告警。
用 DeepEval 做行为测试
对照精挑数据集评估代理行为的测试套件框架。在每次部署的 CI/CD 中运行, 在回归到生产之前拦截。覆盖幻觉检测、prompt injection 抗性以及自定义行为指标。
第 06 节 · 生产清单
发布前最低限度的评估配置
| 要求 | 工具 | 频率 |
|---|---|---|
| 所有代理执行的 span 级 tracing | LangSmith | 始终开启 |
| Faithfulness 0.90 以上 | RAGAS via LangSmith | 异步, 10% 样本 |
| Answer relevancy 0.85 以上 | RAGAS via LangSmith | 异步, 10% 样本 |
| 行为回归测试 | CI/CD 中的 DeepEval | 每次部署 |
| 工具调用 schema 校验 | 流水线中的自定义 validator | 每次工具调用 |
| 低置信度执行的人审队列 | LangSmith 数据集 | 每周 |
FAQ
常见问题
怎么在生产中评估 AI 代理?
运行 span 级 tracing, 捕获每个中间步骤、工具调用和检索决策。在线上流量样本上以异步方式运行 RAGAS 指标, 监控 faithfulness 和 answer relevancy。每次部署时用 DeepEval 跑行为回归测试。不要把响应流水线阻塞在评估上 — 异步运行。
LLM 代理的 span 级评估是什么?
Span 级评估把一次代理执行的每个中间步骤 — 每次工具调用、检索步骤和推理步骤 — 记录为一个命名 span, 带上输入、输出和上下文。在 span 级评估让你能精确指认是哪一步产出了错误, 而不是从最终输出反推。
生产 RAG 代理应该用哪些 RAGAS 指标?
从 faithfulness 和 answer relevancy 起步 — 两者都是无参考指标, 可以在没有 ground truth 标签的线上流量上跑。把 faithfulness 目标定在 0.90 以上, answer relevancy 在 0.85 以上。再用一个精挑评估数据集加上 context precision 和 context recall, 专门度量检索质量。
LangSmith 是 LangGraph 代理的最佳评估工具吗?
对基于 LangGraph 的代理, LangSmith 是集成度最高的选项 — 不需要写仪表化代码就能自动捕获 span, 原生支持 RAGAS 集成, 还提供数据集界面让你在历史 trace 上跑评估。对其他框架的团队, Arize Phoenix 和 Langfuse 是能力相近的强力替代。
常见问题
- 如何评估生产环境中的 AI 智能体?
- 用 span 级 tracing 记录每一个中间步骤、工具调用和检索决策。在生产流量的样本上异步跑 RAGAS 指标, 持续监控 faithfulness 与 answer relevancy。每次发布都跑一次 DeepEval 行为回归测试。
- 什么是 LLM 智能体的 span 级评估?
- Span 级评估把智能体执行的每一个中间步骤 — 工具调用、检索步骤、推理步骤 — 都作为带输入、输出和上下文的命名 span 记录下来。基于 span 评估, 你可以直接定位是哪一步出错, 而不是从最终输出反推。
- 生产 RAG 智能体应使用哪些 RAGAS 指标?
- 首先关注 faithfulness 与 answer relevancy, 两者都不需要参考答案, 可以直接在生产流量上运行。目标是 faithfulness 高于 0.90, answer relevancy 高于 0.85。如果想专门衡量检索质量, 再用一份精挑细选的评估数据集计算 context precision 和 context recall。
- LangSmith 是评估 LangGraph 智能体的最佳工具吗?
- 对基于 LangGraph 的智能体来说, LangSmith 集成度最高: 无需额外代码即可自动捕获 span, 原生支持 RAGAS 集成, 还提供数据集界面让你在历史 trace 上重新跑评估。如果你用的是其他框架, Arize Phoenix 与 Langfuse 都是有力的替代品。