JOTO
Contact us
← AI 智库
大语言模型

AI 智能体上了生产,你怎么知道它「今天有没有干蠢事」?

2026 年 11 月 15 日

本文系统解析 AI 智能体(Agent)在生产环境中的可观测性问题,指出传统日志与 APM 无法应对 Agent 的多步、带工具、有状态、错误累积四大特性;提出 Tracing、Evaluation、Monitoring 三大支柱,并详解其分工;对比 Langfuse、LangSmith、Braintrust、Arize Phoenix 四家主流工具定位;最后给出从 Demo 到生产的五步落地清单。

你有没有遇到过这种情况:一个 AI 智能体(Agent),回答一个看起来很简单的问题,居然花了 45 秒。

到底是模型本身慢?是某次工具调用卡住了?还是它悄悄陷入了一个自己出不来的重试循环?

如果你没有装可观测性(Observability),你只能猜。而猜错的代价,可能是一笔悴悴上涨的 token 账单,也可能是一个在生产环境里默默犯错、你却毫无察觉的 Agent。

这不是我编的段子,这是 OpenTelemetry 官方在 2026 年那篇 GenAI 可观测性博客的开场白。他们用一句话点破了所有把 Agent 推上生产的团队的共同噩梦——你的 Agent 在生产环境里到底干了什么,你其实一无所知。

更扎心的一个事实是:单轮 LLM 调用,你还能靠「看输入、看输出」大致判断好坏;但一个 Agent 一次任务可能触发十几次模型调用、七八次工具调用、还带着一路累积的中间状态。这时候,你手里那套用了十年的日志和 APM(应用性能监控),基本上是瞎的。

今天这篇,我们就把「Agent 可观测性与评测」这件事从头讲透:它和传统运维差在哪、三大支柱分别管什么、四家主流工具怎么选,以及从 Demo 到生产你到底要盯哪些指标。

先讲个比喻:给实习生装监控,还是给整条流水线装监控?

理解 Agent 可观测性,先记住一个贯穿全文的比喻。

单轮 LLM,像你问实习生一句话:「帮我把这段英文翻译一下。」他给你个结果,好不好你一眼就能看出来。你根本不需要装摄像头,因为整个过程就一步,透明得很。

Agent 不一样。你不是问它一句话,你是把它放上了一整条流水线:让它自己查资料、调 API、读数据库、算中间结果、再决定下一步干什么。这条流水线可能有十几道工序,每一道都可能出错,而且错误会往下游累积——第三步取错了一个数,后面九步全在错误的地基上盖楼,最后产出一个看起来煞有介事、实际上完全错误的答案。

关键问题来了:如果你不给这条流水线装摄像头和质检站,货做废了,你根本不知道是哪一道工序把它做废的。

这就是 Agent 可观测性要解决的事——不是「结果对不对」这么简单,而是「整个过程里,每一步到底发生了什么,哪一步出了问题,代价有多大」。

撒哈拉沙漠金色沙丘
📍 撒哈拉沙漠 · 摩洛哥 — 金色沙丘绵延到天际线的尽头

为什么传统日志和 APM 看不懂 Agent?

先说清楚 Agent 和单轮 LLM 在运维层面的四个本质差别,这是理解后面所有内容的地基。

第一,多步。 单轮是「一问一答」,Agent 是「一个目标 → N 步动作」。传统 APM 擅长追踪「一个 HTTP 请求耗时多少」,但它不理解「这 45 秒里,模型思考占了几秒、工具调用占了几秒、重试浪费了几秒」。

第二,带工具。 Agent 会调用外部工具——搜索、数据库、代码执行、第三方 API。每个工具调用都可能超时、报错、返回垃圾数据。传统日志把这些当成孤立的 HTTP 请求记录,但它不知道「这次工具失败,是因为上一步模型生成了一个错误的参数」。

第三,有状态。 Agent 在一次任务里维护着不断增长的上下文(对话历史、中间结论、记忆)。同样一句用户输入,在不同的上下文状态下,Agent 的行为可能天差地别。无状态的传统监控完全捕捉不到这层因果。

第四,会累积错误。 这是最致命的。单轮 LLM 错了就是错了,一目了然。Agent 的错误会沿着推理链传播和放大——一个早期的小偏差,经过多步放大,最后变成一个离谱的结果。而你看最终输出,往往看不出这个错是从第几步开始的。

一句话总结:传统可观测性是为「无状态、单步、纯计算」的系统设计的;而 Agent 是「有状态、多步、带外部副作用」的系统。 用旧工具看新系统,就像用听诊器给汽车做故障诊断——不是没用,是根本不在一个维度上。

举个具体的例子体会下「累积错误」有多坏:假设一个任务需要 5 步,每一步 Agent 的正确率高达 90%,听起来很不错吧?但 0.9 的 5 次方只有 0.59——也就是说,即便每步都有九成把握,五步走下来成功率也不到六成。 步数再多一点(真实 Agent 十几步很常见),成功率就像雪崩一样往下滞。更麻烦的是,你看最终那个错误输出,完全不知道崩在了第几步。这就是为什么 Agent 特别依赖可观测性:你必须能把每一步单独拆开看,才能知道错误是从哪里开始滞延的。

Agent 多步执行示意图

三大支柱:Tracing、Evaluation、Monitoring

那给流水线装的这套「监控系统」,到底由什么组成?业界基本收敛到了三根支柱,你可以理解成三种视角,分别回答三个不同的问题。

  • Tracing(全链路追踪):回答「这一次任务,具体每一步发生了什么?」——像流水线上装的一排摄像头,把每一道工序录下来。
  • Evaluation(评测):回答「这一次任务,干得到底好不好?」——像质检站,给产出打分,甚至给中间每一步打分。
  • Monitoring(线上监控):回答「最近一批任务,整体健康吗?出问题了要不要报警?」——像车间墙上的大屏,实时显示良品率、耗时、成本,异常了拉警报。

三者缺一不可。只有 Tracing 没有 Evaluation,你能看到过程却不知道好坏;只有 Evaluation 没有 Monitoring,你能离线评分却发现不了线上突然变糟;只有 Monitoring 没有 Tracing,你知道出事了却定位不到是哪一步。这三者合起来,才能回答一个 Agent 团队最关心的终极问题:它今天到底干得好不好、花了多少钱、有没有在患里干蠢事。下面逐个拆开。

Tracing、Evaluation、Monitoring 三支柱关系图

支柱一:Tracing——把 Agent 的「思考轨迹」摊在阳光下

Tracing 是三大支柱的地基,因为另外两根柱子都建立在「你能完整看到过程」之上。

核心数据结构是一棵 Span 树(跨度树)。 一次 Agent 任务是一个根 Span,它下面挂着一层层子 Span,形成一棵树。以 OpenTelemetry 2026 年的 GenAI 语义约定为例,一次典型的 Agent 执行,展开后大概长这样:

  • 顶层是一个 invoke_agent span(这次智能体调用)
  • 它下面挂着若干个 chat span(每一次 LLM 模型调用)
  • 以及若干个 execute_tool span(每一次工具调用)

画成一棵树大概长这样:

invoke_agent “查上月华东区销售额”  (12.3s)
  ├─ chat  模型思考 → 决定调用 SQL 工具  (2.1s)
  ├─ execute_tool  run_sql(...)  (8.7s)  ⚠ 慢
  ├─ chat  把查询结果汇总成自然语言  (1.3s)
  └─ 输出:“上月华东区销售额 128 万”

一眼就能看出:12.3 秒里有 8.7 秒卡在 SQL 工具上,模型本身其实不慢。这就是 span 树的价值——它把一次任务拆成了可归因的时间切片。

点开任意一个 span,你能看到 OTel 语义约定规定的标准字段:调用了哪个模型、输入输出的 token 数、(在你显式开启后)完整的 prompt 和 completion 内容、工具调用的参数和返回值。

"每次应用调用 LLM,背后都会发生一连串的模型调用、工具调用和 token 交换——没有可观测性,你就是在猜。" —— OpenTelemetry GenAI 可观测性博客

这里要专门说一下 OpenTelemetry GenAI 语义约定,因为它是 2026 年整个赛道最重要的「地基工程」。

大白话版: 以前每家可观测性工具记 Agent 数据的格式都不一样,你从 Langfuse 导出的数据塞不进 Datadog,换个工具就得重新埋点。OTel 语义约定干的事,就是定义一套所有人都认的标准词汇表:prompt 叫什么字段、token 数叫什么字段、工具调用怎么记、模型供应商怎么标(比如 AWS Bedrock 统一标成 aws.bedrock)。这样一来,数据格式统一了,工具之间可以互换,你不再被某一家锁死。

这个标准的分量有多重?看谁在跟进就知道了:Datadog 已经原生支持 OTel GenAI 语义约定;VS Code Copilot、OpenAI Codex、Claude Code 这些编程助手,现在都能直接吐出 OTel 格式的遥测数据(Claude Code 的 trace 支持还在 beta)。也就是说,可观测性正在从「各家自己埋点」走向「一套标准、处处通用」,这对做 Agent 的团队是天大的好事。

Tracing 到底帮你抓什么问题? 回到开头那个 45 秒的例子:点开 span 树,你一眼就能看到——哦,原来 40 秒都耗在一个 execute_tool span 上,是那个数据库查询超时了,模型本身其实只花了 3 秒。没有 Tracing,你只知道「慢」;有了 Tracing,你知道「慢在哪、为什么慢、怎么修」。

Span 树可视化示意图

支柱二:Evaluation——给「多步任务是否成功」设计评分

这是整件事里最难、也最容易被忽视的一环。因为 Agent 的「成功」很难定义。

单轮 LLM 的评测相对好办:给个标准答案,比对一下就行。但 Agent 的任务往往没有唯一标准答案(「帮我订一张性价比最高的机票」这种任务,怎么算对?),而且它是多步完成的。业界现在主要有三种评测思路。

第一种:终态评分(Final-state / Outcome)。 只看最终结果对不对——机票订对了吗?代码跑通了吗?优点是客观、好实现;缺点是它会放过「蒙对的」和「过程全靠蒙、结果碰巧对」的情况。

第二种:轨迹评分(Trajectory)。 不只看结果,还看它「走的路对不对」——它是不是调用了正确的工具?步骤顺序合不合理?有没有多余的弯路和重试?这对 Agent 尤其重要,因为一个「侥幸蒙对」的 Agent 上了生产,早晚会翻车。

第三种:LLM-as-judge(用大模型当裁判)。 当答案没有标准参考、又无法用规则自动判断时,就拉另一个(通常更强的)模型来给输出打分,比如「请从 1-5 分评价这个回答的事实准确性」。这是 2026 年最主流的自动评测手段,但它有个致命陷阱:裁判自己也会不靠谱(有偏见、偏好长回答、容易被「听起来很专业」的胡言乱语骗过)。所以严谨的做法是:先拿一批人工标注好的数据去「校准」你的 LLM 裁判,确认它的打分和人类对得上,再拿它去大规模自动评分。

一个实战建议:不要只用一种。成熟的 Agent 评测体系通常是终态 + 轨迹 + LLM-as-judge 三种叠加:能用硬规则(代码跑不跑通、JSON 合不合法)判定的就用硬规则,硬规则判不了的再上 LLM-as-judge,关键链路再叠一层轨迹检查。

那评测集从哪来?两条路子:一是人工标注(贵但质量高,适合关键任务),二是把线上真实轨迹攒下来、把出过问题的 case 挑出来当回归样本。一个实用技巧:别一上来就追求几百条大集,先攒三五十条能覆盖典型场景和已知坏 case 的小集,能拦住八成回归就已经很值了。评测集不是一次造好的,它跟着你的 Agent 一起长大。

一个极端对比案例,让你看清「只看终态」有多危险。 假设你做一个数据分析 Agent,用户问「上个月华东区销售额多少」。两个 Agent 都回答了「128 万」,终态评分都是满分。但拉开轨迹一看:A 号正确地过滤了「华东区 + 上月」两个条件;B 号其实把 WHERE 条件写错了,算的是全城数据,只是碰巧这个月全城和华东区数字差不多。下个月 B 号就会翻车,而你的终态评分完全发现不了——因为它今天「侥对了」。这就是为什么轨迹评分对 Agent 不是锦上添花,而是生死攻防。

小心评测被「玩坏」。 还有个阴沟:一旦你把某个评分标准当成优化目标,Agent(或调参的人)就会学会「只优化分数、不优化真实效果」。比如你用 LLM-as-judge 打「回答是否详细」,结果 Agent 学会了写一大堆没用的废话来凑「详细」。这就是强化学习里臭名昭著的 reward hacking 在评测环节的翻版。应对办法:多维度交叉打分、定期用新的人工样本重新校准裁判、不要把单一指标当唯一真理。

支柱三:Monitoring——线上到底该盯哪几个数字?

Tracing 和 Evaluation 很多是「事后看回放」和「上线前跑分」,Monitoring 则是「线上实时盯盘」。Agent 上了生产,你到底该在大屏上盯哪几个指标?除了传统的延迟、QPS、错误率,Agent 特有的四类指标你必须看:

  • 成本(每任务 token 消耗):单轮 LLM 的成本好估,Agent 一次任务调十几次模型,成本方差极大。一旦某类任务陷入重试循环,token 账单会瞬间爆炸。盯「每任务平均成本」和「长尾高成本任务」。
  • 延迟(端到端 + 分阶段):不能只看总耗时,要拆开看模型思考、工具调用、网络等待各占多少。P95/P99 延迟比平均值重要得多。
  • 工具调用失败率:这是 Agent 独有且最容易被忽视的指标。工具报错率一旦升高,往往意味着模型开始生成错误参数,或者下游 API 挂了。
  • 任务成功率 / 人工接管率:多少任务 Agent 自己完成了,多少需要人工兵。后者上升往往是质量滑坡的最早信号。

举个真实的告警场景:某天上游换了个模型版本,你的大屏上“工具调用失败率”从 2% 突升到 15%。传统 APM 会告诉你“服务都正常、HTTP 200”,因为代码没报错;但 Agent 监控能直接拉警报:新模型生成的工具参数格式变了,导致调用大面积失败。这种“代码没错、但 Agent 变蠢”的毛病,只有 Agent 专用的监控才看得见。

把 Evaluation 的自动评分接到线上(对采样流量跑 LLM-as-judge),你就能把「质量」也变成一个可告警的实时指标——这才是 Agent 监控与传统 APM 最大的不同:传统监控只能告诉你「系统挂没挂」,Agent 监控还得告诉你「它变蠢没变蠢」。

Agent 监控大屏示意图

四家工具矩阵:Langfuse / LangSmith / Braintrust / Arize Phoenix

地基搭好了,现实中用什么工具落地?先说它们的共性:四家其实都干同一件事——接住 Agent 吐出的 trace、提供一套跨轨迹的评测能力、再把关键指标搬上线上监控大屏。差别不在“能不能”,而在“先为谁而生”——每家都有自己的基因和偷心。

2026 年四家主流方案,各有脸面:

工具 定位 特点 适合谁
Langfuse 开源自托管优先 开源、能自己部署、框架中立、OTel 兼容好 在意数据主权、想自托管的团队
LangSmith LangChain 官方套件 与 LangChain/LangGraph 无缝衔接、评测能力强 已经用 LangChain 技术栈的团队
Braintrust 评测为中心 Eval 体验好、Playground 强、适合快速迭代 prompt 把「评测驱动开发」当核心工作流的团队
Arize Phoenix 开源 + 偏生产监控 开源、OTel 原生、偏向生产环境大规模监控与漂移检测 需要从实验室平滑到生产监控的团队

选型的真正分水岭不是功能列表,而是三个问题:你能不能接受 SaaS(还是必须自托管)?你的技术栈是不是绑定 LangChain?你的重心在「开发期快速评测」还是「生产期大规模监控」?想清楚这三点,选型基本就定了。而有了 OTel GenAI 语义约定这层标准,即便以后想换工具,迁移成本也比以前低得多。

从 Demo 到生产:一张可观测性落地清单

讲了这么多原理,最后给一张可以直接拿去用的落地清单,按这个顺序一步步来:

  1. 先埋 Tracing。 从第一行 Agent 代码开始就接 OTel GenAI 语义约定,把 invoke_agent/chat/execute_tool 的 span 树先跑通。没有 trace,后面什么都是空中楼阁。
  2. 攒一个评测集。 把真实、有代表性的任务攒成一个数据集(哪怕先几十条),作为上线前的「回归测试」。改 prompt、换模型前先跑一遍,防止「改好了一处、改崩了五处」。
  3. 设计分层评分。 硬规则优先,其次 LLM-as-judge(并用人工标注校准),关键链路加轨迹检查。
  4. 上线监控 + 告警。 把成本、分阶段延迟、工具失败率、任务成功率上大屏,对采样流量跑在线评分,异常拉警报。
  5. 形成闭环。 线上发现的坏 case 回流到评测集,下次迭代自动防回归。可观测性不是一次性工程,是个不断转的飞轮。

回到开头那个比喻。单轮 LLM 是问实习生一句话,错了一眼就看得出来;Agent 是放它上了整条流水线,不装摄像头和质检站,你根本不知道它在哪一步把货做废了。而所谓可观测性,就是让这条流水线从黑盒变成玻璃房——每一道工序都看得见,每一件次品都拦得下。

Agent 能不能真正从「好玩的 Demo」变成「靠谱的生产力」,差的往往不是模型能力,而是你能不能看清楚它到底干了什么。看不见的东西,无法改进。过去一年,真正把 Agent 跑上生产的团队都在补这一课:先把“黑盒”变透明,再谈优化。可观测性听起来像是“锈活”,但它恰恰是区分“玩具 Agent”和“生产 Agent”的那道分水岭。

JOTO 企业落地观察

  • 企业部署 Agent 时,若跳过 Tracing 直接进入 Evaluation 或 Monitoring,将导致可观测性体系根基不稳——因为后两者均依赖完整、标准化的过程数据。缺乏 Span 树结构,评测无法归因,监控无法下钻。
  • 企业在选择工具时,不应仅关注功能列表,而需评估自身在「数据主权」「技术栈耦合度」「开发与生产阶段权重」三方面的实际约束。OTel GenAI 语义约定降低了切换成本,但初始选型仍影响工程节奏与团队认知负荷。
  • Agent 的可观测性建设不是一次性配置任务,而是需嵌入研发流程的持续实践:评测集随业务演进、Trace Schema 随 Agent 架构调整、监控阈值随线上表现动态校准。企业需为该能力预留长期迭代资源,而非视为上线前的收尾工作。
  • 当企业将 LLM-as-judge 用于线上质量监控时,必须同步建立裁判模型的可信度验证机制——包括人工抽样比对、对抗样本压力测试、及跨时间窗口的稳定性跟踪。否则,“用模型监模型”可能演变为双重黑盒风险。

立即咨询 JOTO

JOTO 提供覆盖企业智能体规划与搭建、AI 平台私有化部署、RAG 知识工程、AI 安全治理、FDE 驻场共创及持续运营优化的全周期 AI 落地服务,帮助企业把验证中的 AI 能力转化为安全、可控、可持续迭代的生产力。 联系 JOTO 获取 AI 落地咨询

想把这些做法用到你的业务里?

留下你的场景和痛点,我们帮你判断从哪一步开始。

联系我们
Contact Us

Start your enterprise AI rollout

Tell us your industry, team, and current pain points. We'll get back to you within one business day to help you decide what to tackle first, what data to prepare, and which platform fits.

WeChat
Scan to add us for a 1:1 chat
JOTO WeChat consultation QR code

Tell us what you need

Once we receive your details, we'll be in touch within one business day.