技能使用指南

langsmith-observability(LangSmith可观察性平台技能)Skill 是什么?如何下载安装?

LangSmith可观察性平台技能Skill 一站式搞定 LLM 应用追踪、评估与生产监控:一条命令安装、两个环境变量生效,支持分层追踪、数据集评估、CI 回归门禁与成本分析。本文详解安装步骤、核心功能、竞品对比与典型场景,帮你快速搭建可观测的 AI 应用开发闭环,立即上手体验。

LangSmith可观察性平台技能Skilllangsmith-observability
8 个章节 约 16 分钟阅读 AI 智能生成

LangSmith可观察性平台技能Skill:让 LLM 应用从"黑箱"变"透明工厂"

核心结论速览

  • 这是一款把 LangSmith 的追踪、评估、监控能力封装成标准化 AI 技能的方案,技能 ID 为 12392,由 Orchestra Research 发布,采用 MIT 许可证,版本 1.0.0。
  • 它解决的核心痛点是:LLM 应用调用链复杂、输出难以复现、生产环境出问题只能"猜"。通过 @traceable 装饰器和 wrap_openai 包装器,几行代码即可把输入、输出、延迟全部记录下来。
  • 它不只是一个"日志工具",还覆盖数据集构建、自动化评估、CI/CD 回归测试、生产监控与成本分析,形成完整闭环。
  • 安装门槛低:依赖 langsmith>=0.2.0,一条 pip install langsmith 加两个环境变量即可跑通。
  • 与 Weights & Biases、MLflow、Arize/WhyLabs 相比,它更聚焦 LLM 应用层(提示、链、代理)而非传统模型训练。

该技能叫什么?如何下载安装 AI 技能提升开发效率?

基本信息

项目 内容
技能中文名 LangSmith可观察性平台技能Skill
技能英文名 langsmith-observability
技能 ID 12392
作者 Orchestra Research
版本 1.0.0
许可证 MIT
依赖项 langsmith>=0.2.0
标签 可观察性、LangSmith、追踪、评估、监控、调试、测试、LLM 运维、生产

它解决什么问题?

当你用 LangChain、OpenAI SDK 或自建代理搭出一个 AI 应用后,真正的麻烦才刚开始:用户说"答案不对",你却看不到中间调用了哪条链、检索到了什么上下文、模型返回了什么原始内容;改了一版提示词,也不知道整体准确率是升了还是降了;上线后想统计令牌消耗和延迟分布,只能靠零散日志拼接。这个技能把这些能力打包成一组可直接调用的接口与工程范式,让你在几分钟内建立起"可追踪、可评估、可监控"的开发闭环。

一键安装的思路与步骤

安装前提:具备 Python 环境,且拥有一个 LangSmith 账号及其 API Key(账号注册入口与具体套餐信息以官方说明为准)。

第一步,安装 SDK:

pip install langsmith

第二步,配置两个关键环境变量(这是"技能生效"的开关):

export LANGSMITH_API_KEY="your-api-key"
export LANGSMITH_TRACING=true

第三步,验证是否生效。用官方示例跑一段最小代码,或者在 Python 中直接检查客户端连通性:

from langsmith import Client
client = Client()
print(client.list_projects())

如果能够正常列出项目列表,说明密钥与网络均正常,追踪通道已打通。

第四步,在你的业务代码里加装饰器或包装器(下一节详述),调用一次模型后回到 LangSmith 界面查看是否出现对应运行记录,即完成端到端验证。

这里要强调"技能化"的价值:过去这些步骤分散在官方文档各处,每个开发者都要重新摸索一遍环境变量名、装饰器写法和评估脚本骨架;技能把安装、配置、追踪、评估、监控、排错整合为一套可复用的工程说明书,把"查文档半小时"压缩为"照着抄五分钟"。

该技能的主要功能和特点

  • 全链路追踪:@traceable 装饰器可标记函数为 chain、retriever、llm、tool 等运行类型,父子运行自动组成分层追踪树,完整还原一次请求的执行流程,精确到每一步的输入、输出与延迟。
  • 零侵入接入 OpenAI:通过 from langsmith.wrappers import wrap_openai 包装客户端,原有业务代码几乎不用改,所有 chat.completions.create 调用自动上报。
  • LangChain 原生联动:只要开启 LANGSMITH_TRACING=true,LangChain 的链式调用即自动追踪,无需额外埋点。
  • 数据集与系统性评估:支持从生产追踪中提炼测试集或手动创建数据集,配合 evaluate 与自定义评估函数批量跑分,输出聚合指标。
  • 内置评估器:可直接调用 LangChainStringEvaluator("qa")、"cot_qa" 等现成评估器,省去从零设计评分逻辑。
  • 生产监控与成本洞察:跟踪指标、错误率、令牌使用与延迟趋势;支持 LANGSMITH_TRACING_SAMPLING_RATE 采样(如 0.1 表示 10%),在可观测性与开销之间取得平衡。
  • 反馈闭环:create_feedback 可写入用户评分、正确性标注等反馈,把线上真实评价回流为优化依据。
  • 测试与 CI/CD 集成:提供 @test 装饰器与基于 evaluate 的回归断言写法,准确率低于阈值时可直接让流水线失败。
  • 隐私与负载控制:process_inputs 钩子可对密码等敏感字段脱敏、剔除超大字段,避免敏感数据外泄或请求体过大。
  • 提示词 Hub:client.pull_prompt("my-org/qa-prompt") 可拉取集中托管的提示词,便于团队协作与版本管理。

和普通工具比强在哪? 普通日志只能告诉你"发生了什么",而它能回答"为什么发生"——因为每一次运行的输入、上下文、中间产物、耗时都被结构化保存,并且可以反哺成回归测试集,形成"观测→评估→改进"的增强回路。

如何使用该技能?

步骤一:最小可运行追踪

用一个装饰器包住你的生成函数,是最快的上手方式:

from langsmith import traceable
from openai import OpenAI

client = OpenAI()

@traceable
def generate_response(prompt: str) -> str:
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}]
    )
    return response.choices[0].message.content

result = generate_response("什么是机器学习?")

输入是一条自然语言问题,输出是模型回答文本;同时在 LangSmith 中会生成一条运行记录,包含耗时与原始响应。

步骤二:构建分层追踪

在复杂应用中,按角色标注运行类型,追踪树会清晰呈现"检索→生成"的调用关系:

@traceable(run_type="chain")
def process_query(query: str) -> str:
    context = retrieve_context(query)
    return generate_answer(query, context)

步骤三:建立数据集并评估

先创建数据集并写入问答样本,再用 evaluate 批量跑分:

from langsmith import evaluate

def correctness_evaluator(run, example):
    prediction = run.outputs["answer"]
    reference = example.outputs["answer"]
    score = 1.0 if reference.lower() in prediction.lower() else 0.0
    return {"key": "correctness", "score": score}

results = evaluate(
    my_model,
    data="qa-test-set",
    evaluators=[correctness_evaluator],
    experiment_prefix="v1"
)
print(f"平均分数: {results.aggregate_metrics['correctness']}")

输出为一个包含聚合指标的实验对象,"v1"前缀便于横向比较不同版本。

步骤四:接入 CI/CD 做回归门禁

assert results.aggregate_metrics["accuracy"] >= 0.9, "准确率低于阈值"

把这段断言放进流水线,提示词或模型升级导致的性能退化就能被自动拦截。

步骤五:上线后持续监控

开启采样控制数据量,用 create_feedback 回收用户评分,用 AsyncClient 异步拉取运行列表做离线分析。如果发现"追踪不出现",优先检查 LANGSMITH_TRACING 与 LANGSMITH_API_KEY 是否设置;如果追踪造成明显延迟,可启用 auto_batch_tracing=True(默认开启后台批处理)或调低采样率。

同类型竞品对比分析

方案名称 定位 核心功能 安装/使用门槛 适用场景 优势与不足
LangSmith(本技能) LLM 应用可观察性与评估平台 分层追踪、数据集、评估器、生产监控、提示词 Hub、CI 集成 低,pip install langsmith + 两个环境变量即可跑通 LLM 应用调试、提示工程、回归测试、线上监控 优势:与 LangChain/OpenAI 深度联动,评估闭环完整;不足:强绑定 LangSmith 云服务,需 API Key
Weights & Biases 深度学习实验跟踪与模型训练管理 实验记录、指标曲线、超参搜索、模型版本 中,需理解实验与运行概念 模型训练、学术实验对比 优势:训练期可视化极强;不足:对 LLM 应用层调用链追踪与提示评估不是主战场
MLflow 通用机器学习生命周期管理 实验跟踪、模型注册、部署、制品管理 中,需自建或使用托管服务 模型注册与端到端 MLOps 优势:开源生态成熟、可私有化;不足:LLM 代理链路追踪与在线评估需自行扩展
Arize / WhyLabs ML 与数据可观测性、漂移检测 数据漂移监测、模型性能告警、统计画像 中高,接入与配置较重 生产模型监控、数据质量治理 优势:漂移与数据质量监控专业;不足:提示词级调试与评估数据集工作流相对弱

选型建议:如果你的核心工作是"调提示词、调代理、做 LLM 回归测试",本技能最贴合;如果重点是模型训练实验管理,优先考虑 Weights & Biases;如果强调私有化与模型注册,MLflow 更合适;如果线上数据漂移是首要风险,Arize/WhyLabs 更专业。

该技能的典型应用场景与实际体验情况

场景一:AI 应用开发者排查"答非所问"

角色:负责 RAG 问答产品的后端工程师。痛点:用户投诉答案与知识库无关,但日志里只有最终文本,无法判断是检索环节捞错了文档,还是模型忽略了上下文。使用方式:给 retrieve_context 标注 run_type="retriever"、给 generate_answer 标注 run_type="llm",在追踪树中直接对比检索结果与最终答案。实际体验:上手难度低,装饰器无需改动业务逻辑;效果立竿见影,问题定位从"猜"变成"看"。注意点:首次接入要统一项目命名规范,否则运行记录会散落在不同项目里难以检索。

场景二:提示词工程师做版本对比

角色:负责提示词优化的产品侧同学。痛点:改完提示词全凭几条样例"感觉更好",缺乏统计意义上的对比。使用方式:把线上典型案例沉淀为数据集,用 experiment_prefix 区分不同版本,跑完直接看聚合指标。实际体验:评估脚本骨架可直接复用,自定义评估器写法直观;效果上能把主观判断变成分数对比。注意点:评估器的评分逻辑本身要设计合理,简单字符串包含判断会高估正确率,建议搭配内置 qa 评估器交叉验证。

场景三:团队把评估接入 CI 流水线

角色:AI 应用团队的 Tech Lead。痛点:每次发版都担心提示词或模型切换引发性能回退。使用方式:把 evaluate 与断言组合成回归测试任务,接入流水线。实际体验:改动量小,收益明确——低于阈值的构建直接失败,避免问题带到线上。注意点:阈值要基于历史数据设定,过严会频繁误报;同时建议使用独立测试集,避免过拟合。

场景四:生产环境成本与延迟监控

角色:运维与成本负责人。痛点:每月账单波动大,却说不清是哪个功能消耗了令牌。使用方式:开启追踪并用采样率控制数据量,通过反馈接口回收用户评分,结合运行列表分析令牌与延迟趋势。实际体验:采样机制实用,避免了全量上报带来的开销;auto_batch_tracing 后台批处理能有效缓解延迟顾虑。注意点:生产环境务必用 process_inputs 脱敏,避免用户敏感信息进入追踪记录。

该技能能为用户带来的价值

效率提升:把追踪接入从"查阅多篇文档、逐处埋点"简化为"加一个装饰器或包一层客户端",常见团队的接入时间可从半天级压缩到分钟级;评估脚本也有了可直接参考的模板,省去搭建评测框架的重复劳动。

门槛降低:内置评估器与现成数据集 API,让不擅长统计学的前端或产品同学也能跑通一套"打分—对比—迭代"的流程;错误排查从依赖资深工程师经验,变成任何人都能读懂的追踪树。

可量化收益:通过令牌与延迟追踪定位高消耗环节,配合采样控制观测成本;通过 CI 阈值断言把线上事故拦截在前置环节;通过用户反馈分数把主观体验转化为可跟踪指标。这些都能直接对应到成本下降与质量提升。

长期价值:随着项目推进,生产追踪会不断沉淀为高质量测试集,形成越用越厚的"资产护城河";提示词 Hub 与统一命名规范也让团队协作从"各自为战"走向"共享基线"。

常见问题 FAQ

Q1:怎么安装?需要付费吗?

安装只需 pip install langsmith,并设置 LANGSMITH_API_KEY 与 LANGSMITH_TRACING=true。技能本身采用 MIT 许可证,SDK 可自由使用;但 LangSmith 平台服务涉及账号与套餐,是否收费、免费额度多少以官方说明为准。

Q2:追踪记录不出现怎么办?

按顺序排查三点:确认 LANGSMITH_TRACING 已设为 true;确认 API Key 正确;用 Client().list_projects() 验证连通性。若均正常,检查调用是否真的走到了被装饰的函数上。

Q3:开启追踪会不会拖慢线上服务?

默认启用后台批处理(auto_batch_tracing=True),对延迟影响有限。若流量大,可设置 LANGSMITH_TRACING_SAMPLING_RATE 做采样,例如 0.1 表示只上报 10% 的调用。

Q4:它和 Weights & Biases、MLflow 怎么选?

看主战场:调提示词、追踪代理链路、做 LLM 回归测试,选本技能;做模型训练实验管理与对比,选 Weights & Biases;需要私有化部署与模型注册全流程,选 MLflow;重点在数据漂移监控,则考虑 Arize/WhyLabs。

Q5:适合谁用?什么项目不适合?

最适合构建 LLM 应用、代理或 RAG 系统的开发者、提示词工程师与 AI 运维团队。如果你的需求是通用机器学习训练管理,或完全离线且不接受外部托管服务,则应优先评估其他方案。