AI基础设施与推理优化 · 第 7 期

一次请求花2块,token去哪了?

LLM可观测 · tracing · token流

LLM应用的账是糊涂的:一次请求花2块钱,输入输出、检索、工具调用、重试各占多少?tracing把一次请求拆成span树,每个span记token数、延迟、成本、错误。看得见才能优化——哪步贵、哪步慢、哪步在浪费token,一目了然。
⏱ 约 9 分钟 🎯 想搞清LLM成本和延迟的人 📦 源:llm-observability 教程

01三个信号:trace、metric、log

可观测三件套在LLM时代升级:trace记一次请求的span树,metric记聚合指标(P50/P99延迟、token/s),log记原始事件。

传统应用trace记函数调用链,LLM应用trace要额外记token流:每个span标明输入token、输出token、模型名、成本。一个Agent请求可能是这样的span树:根span(用户请求)→ 检索span(embedding+向量库)→ 规划span(LLM call 1)→ 工具调用span(LLM call 2 + API)→ 整合span(LLM call 3)。每一步的token和延迟都标出来,贵在哪、慢在哪立刻清楚。

trace = span树(请求级,含token/延迟/成本/错误)
metric = 聚合(P50/P99延迟、token/s、错误率、成本/请求)
log = 原始事件(prompt、completion、工具返回)

工具栈:LangSmith/Langfuse(应用层trace)、OpenTelemetry + GenAI语义约定(标准协议)、Arize/Phoenix(LLM专用)。选型逻辑:用LangChain选LangSmith,自研选Langfuse(开源),要标准化选OTel。核心都是把LLM调用当一等公民记token和成本。

看不见的token,
就是看不见的钱。
灏天文库 · AI基础设施与推理优化 P.19

02tracing演示:看一次请求的token流

点「跑一次Agent请求」,看它被拆成5个span,每个span的token数、延迟、成本逐个点亮。最后看总账:哪步最贵、哪步最慢。

🔍 tracing演示
一次Agent请求拆成5个span,看token和成本怎么分布。
进度 0/5
① 检索
0ms
0 tok
② 规划 LLM
0ms
0 tok
③ 工具调用
0ms
0 tok
④ 工具LLM
0ms
0 tok
⑤ 整合LLM
0ms
0 tok
点「跑一次Agent请求」开始
条形长度=延迟,右侧数字=token数。成本按 GPT-4o $2.5/M输入、$10/M输出 估算。

03trace能帮你发现什么

一个真实案例:Agent上线后单请求成本$0.05,老板觉得贵。trace一看,60%成本在「整合LLM」输出2000 token总结,但用户只看前200字。解法:整合步换GPT-4o-mini + 限制max_tokens=300,成本砍到$0.015,体验无感。没有trace,这种优化无从下手——你根本不知道token去哪了。

成本

贵在哪

按span拆token成本,定位最贵那步优先优化。

延迟

慢在哪

P50/P99按span拆,串行等待是P99元凶。

浪费

塞太多

输入token爆,top-k/重排/压缩prompt解决。

错误

总重试

某步反复重试,改prompt/few-shot降错率。

优化的第一步,
是看见。
灏天文库 · AI基础设施与推理优化 P.20

04带走这套清单

✅ LLM可观测 6 条可执行规则

  1. 第一天就接trace:LangSmith/Langfuse,别等出问题才补,没trace的LLM是黑盒。
  2. 每个span记token+成本+延迟:不只记延迟,token和钱才是LLM特有的关键指标。
  3. 盯P99不是平均:平均延迟被快请求拉低,P99才反映尾延迟体验。
  4. 按span拆成本优化:先找最贵那步,换模型/压prompt/限token,比全局优化有效。
  5. 建token预算告警:单请求token超阈值告警,防prompt膨胀和死循环。
  6. 用OTel GenAI语义约定:标准化trace格式,换工具不丢数据,跨服务串联。
trace不是监控,
是优化的地图。
灏天文库 · AI基础设施与推理优化 P.21