🔍 Agent 可观测性
🎯 什么是 Agent 可观测性
Agent 可观测性是指在生产环境中实时监控、追踪和诊断 Agent 行为的能力。与传统应用不同,Agent 的决策链路长、调用关系复杂、行为具有非确定性,可观测性是保障 Agent 生产稳定性的第一道防线。
⚠️ Agent可观测性与传统应用的区别
- 非确定性行为:同一个输入可能产生不同的工具调用链和推理路径,传统日志难以复现问题
- 多跳依赖:Agent 的一次任务可能涉及 LLM → 工具 → LLM → 工具 的多轮循环,任何一环失败都可能级联
- 隐性成本:每次推理的 Token 消耗、工具调用延迟都是成本,但传统监控不覆盖这些维度
- 长链路上下文:Agent 的思考过程、工具选择理由、中间结果都需要记录才能事后诊断
- 安全审计要求:Agent 的每一次工具调用和决策都可能涉及敏感操作,需要完整的审计追踪
📐 可观测性三大支柱
📝 日志 (Logs)
记录 Agent 运行的离散事件:每次 LLM 调用的 prompt/response、工具调用的输入/输出、错误信息、状态变更等。
- 结构化日志:JSON 格式,便于检索和分析
- 分级记录:DEBUG / INFO / WARN / ERROR
- 上下文关联:trace_id、session_id 串联
📊 指标 (Metrics)
聚合统计数据,反映 Agent 的整体运行状态:请求量、延迟、成功率、Token 消耗趋势等。
- RED 指标:Rate(请求率)、Errors(错误率)、Duration(耗时)
- USE 指标:Utilization(利用率)、Saturation(饱和度)、Errors
- 业务指标:任务完成率、用户满意度
🔗 追踪 (Traces)
记录单次请求的完整执行链路:从用户输入 → LLM 推理 → 工具调用 → 结果返回的全过程。
- Span 树结构:每个步骤为一个 Span,形成父子关系
- 属性标注:模型名、Token 数、工具名、参数
- 异常捕捉:捕获异常并记录完整堆栈
📊 Agent 特有指标
除了通用的服务指标外,Agent 需要关注以下领域特有指标来全面评估 Agent 的质量和效率:
Step Count
平均步骤数 · 反映任务复杂度
Tool Call Rate
工具调用率 · 每次任务调用工具次数
Decision Time
决策时间 · 从输入到首次动作的延迟
Token Usage
Token消耗 · Prompt + Completion Token
Success Rate
任务成功率 · 端到端完成任务的比例
Loop Detection
循环检测率 · Agent陷入重复调用的比例
🧠 思考链追踪 (Chain-of-Thought Tracing)
Agent 的推理过程是其区别于传统服务的关键特征。思考链追踪记录 Agent 在每一步决策时的内部推理——为什么选择这个工具、为什么不选另一个、当前的计划是什么。
思考链追踪的核心价值
| 追踪维度 | 记录内容 | 诊断用途 |
|---|---|---|
| 推理步骤 | Agent 每一步的 Thought/Action/Observation 三元组 | 定位决策错误发生在哪一步 |
| 工具选择理由 | 为什么选择工具 A 而非工具 B | 发现工具选择偏差,优化工具描述 |
| 计划变更 | Agent 在执行过程中如何调整原始计划 | 评估 Agent 的灵活性和适应性 |
| 置信度评估 | Agent 对其决策的信心程度 | 设置人工介入的触发阈值 |
| 中间结果 | 每步工具调用的输入参数和返回数据 | 复现问题、数据校验 |
🔗 工具调用链可视化
Agent 的工具调用链是典型的有向无环图 (DAG) 结构。可视化工具调用链帮助开发者直观理解 Agent 的执行路径、识别性能瓶颈和不合理的调用模式。
可视化关键要素
- 调用拓扑:展示工具调用的先后顺序和依赖关系,使用节点-边图渲染
- 时序分析:以甘特图形式展示每个步骤的起止时间和耗时分布
- Token 热力图:标注每一步的 Token 消耗,快速定位成本热点
- 异常高亮:失败的调用步骤以红色高亮,便于快速定位问题
- 对比视图:将当前执行路径与历史正常路径进行 diff 对比
📊 可观测性方案对比
| 方案 | 类型 | 核心能力 | Agent 支持 | 部署方式 | 定价 | 适用场景 |
|---|---|---|---|---|---|---|
| LangFuse | 开源/云 | LLM Tracing、评估、Prompt 管理 | ⭐ 优秀 | 自托管 / SaaS | 免费层慷慨 | 中小团队首选 |
| LangSmith | 商业 SaaS | 全链路追踪、测试、Hub | ⭐ 优秀 | SaaS / 私有部署 | 按 Trace 计费 | LangChain 生态 |
| Arize Phoenix | 开源 | LLM 可观测、评估、A/B 测试 | ⭐ 优秀 | 自托管 / SaaS | 开源免费 | 数据科学导向 |
| Weights & Biases | 商业 SaaS | 实验跟踪、Prompt 工程、Tracing | 良好 | SaaS | 按用量计费 | ML 团队/实验管理 |
| 自建方案 | 定制 | OpenTelemetry + Grafana + 自定义扩展 | 灵活 | 完全自托管 | 运维成本 | 大型企业/特殊需求 |
| Helicone | 商业 SaaS | LLM 网关 + 可观测 | 良好 | SaaS / 自托管 | 按请求计费 | API 网关场景 |
💡 推荐策略
对于大多数团队,建议从 LangFuse(开源自托管) 起步——零成本、完整的 LLM Tracing 能力、活跃的社区。当业务规模扩大或需要更深入的 LangChain 集成时,再评估 LangSmith。大型企业如果有统一的可观测平台(如 Datadog、Grafana),可以通过 OpenTelemetry 扩展接入。