当 LLM 应用从原型走向生产,"可观测性"(Observability)成为不可回避的核心问题。传统软件的可观测性依赖日志、指标、追踪三大支柱,而 LLM 应用在此基础上又增加了新的维度:Prompt 调试、模型输出质量、Token 成本、幻觉检测等。
本报告深入研究了 AI 应用可观测性与调试工具的全景,覆盖五大核心领域:
核心结论:LLM 应用的可观测性不再是"有最好",而是"必须有"。没有可观测性,你无法知道模型在生产环境中的实际表现,也无法系统化地优化成本和质量。
发布日期: 2026-03-14
分类: 工具研究
标签: 可观测性, LLM追踪, 调试, 成本监控, 质量监控
传统 APM 工具(Datadog、New Relic)可以追踪 API 调用延迟和错误率,但无法回答 LLM 应用特有的问题:
LLM 追踪工具就是为了解决这些问题而生。
LangSmith 是 LangChain 团队推出的 LLM 应用开发平台,追踪是其核心功能之一。
核心能力:
不依赖 LangChain 也能用:通过 @traceable 装饰器或 SDK 手动追踪任意代码。
from langsmith import traceable
@traceable
def my_llm_call(prompt: str):
# 任何 LLM 调用都会被自动追踪
return openai.chat.completions.create(...)
定价:免费层有调用量限制,团队版按追踪量计费。
LangFuse 是完全开源的 LLM 工程平台,是 LangSmith 的主要竞争对手。
核心优势:
与 LangSmith 的对比:
| 维度 | LangSmith | LangFuse |
|---|---|---|
| 开源 | ❌ 闭源 | ✅ 完全开源 |
| 自部署 | ❌ 仅云服务 | ✅ 支持 |
| 框架绑定 | 偾向 LangChain | 框架无关 |
| 免费层 | 有限 | 自部署无限制 |
| 成本追踪 | ✅ | ✅ |
| 评估能力 | ✅ | ✅ |
典型集成:
from langfuse.openai import openai # 自动追踪
response = openai.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello"}]
)
# 自动记录到 LangFuse
Phoenix 是 Arize AI 推出的开源 LLM 可观测性工具。
差异化特点:
典型用法:
import phoenix as px
# 启动 Phoenix UI
session = px.launch_app()
# 使用 OpenInference 自动追踪
from phoenix.trace.openai import OpenInferenceInstrumentor
OpenInferenceInstrumentor().instrument()
适用场景:RAG 系统评估、幻觉检测、检索质量分析。
Helicone 定位为 LLM 应用的可观测性网关。
核心模式:通过反向代理拦截 API 调用,无需修改代码。
# 只需修改 base_url
client = openai.OpenAI(
base_url="https://oai.helicone.ai/v1",
default_headers={"Helicone-Auth": "Bearer <your-key>"}
)
特性:
| 工具 | 特点 | 适用场景 |
|---|---|---|
| Braintrust | 评估 + 追踪一体化 | 产品化评估 |
| Lunary | 开源,Prompt 管理 + 追踪 | 中小团队 |
| Opik(Comet) | 开源,专注 LLM 评估 | 研究和实验 |
| Weave(W&B) | Weights & Biases 的 LLM 工具 | 已使用 W&B 的团队 |
| OpenLLMetry | 基于 OpenTelemetry 标准 | 需要对接现有监控栈 |
Prompt 开发不同于传统代码开发,面临独特挑战:
系统化 Prompt 调试的五个步骤:
最简单但有效的方式:
PromptLayer:可视化编辑器 + 版本控制 + 请求追踪
LangFuse Prompt Management:
Humanloop:
在生产环境中测试不同 Prompt 版本的效果:
工具支持:
LiteLLM:内置成本追踪
# LiteLLM 自动记录每次调用的成本
litellm.success_callback = ["lunary"] # 推送到成本追踪工具
Helicone:代理模式自动追踪
Portkey:
LangFuse:
| 策略 | 节省幅度 | 实现难度 |
|---|---|---|
| 缓存重复请求 | 30-70% | 低 |
| 模型路由 | 40-80% | 中 |
| Prompt 压缩 | 20-40% | 中 |
| 批量处理 | 10-30% | 低 |
| 量化部署 | 30-50%(推理成本) | 高 |
| 本地模型备选 | 50-90% | 高 |
模型路由示例:
Per-Key 预算:为每个 API Key 设置消费上限
Per-User 预算:跟踪每个用户的消费
Per-Team 预算:团队级别的预算控制
告警阈值:达到 80%/90%/100% 时发送告警
传统软件可以通过单元测试验证正确性,但 LLM 输出是概率性的:
LLM-as-Judge:用一个 LLM 来评估另一个 LLM 的输出
from langfuse import Langfuse
evaluator_prompt = """
评估以下回答的质量,评分1-5:
问题:{question}
回答:{answer}
标准:准确性、完整性、清晰度
"""
# 使用 GPT-4 作为评估器
score = evaluate_with_llm(evaluator_prompt, question, answer)
指标型评估:
Braintrust 专注于 AI 产品的评估和测试:
from braintrust import Eval
Eval(
"my-llm-app",
data=lambda: [{"input": "test question", "expected": "test answer"}],
task=lambda input: my_llm_function(input),
scores=[exact_match, semantic_similarity]
)
PromptFoo 是开源的 Prompt 测试工具:
# promptfooconfig.yaml
prompts:
- "Answer this question: {{question}}"
providers:
- openai:gpt-4
- anthropic:claude-3-opus
tests:
- vars:
question: "What is 2+2?"
assert:
- type: contains
value: "4"
DeepEval 开源的 LLM 评估框架:
from deepeval import assert_test
from deepeval.metrics import HallucinationMetric
def test_hallucination():
metric = HallucinationMetric(threshold=0.5)
assert_test(test_case, [metric])
| 告警类型 | 触发条件 | 严重程度 |
|---|---|---|
| 延迟异常 | P95 延迟超过阈值 | 高 |
| 错误率上升 | 5xx 错误超过 5% | 严重 |
| Token 消耗激增 | 突然增长 2x+ | 中 |
| 成本超预算 | 接近或超过预算限制 | 高 |
| 质量下降 | 评估分数低于阈值 | 高 |
| 幻觉率上升 | 幻觉检测比例异常 | 高 |
| 模型不可用 | API 返回 429/503 | 严重 |
与现有监控栈集成:
LangFuse 告警:
Portkey 告警:
分级告警:
P0 - 严重(电话/短信通知)
- 服务完全不可用
- 数据泄露风险
P1 - 高(即时消息通知)
- 错误率 > 10%
- 成本超过 100% 预算
P2 - 中(每日汇总)
- 质量分数下降
- Token 消耗异常
P3 - 低(每周报告)
- 延迟略有增加
- 缓存命中率下降
延迟突然增加:
成本异常增加:
质量下降:
适合:个人项目或小团队 MVP
适合:生产环境的中型团队
适合:大型团队和企业
不要等到出了问题才加追踪。在项目第一天就集成 LangFuse 或 Helicone,成本几乎为零,但价值巨大。
即使不加完整的可观测性栈,至少要追踪成本。LLM 应用的成本很容易失控,没有监控就是盲目飞行。
花时间构建好的评估数据集,这是最值得的投资。数据集比工具更重要——有了数据集,换工具很容易。
每次修改 Prompt 或模型配置,都应该跑自动化测试。把评估集成到 CI/CD 流程中。
自动化评估再好,也要定期人工抽检。LLM-as-Judge 本身也有局限性。
不要所有告警都一样处理。明确分级,避免告警疲劳。
单次异常可能不需要太关注,但趋势性的质量下降或成本增加必须重视。
本报告基于 2024-2025 年间 AI 可观测性工具生态的研究整理。AI 应用的可观测性领域仍在快速演进,建议读者关注 OpenTelemetry 社区在 LLM 可观测性标准化方面的进展。