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 本小节小结
可观测性的三大支柱:
Metrics:关键数值指标,用于趋势分析和告警
Logs:结构化日志,用于调试和事件追踪
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 层存储策略,最小化对用户的影响。
最后更新于
