---
type: study
created: 2026-08-11
updated: 2026-08-11
sensitivity: private
status: active
tags:
  - study
  - langsmith
  - evaluation
  - testing
topic: LangSmith 评估体系、生命周期与应用方法选择
sources:
  - https://docs.langchain.com/langsmith/evaluation
  - https://docs.langchain.com/langsmith/evaluation-quickstart
  - https://docs.langchain.com/langsmith/evaluation-concepts
  - https://docs.langchain.com/langsmith/evaluation-approaches
last_verified: 2026-08-11
---
# LangSmith 评估体系与方法选择

## 核心模型

一次离线评估由三个基本对象组成：

1. **Dataset / Example**：稳定的输入，可选 reference output；
2. **Target function**：要测试的模型调用、组件、完整 agent 或 graph；
3. **Evaluator**：把实际输出、reference、运行轨迹等转成反馈分数。

目标函数在 dataset 上执行后形成 experiment；同一 dataset 上的不同 experiment 用于比较 prompt、模型、代码或配置版本。评估提供连续指标，测试则把指标变成是否允许发布的断言；生产级流程通常同时使用两者。

## 离线与在线不是替代关系

| 维度 | 离线评估 | 在线评估 |
|---|---|---|
| 数据 | 有版本的 dataset/examples，可有 reference | 生产 tracing project 中的 runs/threads，通常无 reference |
| 时机 | 开发、发布前、CI | 发布后实时或近实时 |
| 目标 | benchmark、单测、回归、backtest | 质量监控、安全、异常检测、真实反馈 |
| 评估方式 | 批量 experiment | 规则 + 过滤 + sampling 自动运行 |
| 成本控制 | repetitions、concurrency、cache | sampling、过滤、限额与告警 |

正确闭环是：生产 trace → 线上 evaluator/人工反馈发现失败 → 加入 dataset → 离线复现与修复 → 与 baseline 比较 → 重新部署。只做离线评估会错过真实分布漂移，只做在线评分又无法稳定复现回归。

## Evaluator 选择

| 类型 | 适合 | 风险与控制 |
|---|---|---|
| Code / heuristic | 格式、精确值、分类标签、工具名、延迟和成本 | 快且确定，但覆盖不了主观质量 |
| Human | 偏好、风格、安全、复杂业务判断 | 质量高但慢，需要 rubric、抽样与一致性校准 |
| LLM-as-judge | 正确性、相关性、忠实度、帮助性、完整性 | 有偏差、非确定且有成本；需人工标注集、few-shot 和审计 |
| Pairwise | 比较两个版本 | 相对判断通常比绝对分数稳定，但需控制位置/顺序偏差 |
| Trajectory | agent 工具调用路径 | 能发现内部失败，但“唯一路径”假设可能惩罚其他正确解法 |

## Agent 的三层评估

- **最终结果**：把 agent 当黑盒，判断任务是否完成；最接近用户体验，但慢且难定位根因。
- **单步决策**：检查某一步是否选对工具及参数；快、可定位，但不代表端到端成功。
- **完整轨迹**：比较工具序列、无序工具集合、错误步骤数，或让 judge 比较完整消息轨迹。严格 exact match 只适合确有唯一合法路径的任务。

复杂 agent 应把三层组合：结果指标作为发布门，关键高风险步骤使用确定性检查，轨迹指标负责诊断和安全审计。

## RAG、摘要与分类

RAG 至少拆成 document relevance、answer faithfulness、helpfulness 与 correctness。前三项可做 reference-free 线上评估；正确性通常需要 reference answer。不同版本的格式或风格适合 pairwise，对事实正确性仍应使用 reference 或一致性证据。

摘要通常存在多个正确答案，优先依据原文检查事实准确、忠实与帮助性，而不是强制匹配单个 reference summary。分类若有 ground-truth 标签，应使用 accuracy/precision/recall 等确定性指标；没有标签时才让 LLM 按 rubric 分类，并持续用人工样本校准。

## 数据组织原则

- examples 来自人工策划、生产 traces 或合成数据；生产失败样本最能缩小离线与线上差距。
- splits 用于训练/验证、难度、领域或 staged rollout；metadata 用于来源、标签、版本和筛选。
- dataset 修改自动生成版本；CI 应固定版本或语义 tag，避免测试集变化伪装成代码回归。
- 主观指标看相对趋势，不把单次 judge 分数当绝对真相。

## 最短实践路径

Quickstart 的 UI 与 SDK 流程相同：准备 workspace/provider secret → 创建 prompt/target → 建 dataset → 添加 correctness evaluator → 运行 experiment → 查看结果。SDK 支持 Python 与 TypeScript；`LANGSMITH_API_KEY`、provider key 和可选 workspace ID 均应通过密钥管理注入，不能写入源码或数据集。

