LLM 可观测性与评估看板 本节摘要:Langfuse 转向开源核心,Arize Phoenix 发布了 2026 GenAI 语义约定映射,Helicone 与 Braintrust 都押注每用户成本归因,Traceloop 的 OpenLLMetry 成了事实上的 SDK 插桩。生产形态是:ClickHouse 存轨迹、Postgres 存元数据、Next.js 做 UI,再加一小队评估作业(DeepEval、RAGAS、LLM-judge)跑在采样轨迹上。本节要求你自建一个,从至少四个 SDK 家族摄取,并在 5 分钟内抓住一个注入的回归。你会学到 OTLP 摄取、尾采样(tail sampling)、漂移检测(PSI/KL),以及把 LLM-judge 当作评估器。
本节摘要:Langfuse 转向开源核心,Arize Phoenix 发布了 2026 GenAI 语义约定映射,Helicone 与 Braintrust 都押注每用户成本归因,Traceloop 的 OpenLLMetry 成了事实上的 SDK 插桩。生产形态是:ClickHouse 存轨迹、Postgres 存元数据、Next.js 做 UI,再加一小队评估作业(DeepEval、RAGAS、LLM-judge)跑在采样轨迹上。本节要求你自建一个,从至少四个 SDK 家族摄取,并在 5 分钟内抓住一个注入的回归。你会学到 OTLP 摄取、尾采样(tail sampling)、漂移检测(PSI/KL),以及把 LLM-judge 当作评估器。
对应原课程:Phase 19 · Lesson 11 ·
llm-observability-dashboard(原英文phases/19-capstone-projects/11-llm-observability-dashboard/docs/en.md)。
阅读完本节,你应当能够:
gen_ai.* 字段),Postgres 存元数据。2026 年每个跑生产流量的 AI 团队都在模型旁备着一个可观测性平面。成本归因、幻觉检测、漂移监控、越狱信号、SLO 仪表盘、PII 泄漏告警。开源参考——Langfuse、Phoenix、OpenLLMetry——都收敛到了 OpenTelemetry GenAI 语义约定作为摄取 schema。你现在可以用一个 SDK 给 OpenAI、Anthropic、Google、LangChain、LlamaIndex、vLLM 插桩,发出兼容的 span。
你要构建一个自建仪表盘,从至少四个 SDK 家族摄取,跑一小套评估作业,检测漂移,告警。度量线:给定一个故意注入的回归(一个开始产出 PII 的提示),仪表盘在 5 分钟内抓住它并告警。
摄取是 OTLP HTTP。SDK 产出 GenAI-semconv span:gen_ai.system、gen_ai.request.model、gen_ai.usage.input_tokens、gen_ai.response.id、llm.prompts、llm.completions。span 进 ClickHouse 做列式分析,元数据(用户、会话、应用)进 Postgres。
评估作为批作业跑在采样轨迹上。DeepEval 打忠实度、毒性、答案相关性。RAGAS 在轨迹带检索上下文时打检索指标。自定义 LLM-judge 跑领域检查(PII 泄漏、越策响应)。评估运行写回同一个 ClickHouse,作为回链到父轨迹的 eval span。
尾采样控成本(错的全留,成功的采样):
SAMPLING_POLICY = { "error_traces": 1.00, # 错误轨迹 100% 留 "success_traces": 0.10, # 成功轨迹 10% 采样 "toxic_gt_0.5": 1.00, # 毒性 > 0.5 全留(分层) }
漂移检测盯着嵌入空间分布随时间的变化(提示嵌入上的 PSI 或 KL 散度)加评估分趋势。告警喂 Prometheus Alertmanager,再到 Slack/PagerDuty。UI 是 Next.js 15 配 Recharts。
outputs/skill-llm-observability.md 是交付物。给定一个 LLM 应用,仪表盘摄取它的轨迹、跑评估、漂移告警,并在 Next.js 里展示每用户成本分解。评分量表:
| 权重 | 标准 | 度量方式 |
|---|---|---|
| 25 | 轨迹 schema 覆盖 | 产出规范 GenAI span 的 SDK 家族数(目标 6+) |
| 20 | 评估正确性 | DeepEval/RAGAS 分 vs 人工标注集 |
| 20 | 仪表盘 UX | 注入回归的 MTTR(目标 < 5 分钟) |
| 20 | 成本/规模 | 1k span/秒持续摄取无积压 |
| 15 | 告警 + 漂移检测 | Prometheus/Alertmanager 链路端到端打通 |
| 100 |
一次典型摄取:
$ curl -X POST https://my-otel-collector/v1/traces -d @trace.json [collector] accepted 1 trace, 3 spans [clickhouse] inserted 3 spans (app=chat, user=u_42) [eval] DeepEval faithfulness 0.82, toxicity 0.03 [drift] weekly PSI 0.08 (below 0.2 threshold) [ui] live at https://obs.example.com
Langfuse 是开源核心参考,UI 最完整;Arize Phoenix 漂移支持最强;OpenLLMetry(Traceloop)是自动插桩 SDK 家族的事实标准。本节的差异化在于「自建」:ClickHouse 做列式 span 存储(比 Postgres 在聚合查询上快一个量级),尾采样控成本,LLM-judge 做领域评估。尾采样的关键设计是「错的全留 + 成功采样 + 高毒性全留」三层——既控成本又不丢关键信号,练习会让你度量采样偏差。
gen_ai.* 属性忠实。下一节,我们进入「视频理解流水线」——构建一个能按场景切片、检索、带时间戳作答的视频 QA 系统。