章节摘要:全书立过的零件至今散落各章:tracer 在第 2 章、三本账在第 3 章、探针在第 4 章、告警线在第 3.3 节。本章做总装与选型两件事。第 6.1 节把这些零件接进同一个进程——一个约 170 行、纯标准库、含 MOCK 模式的完整脚本:一次请求走 span 树(检索段、模型段),MOCK 模型返回 usage 记进三本账,抽样裁判顺手打分,预算三线全程盯梢,最后一键报告(span 树、成本日结、质量日结、告警)。跑通它,"三支柱一页图"就从概念变成了你手里跑着的进程。第 6.2 节回答"要不要换成现成工具":先看标准层(OpenTelemetry GenAI 语义约定,截至 2026-10 仍为实验态),再过 Langfuse、OpenLLMetry、Arize Phoenix、LangSmith 四件工具的对比表(口径 2026-10),最后给一套不排名的判定框架——六问加一棵决策树。自建过的人,才问得出对的问题。
mini_obs.py(6.1 总装,约 170 行,纯标准库) │ ┌──────────┬───────────────┼───────────────┬──────────┐ ▼ ▼ ▼ ▼ ▼ Tracer TokenLedger Probe SessionCap budget_check (2.1) 三本账(3.1) 抽样裁判(4.1) 熔断(练习) 三线(3.3) └──────────┴───────────────┼───────────────┴──────────┘ ▼ ask() 一次请求 = span 树 → 记账 → 裁判 → 查线 │ ▼ 从 MOCK 到生产(替换 4 处)──▶ 第 6.2 节:自建 or 换工具? │ 标准层(OTel GenAI,实验态)· 平台层(Langfuse/ Phoenix/LangSmith)· 采集层(OpenLLMetry)→ 六问判定
一句话金句:先造过一遍,再选得对——你评估工具时问出的每一个问题,都来自自己写过那约 170 行。
零件的总装接线图;完整脚本(MOCK 模式:假模型返回假 usage,跑通全链路);运行输出逐段解读;从 MOCK 到生产的四类替换点。
2026-10 口径的工具格局:标准层 OTel GenAI 语义约定(实验态、属性隔离层策略)、四件工具对比表;六问判定框架与决策树——只给判定方法,不排名。
┌───────────────────────────┐ 自建经验变成选型判断力 ┌───────────────────────┐ │ 6.1 自建最小可观测 │ ─────────────────────▶ │ 6.2 工具格局与选型 │ │ 三支柱跑在一个进程里 │ │ 自建/开源/SaaS 判定 │ │ 暴露自建的真实成本 │ ◀───────────────────── │ 用 21 问与数据策略 │ └─────────────┬─────────────┘ 清单与硬指标反过来问工具 └──────────┬────────────┘ │ │ └────── 第 2~5 章的全部零件在本章合体 ──────────────────┘ ▼ 第 7 章:治理机制与成本实战