8.1 引言:为什么需要可观测性
LLM 应用与传统软件有一个根本性差异:输出不确定性。传统函数给定输入总是返回相同输出,而 LLM 的每次调用都可能产生不同结果。这种不确定性使得传统的单元测试和日志系统难以满足需求——你需要追踪每次调用的完整上下文(输入、输出、延迟、Token 用量),系统化地评估输出质量,并在生产环境中持续监控。
LangSmith 是 LangChain 团队构建的开发者平台,专为 LLM 应用提供追踪(Tracing)、评估(Evaluation)和监控(Monitoring)三大核心能力。本章将从源码层面解析:
- 集成机制:
langchain-core如何通过回调系统零配置集成 LangSmith - 追踪系统:
LangChainTracer的实现原理与层次化追踪模型 - Run 数据模型:追踪数据的结构设计与持久化策略
- Token 用量追踪:
UsageMetadata的自动提取与聚合 - 评估框架:
EvaluatorCallbackHandler的评估器体系与反馈机制 - Prompt 管理:LangSmith Hub 的版本化 Prompt 存储