LangSmith 是 LangChain 官方推出的 LLM 应用开发平台,用于对基于 LangChain(以及其它框架)构建的大模型应用进行调试、测试、评估和监控。它会把每一次模型调用、每一条链的执行过程完整记录下来,让你在网页端以可视化方式查看输入、输出、耗时、token 用量和完整的调用链。简单说,它给“看不见摸不着”的大模型应用装上了一双眼睛。
官网
为什么需要 LangSmith
大模型应用有个天然的痛点:它是一个黑盒。你发一段提示词进去,拿到一段回复出来,中间发生了什么、哪一步慢、哪一步花了多少 token、模型到底收到了什么系统提示,都无从得知。一旦效果不理想或成本飙升,排查起来就非常吃力。
LangSmith 主要解决以下几类问题:
- 可观测性:把每次调用的完整链路、输入输出、耗时和 token 用量记录下来,一目了然;
- 调试:出错时能看到具体是哪一步、传了什么参数、返回了什么,快速定位问题;
- 评估:用数据集对提示词、链、Agent 做批量评测,用数据而非感觉来判断改动是否有效;
- 协作:团队成员可以共享 trace 和评测结果,讨论问题时直接甩一条链接。
对于本地跑个 demo 也许感觉不到它的价值,但一旦应用变复杂(多步链、RAG、Agent),LangSmith 几乎是必备工具。
快速上手
1. 创建 API Key
登录官网后,进入 Settings 页面,创建一个 API Key:

2. 配置环境变量
把 API Key 和相关配置写入环境变量(或项目的 .env 文件):

LangSmith 识别的关键环境变量如下:
| 变量名 | 作用 | 示例 |
|---|---|---|
LANGSMITH_TRACING | 是否开启追踪 | true |
LANGSMITH_ENDPOINT | 服务地址 | https://api.smith.langchain.com |
LANGSMITH_API_KEY | API 密钥 | lsv2_pt_... |
LANGSMITH_PROJECT | 项目名称(trace 归到该项目下) | my-project |
# 是否开启 langSmith 监控
LANGSMITH_TRACING=true
# 服务地址
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
# API Key
LANGSMITH_API_KEY=<api key>
# 项目名称
LANGSMITH_PROJECT=my-project
3. 运行你的应用
只要上面的环境变量配置正确,LangChain 会在调用模型时自动把 trace 上报到 LangSmith,无需改动业务代码。下面以 DeepSeek 为例:
import { initChatModel } from "langchain";
const model = await initChatModel("deepseek:deepseek-chat", {
apiKey: process.env.DEEPSEEK_API_KEY,
});
const res = await model.invoke("用一句话介绍 LangSmith 是做什么的");
console.log(res.content);
如果你把变量放在 .env 里,运行时记得加载它。Node 20.6+ 可以直接用内置的 --env-file:
node --env-file=.env index.js
4. 在面板查看监控数据
运行结束后,打开对应项目的页面,就能看到刚刚这次调用的完整记录——输入、输出、耗时、token 用量、以及它是哪条链的一部分:


进阶:让 trace 更好找
当项目里有成百上千条 trace 时,给它们加上名字、标签和元数据会方便很多。在调用时通过第二个参数传入即可:
const res = await model.invoke("用一句话介绍 LangSmith 是做什么的", {
runName: "first-trace", // 给这次运行起个名字
tags: ["demo", "langsmith"], // 打标签,方便筛选
metadata: { source: "index.js" }, // 附加上下文信息
});
这样在面板里就能按标签过滤、按名字搜索,也能看到自定义的元数据。
常见问题
- 环境变量名写错:服务地址是
LANGSMITH_ENDPOINT,项目名是LANGSMITH_PROJECT。写成CHECKPOINT、PROJECT_NAME之类的都不会生效。 .env不生效:Node 不会自动加载.env,需要--env-file或dotenv手动加载。- 控制台出现
Failed to fetch info on supported operations ... timeout警告:这是 SDK 拉取服务器能力信息超时后的回退提示。它会自动降级为批量上报,并不影响 trace 上传,通常是到 LangSmith 的网络较慢导致的,可以忽略。 - 安全提醒:API Key 等同于账号权限,务必只放在环境变量或
.env里,并为.env配置.gitignore,避免提交到版本库。
小结
LangSmith 的核心价值是把大模型应用从“黑盒”变成“白盒”:通过自动追踪提供可观测性,帮你调试、评估和协作。上手成本也很低——创建一个 API Key、配好 LANGSMITH_TRACING、LANGSMITH_ENDPOINT、LANGSMITH_API_KEY、LANGSMITH_PROJECT 四个环境变量,代码一行都不用改,运行后就能在官网看到完整的调用链。对于任何准备把 LangChain 应用做扎实的开发者,这几乎是第一件该做的事。