用途
LangSmith Fetch 是一个用于调试 LangChain 与 LangGraph 智能体的技能,核心方式是在终端中直接从 LangSmith Studio 拉取执行轨迹(trace)。当智能体出现行为异常、运行报错、记忆不生效或性能下降时,可用它获取并分析实际执行记录。
主要能力
- 拉取轨迹:通过 traces 子命令获取指定时间范围内的执行轨迹,支持 --last-n-minutes 与 --after 时间过滤,以及 --limit 限制数量。
- 单条深度分析:通过 trace <trace-id> 获取某条轨迹的详细内容,用于定位失败点与根因。
- 线程导出:通过 threads 子命令导出对话线程。
- 输出格式:支持 pretty(人工阅读)、json(结构化解析)、raw(管道与自动化)三种格式。
- 元数据与并发:支持 --include-metadata 附带上下文,以及 --concurrent 并发拉取以加速大批量导出。
- 配置查看:通过 config show 查看当前配置,config set project 设置项目。
使用方式
- 安装:pip install langsmith-fetch
- 设置环境变量: export LANGSMITH_API_KEY="your_langsmith_api_key" export LANGSMITH_PROJECT="your_project_name"
- 验证:echo $LANGSMITH_API_KEY 与 echo $LANGSMITH_PROJECT
典型命令:
- 快速调试最近活动: langsmith-fetch traces --last-n-minutes 5 --limit 5 --format pretty
- 深度分析指定轨迹: langsmith-fetch trace <trace-id> --format json
- 导出调试会话: SESSION_DIR="langsmith-debug/session-$(date +%Y%m%d-%H%M%S)" mkdir -p "$SESSION_DIR" langsmith-fetch traces "$SESSION_DIR/traces" --last-n-minutes 30 --limit 50 --include-metadata langsmith-fetch threads "$SESSION_DIR/threads" --limit 20
- 错误检测: langsmith-fetch traces --last-n-minutes 30 --limit 50 --format json > recent-traces.json grep -i "error|failed|exception" recent-traces.json
适用场景
- 智能体无响应:先确认是否存在轨迹;若无轨迹,检查是否启用追踪(如 LANGCHAIN_TRACING_V2=true)与密钥设置。
- 调用错误工具:获取具体轨迹,检查执行时可用工具与选择理由,据此改进提示或工具配置。
- 记忆不生效:检索记忆相关操作,例如: langsmith-fetch traces --last-n-minutes 10 --limit 20 --format raw | grep -i "memory|recall|store" 检查记忆工具是否被调用、召回是否返回结果、是否真正写入并被使用。
- 性能问题:带元数据导出后分析每条轨迹的执行时间、工具调用延迟、token 用量、迭代次数与最慢操作,定位瓶颈。
- 开发流程集成:提交代码前做健康检查,发现错误则导出对应轨迹留存。
限制与注意事项
- 使用前应确认已安装 langsmith-fetch 并正确设置环境变量,否则可能出现"未找到匹配轨迹"或"项目未找到"。
- 环境变量不持久时,可写入 ~/.bashrc 或 ~/.zshrc 后 source 生效。
- 该技能的具体收费、价格与计费方式:暂未提供。
- 本工具相关资源包括:LangSmith Fetch CLI(https://github.com/langchain-ai/langsmith-fetch)、LangSmith Studio(https://smith.langchain.com/)、LangChain 文档(https://docs.langchain.com/)、技能仓库(https://github.com/OthmanAdi/langsmith-fetch-skill)。版本 0.1.0,作者 Ahmad Othman Ammar Adi,许可 MIT。