Skip to content

可观测性

本章是 Hermes Engineering 系列第 7 模块的第 1 章。

Trace/Metrics/Logs 三层可观测性——Trace 即反馈,没有 Trace 就没有改进方向。


为什么需要可观测性

Agent 系统是概率性的、多步骤的、可能长时间运行的。传统软件的可观测性(日志、监控、告警)仍然需要,但 Agent 还需要额外的维度。

传统软件可观测性关注:服务是否正常、响应时间是否达标、错误率是多少。Agent 可观测性还需要关注:Agent 在想什么、做了什么决策、为什么这样做、哪里失败了、Token 消耗了多少。

没有可观测性,Agent 就是黑盒。出了问题你不知道是 Prompt 的问题、工具的问题、还是模型的问题。LangChain 证明了 Trace 是整个改进闭环的核心信号——很多所谓"模型不够聪明"的问题其实是系统没有在合适的时机把正确的上下文交给模型。


三层架构

💡 图解: Trace 是飞机黑匣子——Agent 死了你得知道它在第几步出了什么问题,没有 Trace 就没有改进方向。

Trace(链路追踪)

记录 Agent 的完整执行路径——每一次思考、每一次工具调用、每一次观察。像飞机的黑匣子,精确记录 Agent 在每一步做了什么。

Trace 示例:
[时间: 2024-01-15 10:30:01] [Agent: research] [Step: 1]
  Thought: 需要搜索竞品信息
  Action: web_search(query="OpenAI competitors 2024")
  Observation: 返回 10 条结果
  Tokens: 输入 1500, 输出 200
  Duration: 2.3s

[时间: 2024-01-15 10:30:04] [Agent: research] [Step: 2]
  Thought: 找到了 Anthropic 和 Google DeepMind 的信息
  Action: read_url(url="https://...")
  ...

Trace 的价值:调试(定位失败的具体步骤)、改进(分析成功和失败的模式)、审计(合规和安全审查)、成本分析(每个步骤的 Token 消耗)。

LangChain 的 Trace Analyzer Skill 把"读日志找问题"自动化:从 LangSmith 把所有运行轨迹拉下来,按批次切分启动多个分析子 Agent 并行跑,所有结论汇总成结构化的改进建议。

💡 图解: Trace 不只是事后调试——它是实时改进的燃料,LangChain 靠这套闭环推了 13.7 分。

Metrics(指标)

聚合维度的量化数据——延迟、成本、成功率、Token 消耗。

关键指标:

指标含义为什么重要
Token 消耗/请求每次交互的成本直接影响费用
端到端延迟从输入到输出的时间用户体验
工具调用次数/任务Agent 执行效率影响成本和延迟
任务成功率完成率核心业务指标
KV 缓存命中率缓存效率影响成本和延迟
上下文利用率有效信息占比影响输出质量

按 Agent、按任务类型、按时间维度聚合。趋势比绝对值更重要——指标在改善还是恶化?

Logs(日志)

结构化的事件记录——工具调用、模型响应、错误信息、用户输入。

日志要结构化(JSON 格式便于查询)、要包含上下文(Session ID、Agent ID、Task ID)、要脱敏(PII 信息不要明文记录)。


Trace 即反馈

Trace 不只是事后调试的工具,它是实时反馈的来源。

诊断闭环:Agent 运行 → Trace 记录 → 分析失败模式 → 改进 Prompt/工具/架构 → 重新运行。LangChain 用这套闭环把 Agent 跑分提升了 13.7 分。

模式识别:大量 Trace 中可以发现共性问题——哪些工具经常被错误调用?哪些步骤经常失败?Agent 在哪里容易陷入循环?

成本优化:Trace 记录了每一步的 Token 消耗。分析哪些步骤消耗最多 Token,是否有优化空间——比如上下文注入减少探索、工具响应转文件减少重复传输。


实现实践

Trace 记录

每次 LLM 调用和工具调用都记录 Trace。使用 OpenTelemetry 等标准格式,便于集成现有工具。Trace 数据存入时序数据库(如 ClickHouse)支持大规模查询。

实时告警

设置关键指标的告警阈值:Token 消耗突然飙升、成功率下降、延迟增大。告警渠道:Slack、邮件、PagerDuty。

仪表板

构建 Agent 专属仪表板:实时展示活跃 Agent 数量、Token 消耗趋势、成功率分布、常见失败模式。支持按时间、Agent、任务类型筛选。



⚠️ 常见错误

❌ 错误做法✅ 正确做法为什么
只监控 API 延迟监控完整的 Agent Trace(工具调用链路)API 延迟看不出 Agent 内部在做什么
日志只记录成功同样详细记录失败和异常失败信息是调试的关键线索
所有请求都全量 Trace按重要性采样全量 Trace 成本太高
没有异常告警设置成功率、延迟、Token 消耗告警没有告警 = 出了问题才知道

本章要点

  • 三层架构:Trace(执行路径)+ Metrics(聚合指标)+ Logs(事件记录)
  • Trace 即反馈:诊断闭环、模式识别、成本优化
  • 关键指标:Token 消耗、延迟、成功率、KV 缓存命中率
  • 实践:结构化 Trace、实时告警、Agent 专属仪表板

下一章: 安全与权限


← 返回首页 | ← 上一模块: Agent评估

基于 CC BY-SA 4.0 协议发布