Agent 可观测性与成本工程

一句话定位:Agent 上线后,你怎么知道它”还活着、跑得对、没烧太多钱”?本文讲 Agent 级 可观测性(Observability——看得见 Agent 内部到底发生了什么)和 成本工程(把 Token / 延迟 / 钱算明白、再压下来)。这是 Agent 架构师”可运维”那一格的硬功夫,也是 Agent 架构师能力地图 能力域 7 的展开。

💬 大白话开场:可观测性 = 给 Agent 装一套「行车记录仪 + 仪表盘」(出事能回放、平时能看仪表);成本工程 = 给它装「油耗表 + 省油驾驶习惯」(知道烧了多少油、还能怎么省)。


目录


1. 为什么需要:Agent 是个”黑箱长跑选手”

一个生产级 Agent 跟”一问一答”完全不同:它会跑很多步、调很多工具、跨很长时间。一旦出问题,你面对的是一个黑箱——不知道它卡在哪一步、为什么绕圈、钱花在哪了。

可观测性和成本工程,就是回答三个必答问题:

问题大白话靠什么答
还活着吗?服务挂没挂、卡没卡、报错多不多健康指标(Metrics)+ 日志(Logs)
跑得对吗?有没有绕圈、跑偏、悄悄失败链路追踪(Trace)+ 评测(Eval)
烧了多少钱?Token、延迟、每次任务的成本成本工程(§ 4)

⚠️ 先划清三个邻居的边界,别搞混:

  • 模型服务监控(QPS / 显存 / GPU 利用率)——那是”机房层”,见 HomeLab 到中小企业 LLM 部署架构 § 7;
  • 质量评测(答得准不准)——那是 Eval 测评体系 的事;
  • 本文 = 介于两者之间的”Agent 运行时层”:一次任务跑了哪些步、每步花了多少 token / 多少秒、哪一步失败了。三者拼起来才是完整的”可运维”。

2. 可观测性三件套:Trace / Metrics / Logs

工业界讲可观测性(Observability)有经典的”三大支柱”。先用一句大白话各自定位,再看对照表:

2.1 Trace(链路追踪)—— 一次运行的”行车记录仪”

💬 大白话:把 Agent 完成一个任务的全过程录下来——第 1 步想了啥、第 2 步调了哪个工具、传了什么参数、返回啥、花了几秒、烧了多少 token,一步一步串成一条时间线。

两个关键词:

  • Trace(一条追踪):一次完整任务的全记录(一整条时间线)。
  • Span(跨度):时间线上的一段(比如”调用搜索工具”这一步)。一条 Trace 由很多 Span 嵌套组成。

💬 类比:Trace 是”一整趟快递的物流全程”,Span 是”揽收 / 转运 / 派送”每一个节点的扫描记录。

为什么 Agent 特别需要 Trace:普通网页请求就一来一回,看日志够了;Agent 一个任务里套着十几步工具调用和模型思考,没有 Trace 就等于闭着眼睛 debug。

2.2 Metrics(指标)—— 墙上的”仪表盘”

💬 大白话:把成千上万次运行聚合成几个数字,一眼看趋势——平均延迟多少、失败率几个百分点、今天烧了多少钱。

Agent 常看的指标:

指标看什么
延迟 Latency响应快慢,要看 p50 / p95 / p99(见 Eval § 关键指标)
Token 用量输入 / 输出 / 缓存 token 数,直接换算成钱
失败率 / 错误率报错、超时、工具调用失败的占比
工具调用成功率每个工具调用成 / 败的比例
人工介入率(HITL)多少比例的任务需要人接管

💬 p99 是啥:把所有请求的耗时从小到大排队,排在第 99% 位置那个的耗时。p99=8 秒 = “约 99% 的请求都比 8 秒快,只有最慢的约 1% 会等于或超过 8 秒”。⚠️ 注意 p99 不是”最慢那一次”——最慢那次是最大值 max;想看极端最差体验还得看 p99.9 / max。只看平均值会被”大部分很快”骗过去,p99 才暴露尾部的差体验。

2.3 Logs(日志)—— 出事时翻的”黑匣子”

💬 大白话:一条条带时间戳的文字流水账,最原始、最详细,出了具体的事去翻它。

三者一句话区分:

支柱回答类比粒度
Trace”这一次任务怎么跑的?“行车记录仪回放单次任务全链路
Metrics”整体趋势好不好?“仪表盘聚合数字
Logs”那一刻具体发生了啥?“黑匣子流水账单条事件

3. Agent 特有的可观测维度

普通 Web 服务的监控(CPU、QPS)不够用——Agent 还有一批只有它才有的维度,这才是 Agent 可观测性的精华:

维度为什么要盯
每步 Token 消耗定位”哪一步在烧钱”(往往是塞了超长上下文那步)
工具调用成败 + 参数Agent 最常死在”调错工具 / 传错参数”
循环 / 迭代次数ReAct 转了几圈?转太多 = 跑偏或卡死信号
是否跑偏(goal drift)有没有偏离原始任务目标
上下文压缩发生点哪轮触发了自动压缩、压掉了什么(呼应 长程任务原语 § 3.3)
人工介入率自治程度的直接度量

LLM 专用观测平台(普通 APM 工具不懂 LLM,得用这些):

平台一句话大白话
Langfuse开源 LLM trace + eval + 成本,最常用给 LLM 应用的”行车记录仪+账本”,能自建
LangSmithLangChain 官方配套(见 Eval)LangChain 用户的无缝套装
Phoenix(Arize)开源、偏排查与评测重排查/可视化的开源选择
OpenTelemetry(OTel)通用可观测性标准 / 框架(含 API、SDK、语义约定、Collector;其传输协议另称 OTLP),非专用工具行业”通用插头”,很多平台都兼容它

这些工具的部署示例(如 Langfuse 接入代码)见 HomeLab § 7.3 LLM 专用观测;本文讲”该观测哪些维度、为什么”,那篇讲”监控栈怎么搭”。


4. 成本工程:把钱算明白再压下来

💬 大白话:Agent 跑起来是真烧钱的(/goal 长任务一天能烧几十美元)。成本工程就是先搞清楚”钱花哪了”,再用几招把它压下去。

4.1 成本从哪来:Token 拆解

LLM 按 Token(词元,模型计长度和算钱的最小单位) 收费,且三种 token 单价不同:

Token 类型说明相对价格
输入 Input你发进去的(含历史对话、系统提示、工具定义)便宜
输出 Output模型生成的贵(常是输入的 3~5 倍)
缓存 Cached命中 Prompt Caching 的输入最便宜(常打 1~2 折)

详细的 Token 换算、上下文累计计费、Prompt Caching 机制见 上下文窗口与 Token 计费。

4.2 四个省钱杠杆

杠杆怎么做大白话
模型分级简单步骤用便宜模型(Haiku),难步骤才上贵的(Opus)杀鸡别用牛刀——见 各家 LLM 模型特点速查、LLM-API 选型方法论
Prompt Caching把固定不变的长前缀(系统提示 / 工具定义)缓存起来重复的开场白按缓存折扣价计费——不是免费,但便宜很多(见 § 4.1 的”1~2 折”)
上下文压缩旧对话摘要化,别一直堆别把整本聊天记录每次都重发一遍(呼应 长程任务原语 § 3.3)
任务二分法能用脚本 / 规则做的别调 LLM不花钱的活就别花钱——见 Multi-Agent § 任务二分法(“这一层不调 LLM,0 token 成本”)

4.3 延迟工程(快也是一种省)

延迟和成本是一对:用户等不起,慢请求也常更贵。常见手段——流式输出(先出字、体感快)、并行工具调用(多个工具同时调)、投机解码(Speculative Decoding,小模型先猜大模型来验,详见 LLM 推理引擎选型)。


5. 落地:从零搭一套(小白路径)

  1. 先接一条 Trace:给 Agent 接上 Langfuse(或 LangSmith),让它自动记录每次运行的步骤 / token / 延迟。
  2. 看仪表盘:跑几天,盯 p95 延迟、失败率、每日 token 花费三个数。
  3. 设预算告警:日成本超阈值就报警(别等月底账单吓一跳)。
  4. 打通 Eval:把线上 Trace 里”出问题的运行”捞出来,变成 Eval 的测试样本——这就接上了数据飞轮(线上数据回灌成评测集)。

💡 顺序很重要:先有 Trace(看得见)→ 再有 Metrics(看趋势)→ 再谈优化。看不见就优化 = 蒙着眼睛改。


6. 常见坑

坑症状解法
只监控机器、不监控 AgentCPU 正常,但 Agent 早就跑偏了加 Agent 级维度(§ 3)
只看平均延迟平均很好看,p99 烂到用户跑光一定看 p95 / p99
不算 token 账月底账单爆炸才发现按 run 记 token + 预算告警
Trace 记了不看存了一堆 trace,出事不去回放把”看 trace”写进排查 SOP
日志记敏感信息trace / log 里混入密钥、用户隐私脱敏(呼应 Agent 安全攻防 的 DLP)

7. 术语速查

术语英文一句话💬 大白话
可观测性Observability从外部信号推断系统内部状态的能力看得见 Agent 肚子里发生了啥
链路追踪Trace一次任务全过程的步骤时间线行车记录仪回放
跨度SpanTrace 里的一段(某一步)物流时间线上的一个扫描点
指标Metrics聚合出来的趋势数字仪表盘上的几个表
日志Logs带时间戳的原始事件流水黑匣子流水账
p99 延迟p99 latency约 99% 请求都不超过这个耗时(剩约 1% 更慢)排到末尾约 1% 的请求有多慢(不是最慢那一次,那叫 max)
数据飞轮Data Flywheel用线上数据回灌改进系统越用越准的滚雪球
Prompt 缓存Prompt Caching缓存固定长前缀,命中后按折扣价计费重复的开场白下次便宜很多(打折,非免费)
模型分级Model Routing按难度选贵 / 便宜模型杀鸡不用牛刀
可观测性标准框架OpenTelemetry (OTel)跨工具的观测数据标准(API/SDK/语义约定/Collector,传输协议为 OTLP)行业通用插头

与本知识库其他章节的关联

文档关系
Agent 架构师能力地图与学习路线本文是其**能力域 7(可观测与运维)**的展开
Eval 测评体系可观测回答”跑得对吗”靠它;线上 Trace → Eval 样本是数据飞轮闭环
HomeLab 到中小企业 LLM 部署架构那篇讲监控栈(Prometheus / Grafana / Langfuse)怎么搭,本文讲该观测什么
上下文窗口与 Token 计费成本工程的计费物理基础(Token 换算、Prompt Caching)
Claude Code goal 命令长任务自治的成本警示(一天烧几十美元)是本文成本工程的现实动机
长程任务原语上下文压缩既是省钱手段,也是长程任务的状态管理手段
各家 LLM 模型特点速查 / LLM-API 选型方法论模型分级省钱要先认识各家模型的能力 / 价格档位
极简可控的 Coding Agent 设计:pi工具级实践案例:pi 把”可观测性优先”做到极致(拒绝 SubAgent 黑盒、用 tmux 换后台 bash),是本文方法论的一个具体工具取向
AI 岗位图谱:FDE 与大模型应用工程师岗位视角:面试五问里的”单次请求成本和 P95 延迟是多少、谁在管这个数”问的就是本文内容;“生产化工程能力”是大模型应用工程师护城河的第二层

来源与局限性

  • 来源:补全 Agent 架构师能力地图 能力域 7 的覆盖空洞;综合本库已有的部署监控、Eval、Token 计费笔记提炼。
  • 局限性:
    1. 具体平台(Langfuse / LangSmith / Phoenix)的功能与定价更新很快,选型前请查官方最新文档;
    2. 本文聚焦”该观测什么、怎么省钱的思路”,不展开各平台的 SDK 接入代码(接入示例见 HomeLab § 7);
    3. 成本数字(输出是输入的 3~5 倍等)是经验量级,随模型 / 厂商不同,以实际计费为准。
  • 最后更新:2026-06-03