AI News HubLIVE
站内改写3 分钟阅读

如何使用LangSmith追踪调试编码代理

使用LangSmith追踪Claude Code、Codex、Cursor、Copilot等编码代理。检查工具调用、子代理、错误、成本和重试。

你的编码代理是一个黑盒。以下是打开它的方法。

上周,我试图为一个报表端点构建CSV导出功能,我的编码代理拆分出一个子代理来处理分页。但它一直构建错误的东西。它按偏移量分页,而我们的数据是基于游标的。我指出问题,编辑指令,重新运行,它又以略微不同的方式返回。我浪费了时间和令牌,从那些自信但错误的答案中学不到任何东西。

最终我放弃了,重新开始。

但关键是:如果我看过追踪,我就能立刻发现问题。在交接过程中,父代理将子代理指向了代码库另一部分的一个旧助手——那个助手是按偏移量分页的。与其重新解释需求,我只需要强调那个弃用的助手。

如果你使用过编码代理,你也经历过类似的挫败。这就是为什么我们通过LangSmith让你的代理的决策、中间步骤和输出变得易于观察。

你无法调试你看不到的东西

编码代理现在已成为大多数开发者工程栈的一部分。它们编写代码、调用工具,并进行更长的会话。开发者会不断选择不同的代理以适应手头的任务。你可能用Claude运行shell,用Cursor处理内联编辑,用Copilot审查PR,用Codex起草工作流。每个代理都有自己的记录方式。有些暴露钩子,有些发出OpenTelemetry,有些依赖插件。

这种碎片化意味着每次切换工具时你的调试工作流都会改变。Codex中的工具调用和Cursor中的工具调用可能代表相同的工作,但每个代理以不同的结构、元数据和术语记录。如果你想在所有代理中回答一个简单的问题——比如这周哪些会话失败以及为什么——你最终要检查多个地方,使用多种心智模型来处理多种事件格式。

LangSmith为团队提供了一个跨所有主流编码代理的可观测层。我们支持对Claude Code、Codex、Cursor、GitHub Copilot Chat、Pi、OpenCode和DeepAgents Code (dcode)的追踪。来自这些工具的会话以追踪形式落入LangSmith,使用标准化结构,你可以检查、查询和分享。你可以追踪代理工作流,跟踪子代理扇出,检查模型调用,并在脱敏后分享结果。

追踪会话的样子

一旦配置完成,你的会话会以和生产代理运行相同的方式出现在LangSmith中。一个追踪可以包括:用户和助手轮次、带有输入、输出、缓存、令牌和成本的模型调用、工具调用、Shell命令、MCP活动、子代理调用、错误和重试、时间和元数据。

深入了解

从调试的角度来看,这种可见性至关重要。你不是只审查最终的差异,而是可以重构会话,找到失败点,并利用这些信息为未来的运行服务。

以下是实际的样子:

重构:按thread_id过滤,按顺序查看整个运行。用户请求、助手轮次、模型/工具调用、子代理、重试、时间、令牌和成本。

调试:放大感兴趣的区域。这里是一次失败的测试运行。我们看到序列:测试失败 -> 代理读取断言 -> 代理编辑文件(不是重新运行)-> 测试通过。差异只显示最后的绿色勾号——追踪显示到达那里的捷径。

改进:将错误转化为代理要遵循的规则。

这样,你从每个会话中学到的教训适用于所有地方。例如,技能(Skills)可以跨代理工作。你可以保存失败的会话,用于评估(了解更多),证明你的修复确实有效——并且如果它们退化,也能捕获。除了理解一次糟糕的运行,目标总是确保下次运行不会以同样的方式失败。

超越会话回放,团队使用追踪来比较不同代理在相同工作流上的行为,发现隐藏的子代理扇出,并识别需要审查的会话。按延迟、成本或令牌使用量过滤也是成本治理的起点。

一个跨所有编码代理的调试工作流

单个编码代理的日志可以帮助调试一次运行。但一旦你采用多个编码代理,每个调试工作流都要重新开始,因为每个提供者暴露不同的钩子,并发出不同形状的有效载荷。

LangSmith将所有会话映射到一个单一的共享追踪模式。一个Claude Code会话、一个Cursor会话和一个OpenCode会话都携带相同核心字段,因此你可以以相同的方式搜索、过滤、比较和检查它们。阅读更多关于追踪元数据合约的信息。

这使我们超越了单个提示修复。一旦每个代理的运行落在同一个地方,我们可以有效地改进我们的代理群:哪些工作流代理处理得好,哪些失败重复,哪些技能或指令需要更新,以及更改是否真的提高了性能。

开始使用

我们为每个编码代理提供设置说明。你可以找到Claude Code、Codex、Cursor、GitHub Copilot Chat、Pi、OpenCode、dcode的集成步骤。

一旦配置完成,你无需在编码代理聊天中更改任何监测。像往常一样运行你的代理,会话会以追踪形式出现在LangSmith中。

找到你的编码代理集成并开始追踪。

看你的代理真正在做什么

LangSmith,我们的代理工程平台,帮助开发者调试每个代理决策,评估更改,并一键部署。

尝试LangSmith

获取演示