30 秒快速回答

AI 可观测性(AI Observability) 是一套让开发者实时了解 LLM 应用”正在做什么、做得怎么样、哪里出了问题”的工程体系。它不是简单看日志,而是覆盖 Trace(调用链追踪)、Metrics(指标监控)、Evaluation(质量评估) 三层,帮你回答三个关键问题:用户请求走了哪条链路?回答质量有没有退化?Token 成本是否失控?

一句话核心价值:传统 APM 能告诉你接口延迟,AI 可观测性能告诉你为什么模型给出了这个答案,以及这个答案是否可靠


1. 为什么传统监控不够用?

传统软件监控盯着三个指标:延迟、错误率、吞吐量。但 LLM 应用有完全不同的故障模式:

传统软件故障 LLM 应用故障
500 报错,堆栈可定位 返回了答案,但内容是错的(幻觉)
接口超时,重试即可 Prompt 微调后 A 场景变好,B 场景变差
数据库慢查询可索引优化 检索到的文档不相关,但模型照样自信回答
内存泄漏可 Profiling Token 消耗悄悄翻倍,月底账单爆炸

LLM 应用的不确定性来自三个层面:模型本身的概率性输出、Prompt 的脆弱性、以及 RAG/Agent 中工具调用链路的复杂性。一个典型的 Agent 请求可能涉及:意图分类 → 检索 → 多次工具调用 → 多步推理 → 最终生成,中间任何一个环节出错都可能导致最终答案不可用。传统 APM 对这一整条链路是”盲”的。


2. AI 可观测性的三层架构

业界已形成共识:AI 可观测性 = Trace + Metrics + Evaluation

2.1 Trace:看清每一次请求的完整链路

Trace 记录一次用户请求从入口到最终输出的每一步。在 LLM 应用中,一个 Trace 通常包含以下 Span:

用户请求
├── Span: 意图分类(调用小模型判断意图)
├── Span: 知识库检索(向量搜索 + 重排序)
├── Span: LLM 调用(含 Prompt 模板 + 完整输入/输出)
├── Span: 工具调用(Function Calling / MCP)
├── Span: 后处理(格式化输出、敏感词过滤)
└── Span: 最终响应

实操示例——用 Python 手动埋点记录一次 LLM 调用:

import time
import json

def trace_llm_call(span_name: str, prompt: str, response: str, 
                   model: str, tokens_used: int, latency_ms: float):
    """简易 Trace 记录,生产环境建议使用 OpenTelemetry SDK"""
    span = {
        "name": span_name,
        "timestamp": time.time(),
        "input": prompt[:500],       # 截断避免日志膨胀
        "output": response[:500],
        "model": model,
        "tokens": tokens_used,
        "latency_ms": latency_ms
    }
    # 发送到可观测平台(LangSmith / Helicone / 自建)
    print(json.dumps(span, ensure_ascii=False))

2026 年的标准选择:OpenTelemetry 的 GenAI Semantic Conventions 已经稳定,主流平台(LangSmith、Helicone、Arize、Weights & Biases)都支持 OTel 协议接入。一次埋点,多平台可用。

2.2 Metrics:量化你的 AI 应用健康度

Trace 帮你排查单次问题,Metrics 帮你发现系统性问题。关键指标分四类:

指标类别 具体指标 为什么重要
质量指标 幻觉率、回答相关性得分、用户点赞/踩率 直接反映用户体验
性能指标 P50/P95/P99 延迟、首 Token 时间(TTFT) 影响用户等待感知
成本指标 每次请求 Token 消耗、日均成本、模型间成本对比 生产环境最大隐性风险
检索指标 检索命中率、MRR(平均倒数排名)、上下文利用率 RAG 系统的核心质量因子

Token 成本追踪示例

# 按模型追踪每日 Token 消耗
from collections import defaultdict

daily_tokens = defaultdict(lambda: {"input": 0, "output": 0, "cost": 0.0})

# 主流模型 2026 Q3 定价(每百万 Token,USD)
PRICING = {
    "claude-opus-5":    {"input": 15.0, "output": 75.0},
    "claude-sonnet-5":  {"input": 3.0,  "output": 15.0},
    "gpt-5":            {"input": 2.5,  "output": 10.0},
    "deepseek-v4":      {"input": 0.5,  "output": 2.0},
}

def record_usage(model: str, input_tokens: int, output_tokens: int):
    p = PRICING.get(model, {"input": 0, "output": 0})
    cost = (input_tokens / 1e6) * p["input"] + (output_tokens / 1e6) * p["output"]
    daily_tokens[model]["input"] += input_tokens
    daily_tokens[model]["output"] += output_tokens
    daily_tokens[model]["cost"] += cost

2.3 Evaluation:在用户发现问题之前发现回归

Eval 是 AI 可观测性中最容易被忽略但最关键的一环。核心做法:维护一组标注好的测试用例,每次 Prompt 变更或模型升级后自动跑回归

典型 Eval Pipeline:
┌──────────┐    ┌──────────┐    ┌───────────┐    ┌──────────┐
│ Prompt   │ →  │ 测试用例  │ →  │ LLM-as-   │ →  │ 评分报告  │
│ 变更触发  │    │ 批量执行  │    │ Judge 评分 │    │ + 阻断规则 │
└──────────┘    └──────────┘    └───────────┘    └──────────┘

四个级别的 Eval 方法

级别 方法 适用场景
L1: 规则检查 正则匹配、JSON Schema 校验、字数/格式约束 输出格式要求严格的任务
L2: 参考对比 与标准答案做相似度计算(BLEU/ROUGE/语义相似度) 翻译、摘要等有参考答案的任务
L3: LLM-as-Judge 用强模型对输出打分(准确性/相关性/安全性) 开放域问答、对话等无标答任务
L4: 人工标注 领域专家抽样审查 高风险场景(医疗/法律/金融)的最终防线

LLM-as-Judge 实现示例

EVAL_PROMPT = """你是一个严格的评测员。请对以下 AI 回答评分(1-5 分)。

评分维度:
- 准确性:回答是否事实正确
- 完整性:是否覆盖了问题的所有要点
- 简洁性:是否有冗余或无关内容

用户问题:{question}
AI 回答:{answer}

请返回 JSON:{"accuracy": int, "completeness": int, "conciseness": int, "overall": int}
"""

3. 主流 AI 可观测性工具对比(2026)

工具 定位 核心优势 适用团队
LangSmith LLM 全生命周期平台 Trace + Eval + Prompt 管理一体化,LangChain 生态深度集成 已使用 LangChain/LangGraph 的团队
Helicone 轻量级 LLM 网关+监控 一行代码接入,Proxy 模式无需改业务代码,成本追踪精细 追求接入成本最小化的团队
Arize Phoenix 开源可观测平台 完全开源,支持 OTel 协议,可视化强大 有自建基础设施需求的中大型团队
Weights & Biases ML 实验追踪 + LLM 监控 模型训练和推理监控统一平台 同时做模型训练和部署的团队
Langfuse 开源 LLM 工程平台 开源自部署,数据不出网,Prompt 版本管理 对数据安全要求高的企业

选型建议:如果团队已经深度使用 LangChain/LangGraph → LangSmith;如果需要最快接入且预算有限 → Helicone;如果有自建基础设施能力且重视数据安全 → Arize Phoenix 或 Langfuse。


4. 落地路线图:从零搭建 AI 可观测性

阶段 目标 关键动作 耗时估计
第 1 周 能看见 接入 Trace 平台(Helicone/LangSmith),所有 LLM 调用自动记录输入/输出/延迟/Token 1-2 天
第 2 周 能衡量 建立核心 Metrics 面板:幻觉率、P95 延迟、日均成本、用户满意度 3-5 天
第 3-4 周 能保障 搭建 Eval Pipeline:编写 50+ 测试用例,配置 Prompt 变更自动回归 1-2 周
持续运营 能优化 基于数据做 Prompt 迭代、模型切换、检索策略调优 持续

最小可行方案(当天可完成):

# 使用 Helicone 的 Proxy 模式,一行代码零侵入接入
# 将 OpenAI 的 base_url 替换为 Helicone 网关
# 所有请求自动记录 Trace + Metrics + Cost

# 原代码:
# client = OpenAI(api_key="sk-xxx")

# 改为:
client = OpenAI(
    api_key="sk-xxx",
    base_url="https://oai.helicone.ai/v1",
    default_headers={
        "Helicone-Auth": f"Bearer YOUR_HELICONE_API_KEY"
    }
)
# 完成。所有调用自动出现在 Helicone Dashboard 中。

总结

AI 可观测性是 LLM 应用从”能跑”到”能放心跑”的分水岭。三个核心要点:

  1. Trace 让你”看见”每次请求的完整路径——这是排查幻觉和错误的第一现场
  2. Metrics 让你”量化”系统的健康状态——重点关注幻觉率、Token 成本和检索命中率
  3. Evaluation 让你”守住”质量底线——每次变更前自动跑回归,不让退化上线

延伸阅读

  • 本系列 什么是 RAG? —— 理解 RAG 架构是做好可观测性的前提
  • 本系列 什么是 Agent 记忆系统? —— Agent 场景下的状态追踪
  • 本系列 什么是 MCP 协议? —— MCP 工具调用的 Trace 埋点
  • 官方文档:OpenTelemetry GenAI Semantic Conventions
  • 实操平台:LangSmith / Helicone / Arize Phoenix 官方 Quickstart (内容由AI生成,仅供参考)