《LangChain 系列》LangSmith:如何调试、追踪、评测一个 Agent?
31 / 32 章
开篇:Agent 能跑起来,不等于能上线 前面我们已经讲了 Tools、Agent、Memory、LangGraph、Middleware 和 Streaming。到这里,很多人会以为:Agent 跑起来了,项目就完成了。 错。真正难的地方
开篇:Agent 能跑起来,不等于能上线
前面我们已经讲了 Tools、Agent、Memory、LangGraph、Middleware 和 Streaming。到这里,很多人会以为:Agent 跑起来了,项目就完成了。
错。真正难的地方,从上线那一刻才开始。用户说答案不对,你要知道错在哪里;老板问为什么耗时 18 秒,你要知道卡在哪一步;版本改了 Prompt,你要知道效果到底有没有变好。
这一章只讲一个核心: LangSmith 不是“日志平台”。它是大模型应用的黑匣子、显微镜和质检台。 |
• 黑匣子:记录一次 Agent 请求的完整执行过程。
• 显微镜:把 LLM、Retriever、Tool、Prompt、Parser 每一步拆开看。
• 质检台:用数据集、评测器和实验对比,判断改动是否真的有效。
一、LangSmith 到底解决什么问题?
传统后端排查问题,看日志、看链路、看监控。大模型应用也一样,只是链路更复杂:一次回答可能包含问题改写、知识库检索、Rerank、Prompt 拼接、模型调用、工具调用、结构化输出、人工审批。普通日志只能看到碎片,LangSmith 要做的是把这些碎片还原成一棵完整的 Trace 树。
图 1:普通日志只能看碎片,LangSmith Trace 能看完整链路。
LangSmith 官方把它定位为 LLM 应用的可观测和评测平台,能从单条 Trace 到生产级指标提供可见性;官方文档也强调,它可以记录、检查和分析 LLM 应用执行的每一步。
• 开发期:看单次 Trace,调 Prompt、检索、工具参数。
• 测试期:跑 Dataset,做离线 Evaluation,比较不同版本。
• 上线后:看线上 Trace、Latency、Cost、Feedback、Online Eval。
二、几个核心概念,先压缩成一张图
LangSmith 的术语看起来多,其实就几层。Project 是应用空间。Trace 是一次请求。Run 是请求里的一个步骤。Thread 是多轮对话。Dataset 是评测题库。Experiment 是某个版本跑完题库后的结果。Evaluator 是打分规则。Feedback 是用户和人工标注。
图 2:Project、Trace、Run、Thread 的关系。
图 3:LangSmith 核心概念速查表。
三、Trace 是怎么被记录出来的?
看源码时,不要一头扎进细节。先抓主线。LangSmith 的追踪,本质就是在函数入口创建 RunTree,执行中创建 child run,结束时把 outputs、error、end_time patch 回平台。
图 4:LangSmith 追踪源码链路压缩图。
1. 环境变量只是开关,不是核心
最常见的接入方式,是设置 LANGSMITH_TRACING、LANGSMITH_API_KEY、LANGSMITH_PROJECT。它们解决的是“要不要追踪、发到哪里、归到哪个项目”。真正的源码逻辑,不在环境变量,而在 traceable、tracing_context、RunTree 和 Client。
2. @traceable 的本质:给函数包一层执行壳
LangSmith SDK 里的 traceable 装饰器会检查函数类型,支持普通函数、异步函数、生成器、异步生成器。函数执行前,它会准备一个 run container;函数执行成功,记录 outputs;函数抛错,记录 error;最后把结果写回 LangSmith。
源码主线: traceable → _setup_run → RunTree → post/create_run → 执行业务函数 → end/patch。 |
3. RunTree 是 Trace 树的核心对象
RunTree 里有 name、run_type、inputs、outputs、error、tags、metadata、child_runs、trace_id、dotted_order。Root Run 代表一次完整请求,child run 代表模型调用、检索调用、工具调用等子步骤。
• name:这一步叫什么,例如 answer_agent、retriever、stock_tool。
• run_type:这一步是什么类型,例如 chain、llm、tool、retriever。
• inputs / outputs:这一步吃进去什么,吐出来什么。
• error:这一步是否异常。
• tags / metadata:用来标记环境、版本、用户、业务线、模型名。
4. post 和 patch:一个写开始,一个写结束
RunTree.post() 负责把 run 创建到平台;RunTree.end() 负责补 outputs、error、end_time;RunTree.patch() 负责把最终状态更新到平台。也就是说,Trace 不是一行日志,而是一个可持续更新的运行对象。
5. create_child:为什么 UI 里会出现树形链路?
当一个 Agent 里又调用 LLM、Retriever、Tool 时,源码会把这些步骤挂成子 run。父子关系保存下来,LangSmith UI 才能展示出树形 Trace。你看到的“展开每一步”,本质来自 RunTree 的父子结构。
四、排查 Agent 问题,不要凭感觉
很多人排查大模型问题,第一反应是改 Prompt。其实这是最低效的。Agent 的错,可能错在问题改写、检索、Prompt、工具、模型、结构化输出、记忆污染。LangSmith 的价值,就是把这些步骤拆开。
图 5:一次错误回答的排查顺序。
1. 先看输入
用户原始问题有没有被前端截断?有没有被 Router 改写错?thread_id 是否串到了别人的会话?这些问题如果不先看,后面全是误判。
2. 再看检索
RAG 问答错,大概率不是模型笨,而是检索给错资料。要看 query、TopK、文档内容、metadata、score、Rerank 后顺序。召回垃圾,模型只能用垃圾做饭。
3. 再看 Prompt
Prompt 最终进入模型时是什么样,和你代码里写的模板不一定一样。因为中间可能拼了历史消息、工具结果、检索上下文、系统规则、结构化输出约束。LangSmith 要看的不是模板,而是最终 Prompt。
4. 再看 Tool
工具调用要看三件事:模型选的工具对不对,参数抽取准不准,工具返回是否可信。很多 Agent 不是模型回答错,而是工具拿错数据。
5. 最后看模型输出
模型是否忽略资料?是否幻觉?是否没有遵守 JSON 格式?是否 token 不够被截断?这些都可以通过 LLM Run 的输入、输出、usage、latency 来排查。
五、评测:别再用“感觉还行”判断版本好坏
真正上线的 AI 应用不能只靠手动问几条。Prompt 改了、模型换了、TopK 调了、Rerank 换了,都要跑数据集。LangSmith Evaluation 的核心就是:拿同一批问题,跑不同版本,然后比较结果。
图 6:LangSmith Evaluation 的基本闭环。
1. Dataset:把问题沉淀下来
Dataset 不是随便找几条测试问题。它应该来自三类数据:高频问题、历史 Bad Case、核心业务场景。每条 example 至少要有 inputs,可以有 reference outputs 和 metadata。
2. Evaluator:打分规则要贴近业务
客服场景看是否解决问题;RAG 场景看答案是否基于资料;结构化输出看字段是否完整;金融或医疗场景还要看安全边界。不要只看“回答像不像人话”。
3. Experiment:每次改动都要留下证据
一次 Experiment 表示某个应用版本在 Dataset 上的评测结果。它不只存最终分数,还会保留每条样本的输出和 Trace。这样你能知道:分数变差,是哪一类问题变差。
4. Online Evaluation:上线后继续盯真实流量
离线评测只能证明测试集上有效。线上流量会出现更多边界问题,所以还要在线评测 runs 和 threads,监控质量退化、异常模式和用户反馈。
六、企业级接入:Java + Python 服务应该怎么落地?
如果你的系统是 Java 主服务 + Python AI 服务,LangSmith 不应该只在 Python 里随便开个环境变量。它要和业务链路对齐。否则 Trace 有了,业务日志却对不上。
图 7:Java + Python 企业级 LangSmith 接入架构。
1. Java 网关必须传业务标识
Java 侧负责 user_id、request_id、tenant_id、thread_id、灰度版本、业务场景。Python AI 服务调用 LangChain / LangGraph 时,把这些字段放进 metadata 和 tags。
2. Python AI 服务负责 Trace 粒度
AI 服务要把关键步骤拆清楚:rewrite_query、retrieve_docs、rerank_docs、build_prompt、call_model、call_tool、parse_output。不要所有步骤都塞进一个大 run。
3. 敏感数据要先脱敏
LangSmith 能帮你排查问题,但不代表什么都能发。手机号、身份证、订单敏感字段、内部密钥、客户隐私,要在进入 Trace 前做脱敏或屏蔽。
4. Prompt 版本、模型版本、数据版本必须记录
同一个问题今天答对,明天答错,往往是版本变了。你必须记录 prompt_version、model_name、model_params、retriever_version、embedding_model、vector_index_version、tool_version。
七、上线检查清单
• 每次请求必须有 request_id,可以和业务日志互查。
• 多轮对话必须有 thread_id / session_id。
• 关键节点必须拆成独立 run:检索、Prompt、模型、工具、解析。
• 每个 run 都要带 tags 和 metadata,至少包括环境、版本、业务线。
• 不能把隐私、密钥、内部账号明文写入 Trace。
• Bad Case 要能一键沉淀到 Dataset。
• Prompt 或模型改动后,必须跑 Experiment 对比。
• 上线后要监控延迟、成本、错误率、用户反馈和在线评测结果。
结尾:LangSmith 不是锦上添花,是上线底座
LangChain 和 LangGraph 负责让 Agent 跑起来。LangSmith 负责让 Agent 看得见、查得清、评得准。没有 Trace,你只能猜。没有 Evaluation,你只能凭感觉。没有反馈闭环,Agent 永远停在 Demo。
一句话总结: LangSmith 的价值不是“记录日志”,而是把大模型应用变成可追踪、可复盘、可评测、可持续迭代的工程系统。 |
相关推荐

阿里发布Qwen-Robot系列具身大模型:三大模型协同攻克异构机器人适配痛点
6月16日,阿里巴巴正式发布千问具身智能大模型Qwen-Robot系列,该系列由VLA操作模型Qwen-RobotManip、VLN移动模型Qwen-RobotNav以及世界模型Qwen-RobotWorld三大核心矩阵组成。 这一战略动作标志着大厂在具身智能基础模型领域的布局进一步深化,实现了机器人操控、导航与物理规律推理的协同运转。 针对传统VLA模型换

斥资 36 亿美元,Salesforce 吞并 AI 客服平台 Fin
人工智能赛道又迎来了重量级并购。近日,企业服务巨头 Salesforce 正式宣布,将以36亿美元的价格收购 AI 客户服务平台 Fin 。此次收购不仅是 Salesforce 在智能服务领域的一次重大布局,也标志着其对进一步优化企业自动化能力的决心。 Fin 的前身为知名互动平台 Intercom,凭借其强大的 AI 智能体技术在行业内崭露头角。该平台能够
大模型应用日志体系、Callback 源码链路、Trace 复盘、企业级落地
开篇:AI 应用没有日志,就是黑盒 大模型应用最怕的不是慢,也不是贵。最怕的是:用户说答案错了,你不知道错在哪。 普通业务系统出了问题,看接口日志、SQL 日志、异常堆栈,大多能定位。但大模型应用不一样。一次回答背后可能经过问题改写、意图识
《PyTorch》Transforms:数据增强不是锦上添花,是训练基本功
“模型不是直接学习真实世界,模型学习的是被 Transforms 处理后的 Tensor 世界。” 上一章讲了 Dataset 和 DataLoader。Dataset 负责取样本,DataLoader 负责拼 batch。中间还缺一个关键

溢价数倍势在必得,高通正洽谈最高百亿美元收购 AI 芯片初创公司
据海外知名媒体披露,全球芯片巨头高通公司目前正在展开一场重磅收购谈判,其目标直指人工智能芯片设计领域的明星初创企业 Tenstorrent。这笔潜在的交易如果最终达成,将成为近年来半导体行业瞩目的焦点事件。 巨额溢价彰显势在必得 知情人士透露,高通为本次收购开出了极为丰厚的条件,双方商讨的收购对价区间预计在 80 亿至 100 亿美元之间。相较于 Tenst

加码国产算力:字节跳动拟采购 5 万颗AI芯片,国产GPU阵营再添新主力
随着AI大模型用户规模的持续扩张,算力基础设施的自主可控正成为各大科技企业的战略重心。 6 月 15 日,有消息传出,字节跳动目前正与国内高性能计算厂商天数智芯进行深度洽谈,计划大规模采购AI芯片。 根据目前掌握的信息,此次采购规模预计达到 5 万颗。这批芯片交付后,将被主要部署于推理任务场景,为字节跳动旗下AI聊天机器人“豆包”的持续迭代与用户增长提供强有
阅读补充
一句话看懂
开篇:Agent 能跑起来,不等于能上线 前面我们已经讲了 Tools、Agent、Memory、LangGraph、M
事件背景
这篇内容围绕“LangChain”展开,热闻岛基于公开信息整理事件背景、主要进展与可继续关注的方向。
事件时间线
发布
相关信息进入公开传播
更新
热闻岛对内容进行整理与补充。
看点
- · LangChain的最新进展是什么
- · 相关信息对用户或行业会带来哪些影响
- · 后续是否会有新的回应或处理结果
后续关注
- · 后续官方回应或权威通报
- · 相关主体的进一步说明
- · 事件对普通用户和平台传播的持续影响
免责声明:本文仅代表作者观点,不构成投资建议、法律建议、医疗建议。财经类内容尤其需要注意风险;爆料类信息请以权威通报为准。
评论 (0)
登录后即可发表评论
去登录