Skip to content

Agent 可观测性与评估怎么选 | 从零理解如何构建 AI Agent

帮助你快速判断本章定位、前置要求与学习目标。

说明:本文是截至 2026-06 的选型图谱,不是实时排名。产品能力、托管区域、价格、开源协议和集成方式会变化,采购或上线前请以官方文档、价格页、版本说明和业务样本评测为准。

只看最终答案不够

Agent 出错时,问题可能来自:意图识别、检索、搜索、工具调用、模型生成、状态路由、权限过滤。如果没有 trace,只能猜。

Agent 可观测性要回答四个问题:

text
为什么这么做?
  -> 决策 trace

看到了什么?
  -> 上下文和来源 trace

调用了什么?
  -> 工具和参数 trace

结果如何?
  -> eval 和用户反馈

普通服务日志只能告诉你哪里报错;Agent trace 要告诉你为什么走到了那一步。

五层能力分层

能力作用必须回答的问题
Trace记录每一步输入输出为什么这么做?看到了什么?
Replay用同一输入重放问题当时哪里出错了?修复是否生效?
Eval用样本集持续评估质量在提升还是退化?
Monitoring线上趋势和异常成本、延迟、错误率是否正常?
Audit谁访问了什么、是否越权合规和安全边界是否被突破?

这几类能力不要混成一个日志文件。

Trace 数据模型

建议把一次 Agent 运行拆成这些 span:

Span记录
intent用户目标、分类结果、置信度
retrievalquery、filter、chunks、scores
search搜索词、来源、时间、读取状态
tool工具名、参数、结果、错误
model模型、输入摘要、输出、usage
decision路由、fallback、审批原因
final答案、引用、成本、延迟

最小 trace schema:

text
run_id:
span_id:
parent_id:
span_type: intent / retrieval / search / tool / model / decision / final
start_time:
end_time:
input_summary:
output_summary:
error_type:
cost:
latency:
redaction_level:

每个 span 都应该有 run id、parent id、时间、输入摘要、输出摘要和错误类型。否则排查时只能看到碎片,无法还原决策链路。

脱敏不要破坏调试

可观测性和安全要一起设计:

信息保存方式
原始敏感内容受控存储、短保留期
调试摘要脱敏、长期保留
文档引用保存 ID、版本、权限范围
工具参数敏感字段 hash 或 mask
模型输入保存结构和来源,不保存完整密文

如果把所有上下文都删掉,trace 失去调试价值;如果全部明文保存,又会变成新的泄露面。

Replay 要可控

Replay 不是简单"再跑一遍"。要区分:

Replay 类型用途
固定输入重放验证 prompt 或路由修复
固定检索结果重放排除向量库漂移
固定工具结果重放排除外部系统变化
全链路重放验证当前生产行为

这些场景应该优先支持 replay:用户投诉答案错误、工具执行产生副作用、权限或安全告警、模型或检索版本变更、线上质量突然下降。Replay 的目标不是复刻每一次随机输出,而是固定关键输入和外部结果,让团队能验证修复是否真的生效。

Eval 要分层

Eval样本
RAG evalquery、期望 chunk、答案引用
Tool eval用户目标、期望工具和参数
Workflow eval状态路径和审批点
Safety eval注入、越权、高风险动作
Cost evaltoken、工具次数、延迟上限

不要只评"最终答案像不像"。如果工具选错但答案编得通顺,最终答案评估会把问题掩盖掉。最小 eval 样本结构:

text
样本 ID:
用户问题:
期望路径:
期望工具和参数:
期望检索来源:
期望答案要点:
拒答条件:
权限要求:
成本上限:
延迟上限:
人工判定标准:

Eval 不是上线后才做。它应该从 POC 开始:POC 样本 → 回归样本 → 线上失败样本 → 定期评估。每次修 Prompt、换模型、改检索、换工具,都应该跑关键评测集。

主流工具对比

方案本质强项代价适合场景不适合场景
LangSmithLLM 应用 trace / eval 平台和 LangChain / LangGraph 集成强,trace、dataset、eval 体系完整生态绑定和平台成本要评估LangChain / LangGraph 项目、Agent trace、评估集管理完全自研栈且不想绑定平台
Langfuse开源 LLM observability 平台Trace、prompt、eval、成本观测,自托管友好需要部署和治理自托管观测、企业 LLM 应用、成本和 trace 监控只需要简单 API 网关日志
Arize Phoenix开源 observability / evalRAG eval、embedding、trace 分析友好要接入和维护RAG 质量分析、实验和本地观测只想看 billing 和 token
HeliconeLLM Gateway / observabilityAPI 请求、成本、延迟、缓存、用户维度观测更偏网关和请求层多模型 API 监控、成本和延迟分析深层 Agent 状态图 debug
OpenTelemetry标准化 trace / metrics / logs企业统一观测体系,跨服务需要自定义 span schema企业已有可观测平台、Agent 进入统一 trace想开箱即用 LLM eval
BraintrustEval 和实验平台数据集、实验、评估、回归测试平台成本和流程接入Prompt/模型/Agent 版本评估只需要线上 trace
RagasRAG 评估框架faithfulness、context precision、answer relevance 等 RAG 指标指标要结合业务解释,不能盲信RAG 离线评估、POC、回归测试工具执行 Agent 评估
DeepEvalLLM 应用测试框架单元测试式 eval、LLM judge、CI 集成judge 质量和稳定性要校准自动化评测、CI 回归、Agent 输出测试只看线上监控
promptfooPrompt / 模型回归测试配置化测试、多模型对比、CI 友好深层 trace 不是重点Prompt 回归、多 provider 对比、红队样本生产 trace 和 replay
自研 trace + eval自定义 schema 和评估闭环完全贴合业务,权限和审计可控开发和维护成本高强合规、复杂工具链、企业核心 Agent小团队快速原型

先分清你要观测什么

目标优先工具方向不要先做什么
看 token、成本、延迟Helicone / Langfuse / 自研网关日志不要先做复杂 eval
看 Agent 每一步做了什么LangSmith / Langfuse / OpenTelemetry不要只存最终答案
看 RAG 检索质量Phoenix / Ragas / 自研检索评测不要只看生成答案
做 prompt 回归测试promptfoo / Braintrust / DeepEval不要靠人工随便试几条
做生产审计OpenTelemetry / 自研 audit log不要把敏感 trace 原样外发
做 LangGraph debugLangSmith不要只打印日志

RAG Eval 必须分层

指标说明
RetrievalRecall@K、MRR、nDCG正确 chunk 是否召回并排前面
ContextContext Precision、Context Relevance放进上下文的内容是否有用
GenerationFaithfulness、Answer Relevance答案是否基于上下文
CitationCitation Accuracy引用是否支持答案
PermissionViolation Rate是否召回或输出无权内容

指标不是结论。企业 RAG 最后仍然要有业务样本和人工校准。

Monitoring 监控什么

线上监控要看趋势,不是只看单次 trace。至少监控:P50/P95/P99 延迟、单次请求成本、模型/工具调用成功率、检索无结果率、fallback 触发率、人工确认率、拒答率、用户反馈、权限拦截次数。如果成本上涨、延迟上涨、fallback 上涨,但最终答案看起来还行,系统已经在退化。

怎么选工具

text
LangChain / LangGraph 项目?
  -> LangSmith 优先评估

想自托管 LLM observability?
  -> Langfuse / Phoenix

主要看 API 成本和延迟?
  -> Helicone / Langfuse / 自研网关日志

重点是 RAG 评估?
  -> Ragas / Phoenix / DeepEval + 自研样本集

重点是 Prompt 回归测试?
  -> promptfoo / Braintrust / DeepEval

企业已有统一观测平台?
  -> OpenTelemetry + 自研 span schema

强合规和权限审计?
  -> 自研 audit log,不要只依赖第三方 trace 平台

观测能力分阶段建设

阶段最小能力
POC保存样本、最终答案、人工判断
内测trace 检索、工具、模型 span
上线metrics、告警、成本延迟监控
生产迭代replay、回归 eval、失败样本沉淀

不要等系统出事故再补可观测性。没有早期样本和 trace,后面很难知道质量是提升还是退化。

典型误判

误判问题
有日志就等于可观测日志没有因果链,debug 仍然靠猜
有 trace 就等于有 evaltrace 解释单次请求,eval 衡量样本集质量
LLM judge 分数就是质量judge 要校准,不能替代业务验收
RAG eval 只看最终答案检索、排序、引用、权限要分开评估
第三方 trace 可直接存敏感上下文企业场景要脱敏、采样和权限控制
prompt 改完人工试几条就上线没有回归样本,迟早引入退化

推荐策略

阶段推荐
POC固定样本集 + 手工 trace 表 + promptfoo / DeepEval
RAG 原型Ragas / Phoenix + retrieval trace
LangGraph 项目LangSmith
自托管生产Langfuse / Phoenix + 自研审计
多模型网关Helicone / Langfuse / 自研 gateway metrics
企业核心系统OpenTelemetry + 自研 span schema + audit log
高风险 AgentTrace + Replay + Eval + Approval audit 全部必须有

最终判断

text
看链路:Trace
复现失败:Replay
防止退化:Eval
看线上趋势:Monitoring
查责任:Audit
RAG 质量:Retrieval + Generation 分层评估

生产 Agent 没有观测和评估,就是黑盒。黑盒不能上线高风险场景。

Replay 发现失败时的降级处理策略见 Agent 降级策略怎么设计;监控中的成本和延迟告警阈值设定见 成本与延迟预算检查