08-LangSmith观测评测与上线
核对日期:2026-05-18
官方资料:LangSmith observability quickstart https://docs.langchain.com/langsmith/observability-quickstart;LangSmith evaluation https://docs.langchain.com/langsmith/evaluation。
官方概念
LangSmith 提供 trace、debug、dataset、eval 和监控能力,用来观察 LLM 应用的输入、输出、工具调用、延迟和错误。即使不用 LangSmith,也需要自建等价的 trace 和 eval 闭环。
机制
上线闭环:
eval 不只测答案文本,还要测工具调用准确率、结构化输出解析率、RAG citation、权限拒答、延迟和成本。
TypeScript 写法
本手册用 src/core/eval.ts 提供最小 eval runner。运行:
npm run projects:eval
npm test
真实项目可把失败样本沉淀为 LangSmith dataset 或内部 eval dataset。
Python 差异
LangSmith 是跨语言产品,但 SDK 用法和自动 tracing 接入方式会随语言不同。Python 项目通常示例更多,TypeScript 项目要核对 JS SDK 的环境变量、回调和 tracing 配置。
工程边界
- trace 要脱敏,避免保存密钥、隐私和内部日志。
- eval dataset 要版本化,不能随意覆盖历史基线。
- release gate 应包含失败率和风险等级,而不是只看平均分。
常见反模式
| 反模式 | 后果 |
|---|---|
| 只看人工 demo | 无法发现回归 |
| trace 全量保存敏感数据 | 观测系统变成泄露源 |
| eval 只测 happy path | 工具失败、权限拒答、注入攻击全漏掉 |
练习任务
- 给企业知识库 Agent 增加一个 prompt injection eval。
- 把失败样本保存为固定 case,不允许只靠临时试聊。
- 设计上线 gate:结构化输出解析率、RAG 引用率、越权泄露率分别怎么设阈值。