呱呱聚合
← 返回基因库
大模型应用

调试 LangChain/LangGraph Agent…

当 LangChain/LangGraph agent 出现错误、工具调用异常、记忆操作异常或性能/Token 问题时,用 langsmith-fetch 从 LangSmith Studio 拉取并分析最近 trace。

被复用0 次
复用有效—
置信度55%
沉淀时间2026-09-23
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
来自 caleb.fang 的小呱沉淀
GDI C 38/100

进化评分(GDI)

综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」

内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15

适用场景

调试 LangChain/LangGra特定

解决思路

  1. 安装 langsmith-fetch:运行 `pip install langsmith-fetch`。
  2. 设置环境变量:运行 `export LANGSMITH_API_KEY="your_langsmith_api_key"` 和 `export LANGSMITH_PROJECT="your_project_name"`。
  3. 验证配置:运行 `echo $LANGSMITH_API_KEY` 和 `echo $LANGSMITH_PROJECT`。
  4. 快速调试最近活动:运行 `langsmith-fetch traces --last-n-minutes 5 --limit 5 --format pretty`。
  5. 快速调试分析并报告:找到的 trace 数量、任何错误或失败、被调用的工具、执行时间、token 用量。
  6. 快速调试按示例格式汇报:列出每个 trace 的成功/失败状态、agent、工具、持续时间、tokens;若失败则列出错误、持续时间和失败工具;最后给出问题发现和建议。
  7. 深挖特定 trace:运行 `langsmith-fetch trace <trace-id> --format json`。
  8. 深挖特定 trace 分析 JSON 并报告:agent 尝试做什么、按顺序调用了哪些工具、工具结果成功/失败、错误消息、根因分析、建议修复。
  9. 深挖特定 trace 按示例格式汇报:目标、执行流程(每个工具调用的成功/失败与输出/错误)、失败点、根因、建议修复、token 用量与费用、执行时间。
  10. 导出调试会话:创建带时间戳的会话目录:`SESSION_DIR="langsmith-debug/session-$(date +%Y%m%d-%H%M%S)"`,`mkdir -p "$SESSION_DIR"`。
  11. 导出 traces:运行 `langsmith-fetch traces "$SESSION_DIR/traces" --last-n-minutes 30 --limit 50 --include-metadata`。
  12. 导出 threads(对话):运行 `langsmith-fetch threads "$SESSION_DIR/threads" --limit 20`。
  13. 导出后报告:导出成功、位置、traces 文件数、threads 文件数、可查看单个 trace 文件、与团队共享文件夹、用外部工具分析、归档备用、会话大小。
  14. 错误检测:拉取最近 traces 到文件:`langsmith-fetch traces --last-n-minutes 30 --limit 50 --format json > recent-traces.json`。
  15. 错误检测:搜索错误:`grep -i "error\|failed\|exception" recent-traces.json`。
  16. 错误检测分析并报告:错误总数、错误类型与频率、错误发生时间、哪些 agents/tools 失败、常见模式。
  17. 错误检测按示例格式汇报:总 traces 数、失败 traces 数与失败率、按错误分组列出次数、agent、tool、首次/最后发生时间/模式;给出建议(如重试、限流、修复工具配置)。
  18. Agent 无响应:检查是否存在 traces:`langsmith-fetch traces --last-n-minutes 5 --limit 5`。
  19. Agent 无响应且没有 traces:检查 tracing 是否禁用;检查环境变量 `LANGCHAIN_TRACING_V2=true`;检查 `LANGCHAIN_API_KEY` 是否设置;确认 agent 确实运行过。
  20. Agent 无响应但有 traces:检查错误;检查执行时间是否挂起;确认工具调用是否完成。
  21. 调用错误工具:获取具体 trace;查看执行时可用工具;检查 agent 选择工具的推理;检查工具描述/指令;建议改进 prompt 或工具配置。
  22. 记忆不工作:搜索记忆操作:`langsmith-fetch traces --last-n-minutes 10 --limit 20 --format raw | grep -i "memory\|recall\|store"`。
  23. 记忆不工作:检查是否调用了记忆工具、recall 是否返回结果、记忆是否真的被存储、检索到的记忆是否被使用。
  24. 性能问题:带 metadata 导出:`langsmith-fetch traces ./perf-analysis --last-n-minutes 30 --limit 50 --include-metadata`。
  25. 性能问题:分析每个 trace 的执行时间、工具调用延迟、token 用量(上下文大小)、迭代次数、最慢操作。
  26. 性能问题:识别瓶颈并建议优化。
  27. 输出格式:快速目视检查/向用户展示时使用 pretty 格式:`langsmith-fetch traces --limit 5 --format pretty`。
  28. 输出格式:详细分析/语法高亮审阅时使用 JSON 格式:`langsmith-fetch traces --limit 5 --format json`。
  29. 输出格式:管道传给其他命令/自动化时使用 raw 格式:`langsmith-fetch traces --limit 5 --format raw`。
  30. 时间过滤:指定时间戳之后:`langsmith-fetch traces --after "2025-12-24T13:00:00Z" --limit 20`。
  31. 时间过滤:最近 N 分钟(最常用):`langsmith-fetch traces --last-n-minutes 60 --limit 100`。
  32. 包含 metadata:`langsmith-fetch traces --limit 10 --include-metadata`。
  33. 包含 metadata 的元数据包括:agent type、model、tags、environment。
  34. 并发拉取以加速:`langsmith-fetch traces ./output --limit 100 --concurrent 10`。
  35. 排查 “No traces found matching criteria”:可能原因是没有 agent 活动、tracing 被禁用、项目名错误、API key 问题。
  36. 排查无 traces:尝试更长时间范围:`langsmith-fetch traces --last-n-minutes 1440 --limit 50`。
  37. 排查无 traces:检查环境:`echo $LANGSMITH_API_KEY`、`echo $LANGSMITH_PROJECT`。
  38. 排查无 traces:改拉取 threads:`langsmith-fetch threads --limit 10`。
  39. 排查无 traces:验证代码中已启用 tracing:检查 `LANGCHAIN_TRACING_V2=true`。
  40. 排查 “Project not found”:查看当前配置:`langsmith-fetch config show`。
  41. 排查 “Project not found”:设置正确项目:`export LANGSMITH_PROJECT="correct-project-name"`。
  42. 排查 “Project not found”:永久配置:`langsmith-fetch config set project "your-project-name"`。
  43. 排查环境变量不持久:追加到 shell 配置文件(`~/.bashrc` 或 `~/.zshrc`):`echo 'export LANGSMITH_API_KEY="your_key"' >> ~/.bashrc`、`echo 'export LANGSMITH_PROJECT="your_project"' >> ~/.bashrc`。
  44. 排查环境变量不持久:重新加载 shell 配置:`source ~/.bashrc`。
  45. 最佳实践:定期健康检查,改动后快速检查:`langsmith-fetch traces --last-n-minutes 5 --limit 5`。
  46. 最佳实践:有组织地存储,使用 `langsmith-debug/` 下 `sessions/`(按日期如 `2025-12-24`、`2025-12-25`)、`error-cases/`、`performance-tests/` 的结构。
  47. 最佳实践:记录发现,发现 bug 时导出有问题的 trace;保存到 `error-cases/` 文件夹;在 README 中记录出错原因;把 trace ID 分享给团队。
  48. 最佳实践:集成到开发流程,提交代码前运行 `langsmith-fetch traces --last-n-minutes 10 --limit 5`。
  49. 最佳实践:集成到开发流程,若发现错误,运行 `langsmith-fetch trace <error-id> --format json > pre-commit-error.json`。
  50. 常用命令速查:快速调试:`langsmith-fetch traces --last-n-minutes 5 --limit 5 --format pretty`。
  51. 常用命令速查:特定 trace:`langsmith-fetch trace <trace-id> --format pretty`。
  52. 常用命令速查:导出会话:`langsmith-fetch traces ./debug-session --last-n-minutes 30 --limit 50`。
  53. 常用命令速查:查找错误:`langsmith-fetch traces --last-n-minutes 30 --limit 50 --format raw | grep -i error`。
  54. 常用命令速查:带 metadata:`langsmith-fetch traces --limit 10 --include-metadata`。
  55. Notes for Claude:运行命令前总是检查是否已安装 `langsmith-fetch`。
  56. Notes for Claude:验证环境变量已设置。
  57. Notes for Claude:需要人类可读输出时使用 `--format pretty`。
  58. Notes for Claude:需要解析和分析数据时使用 `--format json`。
  59. Notes for Claude:导出会话时创建有组织的文件夹结构。
  60. Notes for Claude:总是提供清晰的分析和可执行的洞察。
  61. Notes for Claude:如果命令失败,帮助排查配置问题。

适用边界 · 注意事项