11.1 可观测性体系

可观测性(Observability)是现代系统工程的基础。它通过三大支柱——指标(Metrics)、日志(Logs)和追踪(Traces)——帮助我们理解系统的内部状态。

行业现状

LangChain《State of Agent Engineering》调研数据(1300+从业者):

  • 89% 的组织已部署Agent可观测性基础设施

  • 94% 的生产阶段组织拥有完整可观测性

  • 62% 实现了详细的步骤级追踪(step-level tracing)

  • 质量(32%) 是生产环境的首要障碍,而非成本

这些数据表明:可观测性已成为行业共识,但从“可观测”到“可评估”再到“可优化”的闭环仍有巨大差距。

11.1.1 三大支柱

可观测性体系建立在指标(Metrics)、日志(Logs)和追踪(Traces)三大支柱之上,三者协同构成完整的系统观测能力。

图 11-1:可观测性三大支柱

11.1.2 1. Metrics

指标是关键数值的时间序列数据,用于监控系统健康状态。 指标系统分为两个核心层:底层收集器Agent 特定指标

首先是通用的指标收集器,支持计数器(counter)、仪表(gauge)和直方图(histogram)三种数据类型:

Agent 特定的指标收集层记录工具调用和迭代的性能数据:

11.1.3 2. Logs

结构化日志用于记录事件和调试信息。 结构化日志的核心是将日志事件转换为 JSON 格式,包含时间戳、日志级别、服务名和附加上下文:

日志记录器支持特定于 Agent 的便利方法,用于记录工具调用和决策过程:

11.1.4 3. Traces

分布式追踪用于跟踪单个请求通过系统的完整路径。 分布式追踪通过 Span(跨度)来记录操作的执行路径。每个 Span 代表一个操作,包含时间戳、标签和状态信息:

可观测性系统的集成使用示例。在执行工具时同时记录指标、日志和追踪:

11.1.5 监控仪表板

可观测性仪表板将指标、日志和追踪聚合到单一界面:

11.1.6 本小节小结

可观测性的三大支柱:

  1. Metrics:关键数值指标,用于趋势分析和告警

  2. Logs:结构化日志,用于调试和事件追踪

  3. Traces:分布式追踪,用于理解请求的完整路径

对于智能体系统,关键指标包括:

  • 工具调用的成功率和延迟

  • 令牌使用量和成本

  • Agent迭代的深度和广度

  • 整体系统的吞吐量和可用性

实现完整的可观测性是设计容错系统的第一步。下一节将讨论如何利用这些信息来建立反馈循环。

11.1.7 Claude Code 的可观测性案例:远程功能标志驱动的监控

Claude Code 的 7 层记忆系统采用了一个独特的可观测性模式:每一层都由 GrowthBook 远程功能标志控制,允许工程团队在生产中实时观察、控制和禁用任何子系统。

指标层:每个内存层暴露其关键指标——第 1 层冻结的工具结果数量、第 3 层会话摘要注入的频率、第 4 层完整压缩的触发次数。这些指标直接反映系统在不同场景下的成本分布。

日志层:梦想 Agent(第 6 层)的每次整合运行都被记录为结构化日志,包括处理的会话数、去重的条目数、清理的过期信息。失败的梦想进程会记录完整的错误堆栈,而不仅仅是"失败"计数。

追踪层:从用户会话开始到最终记忆持久化的完整执行路径被追踪。一次梦想整合可能包括 4 个主阶段的 span,每个阶段含子 span 用于数据库查询、相似度计算、LLM 调用等。

远程可控性:若某一层表现异常(如梦想 Agent 处理延迟超过 30 秒),工程师可以通过 GrowthBook 远程禁用第 6 层,无需部署代码。所有新会话自动回退至第 5 层。同时,可观测性仪表板立即显示成本变化:内存持久化成本可能略上升,但整体延迟大幅下降。

这种设计的核心原则是:可观测性不只是用于理解现状,而是用于驱动实时控制。指标、日志、追踪共同服务于一个目标——在生产环境中安全地探索和优化复杂系统的行为。

行业现状:可观测性与评估的落差

LangChain 发布的《State of Agent Engineering》报告(调研 1300+ 从业者)揭示了一个值得关注的现象:89% 的组织已部署可观测性基础设施,但评估(evals)的采用率仅为 52%。这意味着大多数团队能够“看到”智能体在做什么,却缺乏系统化的方法来判断“做得好不好”。

报告的其他关键数据同样值得 Harness 工程师关注:

  • 57% 的组织已有智能体在生产环境运行

  • 质量是最大障碍 (32%),成本反而不再是主要关切

  • 57% 不做微调,依赖 base model + prompt engineering + RAG

这些数据表明:可观测性已成为共识,但从“可观测”到“可评估”再到“可优化”的闭环仍有巨大差距。第 13 章将深入讨论评估体系的构建。

11.1.8 可观测性与故障检测的设计原则

一个成熟的可观测性系统应该服务于三个目标:(1)理解系统现状;(2)快速检测异常;(3)驱动实时控制决策。Claude Code 通过以下设计体现这一整合:

  • 主动阈值告警:不仅监控“梦想 Agent 运行了多久”,更重要的是“这个时间与历史中位数的偏差”。若偏差超过 3 倍,立即触发告警,提示可能的故障或数据不一致。

  • 分层监控成本:不是所有层都需要同等粒度的监控。第 1-2 层采样监控(1%请求),第 3 层全量追踪(关键路径),第 6 层每次整合完整记录。这种差异化策略平衡了可观测成本和故障检测能力。

  • 闭环反馈:可观测数据不仅流向仪表板,也流向自动化决策。若 P99 梦想 Agent 延迟超过阈值连续 5 次,自动通过 GrowthBook 降级至第 5 层存储策略,最小化对用户的影响。

最后更新于