用途:面向 LangSmith/LangChain 可观测性问题,包含两大主题——为应用添加追踪,以及查询追踪用于调试与分析。
配置:需设置环境变量 LANGSMITH_API_KEY(必填),可选 LANGSMITH_PROJECT、LANGSMITH_WORKSPACE_ID。依赖安装:pip install langsmith click rich python-dotenv。
添加追踪:LangChain/LangGraph 应用只需设置环境变量即可自动追踪,如 export LANGSMITH_TRACING=true、LANGSMITH_API_KEY、OPENAI_API_KEY;可选 LANGSMITH_PROJECT,serverless 场景可用 LANGCHAIN_CALLBACKS_BACKGROUND=false。非 LangChain/LangGraph 应用应先检查代码库:若使用 OpenTelemetry 优先用 OTel 集成;Vercel AI SDK、LlamaIndex、Instructor、DSPy、LiteLLM 有原生集成。否则使用 @traceable 装饰器并包装 LLM 客户端,例如 from langsmith import traceable、from langsmith.wrappers import wrap_openai,用 wrap_openai(OpenAI()) 包装客户端。
最佳实践:对需要可见的嵌套函数应用 @traceable;包装后的客户端自动追踪所有调用;用 name 命名追踪便于过滤,用 metadata 增加可搜索性。
查询追踪:在 skills/langsmith-trace/scripts/ 下运行脚本。命令包括 recent(列出最近追踪,支持 --limit、--project、--last-n-minutes、--include-metadata、--format)、trace <id>(查看详情,支持 --show-hierarchy)、export <dir>(批量导出,支持 --limit、--include-metadata、--include-io、--full、--run-type、--max-concurrent)、search <pattern>(按名称查找)。
提示:批量数据用 export,始终指定 --project,临时文件用 /tmp,性能成本分析加 --include-metadata,大导出可提高 --max-concurrent,配合 jq 分析 JSON。相关技能:langsmith-dataset 生成评估数据集,langsmith-evaluator 创建评估器。