1、概述
上一篇我们讲清楚了可观测性的核心概念 Trace、Span、degraded 状态。但如果你真的要落地,第一反应通常会是:有没有现成的工具或平台可以直接用?
答案是有的。最常被提到的两个名字,是 LangSmith 和 Langfuse。不过,选择方案时还要把 OpenTelemetry 这类埋点规范与传输层考虑进去:它和观测平台不是同一个层次,可以作为 Langfuse、自建后端,甚至其他平台之间的通用连接层。
| 工具或方案 | 定位 |
|---|---|
| LangSmith | 面向 LLM 与 Agent 的观测、调试和评估平台,LangChain 生态集成较深 |
| Langfuse | 基于 OpenTelemetry 的 LLM observability 平台,支持云端与自托管、多框架接入 |
| OpenTelemetry | 跨供应商的 Trace/Span 埋点规范与传输层,不是单独的观测后台 |
| 自建方案 | 完全掌控数据结构、采样策略、存储成本与线上治理 |
如果不把这些方案拆开看,就很容易出现一种常见误判:它们不都是记录 Trace 吗,差别应该不大。实际上,差别非常大。差别不只在功能,而在于它们分别站在哪个工程阶段、哪种组织约束、哪类数据治理要求上思考问题。
2、LangSmith
LangSmith 是什么?它是 LangChain 团队(开发 LangChain / LangGraph 框架的公司)推出的 LLM 与 Agent 观测、调试和评估平台。你可以把它理解成一个 AI 应用专用的 DevTools。具体部署形态和能力以当前产品版本与方案为准,不宜简单归类成只有一种 SaaS 形态。
如果你已经在用 LangChain 或 LangGraph 来构建 AI 应用,那么 LangSmith 的接入体验会非常顺手。当前配置通常使用下面这些环境变量:
langsmith-env.ts
// 设置环境变量,LangChain 集成会根据配置上报 Trace
// LANGSMITH_TRACING=true
// LANGSMITH_API_KEY=lsv2_pt_xxx
// LANGSMITH_PROJECT=ai-companion-prod
旧版本文档中还可以看到 LANGCHAIN_TRACING_V2、LANGCHAIN_API_KEY* 等变量。它们可能在兼容场景中仍然有效,但新项目应以当前 LANGSMITH_* 命名为准,并锁定 SDK 版本。*
如果你的管线里有自定义函数(不是 LangChain 组件),可以用 traceable 包装,让它也纳入 Trace 链路:
langsmith-traceable.ts
import { traceable } from 'langsmith/traceable'
import { ChatOpenAI } from '@langchain/openai'
// 用 traceable 包装自定义函数,自动记录输入、输出和耗时
const retrieveMemories = traceable(
async (query: string) => {
// 这里省略具体向量库,只保留一个可追踪的检索函数
return [{ content: `与「${query}」相关的记忆片段` }]
},
{ name: 'memory_retrieval', run_type: 'retriever' }
)
// LangChain 的 ChatModel 天然支持,无需包装
const model = new ChatOpenAI({ model: 'gpt-5.4-mini' })
const buildPrompt = (memories: Array<{ content: string }>) =>
memories.map((memory) => memory.content).join('\n')
// 整条管线的每一步都会自动出现在 LangSmith 的 Trace 面板里
const memories = await retrieveMemories('我养过什么宠物?')
const response = await model.invoke([
{ role: 'system', content: buildPrompt(memories) },
{ role: 'user', content: '我养过什么宠物?' }
])
在已接入的组件和自定义函数被追踪、且没有被采样或脱敏过滤的前提下,你可以在 LangSmith 的 Web 界面上看到:
- 一次请求的调用链(每个节点做了什么、花了多久)
- 每一步 Prompt 的输入与输出(具体内容取决于配置、脱敏和采样策略)
- 模型调用参数、耗时、Token 消耗(取决于模型供应商和集成是否提供 usage 数据)
- 工具调用、检索命中、链路分支与中间结果
- 多次实验之间的效果对比(比如两个 Prompt 版本谁更稳定)
- 通过 metadata 和 tags 过滤、查询业务维度
也就是说,LangSmith 不只是日志平台,而是把 AI 应用的调用链追踪、Prompt 调试和实验评估放在了同一个工作流中。
LangSmith 的主要优势是把 Agent 调试、追踪和评估放在同一个工作流里;它并不等于只适合开发环境,也不等于必须承接所有线上原始数据。
3、Langfuse
Langfuse 是什么?它是一个基于 OpenTelemetry 的 LLM observability 平台,提供云端服务和自托管形态。它和 LangSmi