可观测性指南
云开发提供内置的可观测性能力,基于 OpenTelemetry 和 OpenInference 标准,帮助开发者追踪和监控 AI Agent 的完整执行链路。
前置条件
- 已创建 Agent 应用(LangChain / LangGraph / CrewAI)
- 已安装对应 SDK(
cloudbase-agent-server/@cloudbase/agent-server) - 了解 OpenTelemetry 基本概念(可选)
安装依赖
- Python
- TypeScript
# 基础依赖
pip install cloudbase-agent-server cloudbase-agent-observability
# 如需导出到 OTLP 后端(如 Langfuse )
pip install opentelemetry-exporter-otlp
# 基础依赖
npm install @cloudbase/agent-server @cloudbase/agent-observability
# 如需导出到 OTLP 后端
npm install @opentelemetry/exporter-trace-otlp-http
概述
什么是可观测性
可观测性(Observability)是指通过系统输出的信号(日志、指标、追踪)来理解系统内部状态的能力。对于 AI Agent 应用,可观测性可以帮助你:
- 追踪执行链路:查看 Agent 从接收请求到返回响应的完整调用链
- 定位性能瓶颈:识别耗时较长的 LLM 调用或工具执行
- 调试问题:分析 Agent 的决策过程和工具调用参数
- 优化成本:统计 Token 使用量,分析模型调用频率
可观测性特点
- 开箱即用:无需复杂配置,一行代码或一个环境变量即可开启
- 全链路追踪:自动串联 Server 层 → Adapter 层 → Agent SDK 层的调用链路
- 标准化:遵循 OpenTelemetry 和 OpenInference 语义约定
- 多导出目标:支持控制台输出(调试)和 OTLP 导出(Langfuse、Jaeger 等)
架构原理
Span 层次结构示例
以 LangGraph 工作流为例,典型的 Span 层次结构如下:
AG-UI.Server (Request entry point)
└─ Adapter.LangGraph (Agent adapter layer)
└─ LangGraph
├─ node_a (LangGraph node)
│ └─ ChatOpenAI (LLM call)
├─ node_b (LangGraph node)
│ ├─ ChatOpenAI (LLM call)
│ └─ calculator (Tool call)
└─ synthesizer (LangGraph node)
└─ ChatOpenAI (LLM call)
Span 类型说明
| 类型 | 图标 | 说明 | 示例 |
|---|---|---|---|
CHAIN | ⛓️ | 链式调用 | Adapter.LangGraph、LangGraph 节点 |
LLM | 💬 | LLM 调用 | ChatOpenAI、ChatAnthropic |
TOOL | 🔧 | 工具调用 | calculator、get_weather |
AGENT | 🤖 | Agent 调用 | 多 Agent 编排场景 |