Agent 上线就万事大吉了
你的 AI Agent
还是个黑箱吗?
Langfuse 全链路可观测方案
从凌晨翻日志到 20 分钟定位
📌 本文看点
01
传统 APM 为什么搞不定 Agent
02
ClickHouse + Langfuse 怎么配合
03
vs Datadog / LangSmith 直接对比
凌晨两点,我盯着 Slack 上客服团队的消息,心跳加速。
我们的退款 Agent 在过去三小时里,给 47 个客户退了不该退的钱。总金额——12 万。原因不明。
我打开 Datadog,看到的是一片绿色——所有 API 调用都返回了 200,延迟正常,错误率为零。系统"一切正常"。但 Agent 明明在犯错。它在用一条根本不存在的"七天无理由退款政策"来处理投诉,而且态度特别好,回复特别快,客户特别满意。
问题是:我们公司没有七天无理由退款政策。
这一刻我才真正意识到:我们对 Agent 内部发生了什么,一无所知。
PAIN POINT
传统 APM 为什么搞不定 Agent
先说一个容易被忽略的事实:你的 Agent 不是一个 API 调用。
传统的监控工具——Datadog、New Relic、Prometheus——都是为请求-响应模型设计的。一个请求进来,处理,返回结果。你关心的是延迟、错误率、吞吐量。
但一个 Agent 的单次运行长什么样?
它可能先调用大模型理解用户意图,然后查询知识库拿到 3 条相关文档,接着判断需要调用退款 API,但在调用之前又去查了一下用户的历史订单,发现有争议,于是启动了第二轮推理,重新评估是否应该退款,最终还是决定退——因为它"记住"了一条训练数据里的退款政策。
这整个过程可能触发 15-20 次大模型调用、8 次工具调用、3 轮自我纠正。传统 APM 看到的只是最外层的一个 HTTP 200。
你需要的不是 trace,是完整的推理考古现场。
具体来说,三个核心问题传统工具答不了:
第一,推理链断在哪了?Agent 的每一步决策依赖前一步的输出。如果第三步用了错误的上下文,后面全部推理都是错的。但你只看到最终结果,不知道错误在哪一步引入。
第二,工具调用对不对?Agent 有权调用 API、查询数据库、发邮件。它调的对吗?传参正确吗?返回结果它理解对了吗?
第三,幻觉怎么追?大模型会编造信息——编造政策、编造数据、编造引用。如果你不记录每一步的输入输出,事后根本无法复现幻觉是怎么产生的。
SOLUTION
ClickHouse + Langfuse:一个追踪,一个存储
我最终落地的方案是 Langfuse + ClickHouse,跑在 AWS 上。分工很清楚:
🔍 LANGFUSE · 负责追踪
开源 LLM 可观测平台(GitHub 15,000+ Star)。在 Agent 代码里加几行 SDK,自动捕获完整的推理树——每一次大模型调用的 Prompt 和返回、每一次工具调用的参数和结果、每一轮自我纠正的触发原因。
不是扁平的 Span 列表,是树状结构,父子关系一目了然。框架无关——LangChain、CrewAI、AutoGen、Dify 都能接。
⚡ CLICKHOUSE · 负责存储和查询
一个 Agent 单次运行产生几十条 Span,乘以每天几万次调用,一个月就是几十亿条记录。这些数据不能采样(采样了就可能漏掉出问题的那次调用),也不能只存 7 天。
ClickHouse 列式引擎——写入快、压缩比高、查询猛。20 亿条 Span,2 秒内返回。同样数据量放 Elasticsearch,查询 30 秒+,存储成本高 10-30 倍。
☁️ AWS · 负责跑起来
ClickHouse Cloud 直接部署在 AWS 上,Langfuse 自托管在 EKS 里。数据不出 VPC,满足 SOC 2 和 GDPR。不用把 Agent 推理记录发到第三方 SaaS——对出海和合规敏感的团队尤其重要。
回到开头那个退款 Agent 的故事。如果当时有这套东西,我能在 Langfuse 面板上直接看到:那 47 次错误退款,Agent 在第三步"查询退款政策"时,从知识库检索到了一条过期文档(三个月前的促销临时政策),然后基于这条过期信息做出了退款决策。
20 分钟定位,而不是凌晨两点翻日志翻到早上六点。
HOW TO
三步上手
部署比我想象的简单。
Step 1:接入 Langfuse SDK
15 min3 行代码。LangChain 用户在初始化 LLM 时多传一个 callback;自研框架用 decorator 包一下关键函数。自动捕获 Trace、Span、Token 用量和工具调用。
Step 2:连接 ClickHouse
5 minLangfuse 支持把数据导出到 ClickHouse 作为分析后端。配一个连接串,选好要同步的字段。
Step 3:开始观测
即时生效打开 Langfuse 面板查看实时 Agent 会话(日常 debug),或在 ClickHouse 里写 SQL 做批量分析(周报/月报/异常检测)。
整个过程不到半小时。当然,如果你的 Agent 架构比较复杂(多 Agent 编排、自定义工具链),可能需要多花点时间配置 Span 的父子关系。但核心链路半小时内一定能跑通。
COMPARISON
直说对比:vs Datadog、vs LangSmith
我知道你在想什么——"我已经有 Datadog 了"或者"LangSmith 不也能做吗"。
⚔️ VS 通用 APM(Datadog / New Relic)
能力
通用 APM
ClickHouse + Langfuse
Agent 推理树
❌ 扁平 Span
✅ 完整树状结构
Token/成本追踪
❌ 手动打标
✅ 自动采集
逐 Span 评分
❌ 不支持
✅ 内置评估框架
30 天全量查询
⚠️ 采样,昂贵
✅ 全量保留,2 秒查询
规模成本
💸💸💸
💰 便宜 10-30 倍
说白了,通用 APM 是给微服务设计的,不是给 Agent 设计的。你硬用也不是不行,但就像用 Excel 做数据库一样——能跑,但很别扭。
⚔️ VS LANGSMITH
LangSmith 是 LangChain 官方的追踪工具,如果你全栈都用 LangChain,它确实开箱即用。但三个硬伤:
1. 框架绑定。不用 LangChain?体验直线下降。Langfuse 是框架无关的。
2. 纯 SaaS,不能自托管。Agent 推理记录全部存在 LangChain 服务器上。有数据合规要求的团队,这是硬伤。
3. 规模和成本。Span 量到十亿级别,LangSmith 定价会让 CFO 不开心。ClickHouse 存储成本是它的零头。
TAKE ACTION
写在最后
AI Agent 已经在替你的业务做决策了。退款、客服、代码审查、文档生成——每天成千上万次。
你可以选择继续当黑箱运营,等下一次凌晨两点被叫醒。
也可以花半小时,把 Agent 的每一步推理变得透明。
20 亿+
Span/天
< 2 秒
P99 查询
60%
定位更快
15k+
GitHub ⭐
夜雨聆风