LangSmith Engine 帮助你在无需手动搜索追踪记录的情况下,交付更可靠的智能体。它是面向智能体工程的 LangSmith Agent:Engine 基于生产环境中的追踪记录,发现反复出现的问题,诊断根本原因,并推动修复贯穿开发生命周期的每个阶段。有关产品概览,请参阅 Engine。 每个问题都会经过一个闭环流程,在此过程中 Engine 会:
  1. 检测追踪记录中反复出现的问题。
  2. 根据追踪记录和已连接的源代码诊断根本原因。
  3. 以拉取请求的形式提出修复方案。
  4. 生成评估器和真实标准数据集示例,用于捕获回归问题。
  5. 如果问题在关闭后再次出现,则自动重新打开。
本页面介绍如何设置 Engine、完成修复和评估闭环、控制成本以及配置通知路由。

设置 Engine

设置 Engine 分为两个步骤:首先由组织管理员为工作区启用 Engine,然后任何用户都可以为各个追踪项目配置 Engine。

为组织启用 Engine

你必须是组织管理员才能启用 Engine。要查找组织管理员,请打开设置,在访问与安全下选择成员,然后查找具有组织管理员角色的成员。
1

Open Engine enablement

在 LangSmith 控制台中,点击左下角的设置,然后在Engine下选择Engine 启用。
2

Toggle Enable Engine

打开启用 Engine开关,并确认 AI 功能使用条款。对话框会逐字显示以下产品内通知:
LangSmith AI 功能由 LangChain 管理的推理服务提供支持,可为你的可观测性工作流带来智能能力。启用 LangSmith AI 后,你的团队可以更快地发现问题、运行更智能的评估,并构建更可靠的 LLM 应用。启用此功能后,你组织的追踪数据将使用 LangChain 管理的 LLM 密钥进行处理。相关使用受我们的服务条款约束。
启用 Engine 后,组织中的任何团队成员都可以为其追踪项目进行设置。
如果要关闭 Engine,请将同一开关切换为关闭。这将停止 Engine 的所有自动运行,并停止你账户未来产生的相关费用。

了解 LCU 成本

Engine 按**LangChain 计算单元(LCU)**收费。LCU 是一种标准化工作量单位,综合计算、存储、内存和 LLM 使用成本。LCU 的消耗量取决于所分析的追踪记录数量、Engine 为诊断和修复问题而执行的 LLM 调用数量及复杂度,以及已连接代码仓库的大小。每个 LCU 的费用为 1.50 美元。如需估算预期的 LCU 使用量,请参阅 LangSmith 使用量计算器。 Engine 分为两个阶段运行: 初始化时,Engine 会审核历史追踪记录,按照严重程度对问题进行聚类和排序,并针对提示词或代码提出修复方案(如果已连接代码仓库)。无论是否发现新问题,定期扫描都会按照每 6 小时一次的计划运行,并发现之前未检测到的新问题。

设置支出限额并监控使用量

组织管理员可以在两个层级设置支出限额:
  • 组织范围的限额:打开设置,在Engine下选择Engine 启用,然后在每月 LCU 支出限额下输入数值。
  • 项目级限额:打开追踪项目中的Engine标签页,点击Engine 设置 图标,然后在每月 LCU 支出限额下设置限额。
你可以使用 LCU 或美元输入限额(1 LCU = 1.50 美元)。达到限额后,LangSmith 会暂停新的 Engine 运行,直到提高限额或下一个月度计费周期开始。 将限额留空即可允许无限制的 Engine 支出。要彻底停止 Engine,请在设置 > Engine 启用中使用启用 Engine开关。 要监控使用量,可以在设置中的Engine 启用页面查看组织每月的 LCU 支出,也可以在每个追踪项目的Engine 设置面板中查看项目级支出。

为追踪项目设置 Engine

1

Open the Engine tab

在 LangSmith 控制台中,导航到界面侧边栏的追踪,选择一个项目,然后点击项目导航中的Engine标签页。
2

Connect a code repository (optional)

虽然不是必需的,但建议连接代码仓库。Engine 会读取源代码,以定位失败追踪背后的代码路径,将提出的修复方案建立在实际实现的基础上,并直接从问题中创建拉取请求。在连接智能体的代码仓库下,从GitHub 仓库字段中选择一个仓库。这里只会显示 GitHub 应用可以访问的仓库。点击管理应用访问权限 →即可更新权限。要为 Engine 提供额外的项目上下文,请在Context Hub 仓库字段中选择一个仓库。你可以随时从Engine 设置面板更新任一仓库。
3

Select preference categories (optional)

在对你来说最重要的是什么?下,选择希望在审核中优先关注的类别(例如工具调用失败或延迟)。点击**+ 添加具体事项来描述自定义关注点。你可以随时从Engine 设置面板更新偏好设置**。
4

Focus on specific traces (optional)

在关注特定追踪记录下,可以通过运行名称或元数据,将 Engine 的关注范围缩小到部分运行。留空则分析所有追踪记录。你可以随时从Engine 设置面板更新范围。有关更多信息,请参阅关注特定追踪记录。
5

Start analyzing

点击开始分析。对话框可能会根据项目使用量显示预计的每月成本范围。Engine 最多可能需要 20 分钟来分析项目的追踪记录并开始提出建议。在等待期间,你可以在设置面板中设置通知,以便在发现不同优先级的问题时通过 Slack 或 webhook 接收提醒。
6

Review the agent overview document

在展示问题之前,Engine 会根据追踪记录生成一份智能体概览文档,描述项目的用途、架构和关键指标。请审核并编辑该文档,然后点击接受并继续。如果概览不准确,请在继续之前进行编辑,因为 Engine 会将其作为所有分析的上下文。因此,这里的准确性会影响检测到的问题质量。你可以随时从Engine 设置面板更新该文档。
Setup dialog showing the code repository field and category selections for prioritizing issue types

Setup dialog

关注特定追踪记录

将 Engine 的关注范围限定在重要的追踪记录上,可以提高分析的精准度并减少浪费的 LCU 支出。当项目混合运行多个智能体或工作负载,而你只希望 Engine 分析其中一部分时,可以使用追踪范围(关注特定追踪记录控件)。例如,如果一个项目同时运行生产环境聊天机器人和每晚批处理任务,可以设置范围为 Run Name is chatbot,让 Engine 忽略批处理运行。默认情况下,Engine 会分析项目中的所有追踪记录。 你可以在以下任一位置使用同一个控件设置范围:
  • Engine 设置:在查找并修复智能体问题面板中的关注特定追踪记录下进行设置。
  • Engine 设置面板:在Engine 设置面板的关注特定追踪记录部分进行设置。此处的编辑会自动保存。
添加范围条件时,使用与追踪项目追踪标签页相同的筛选编辑器。你最多可以添加两条条件,每种类型各一条:
  • 运行名称:选择运行名称或智能体名称。值字段会根据项目最近追踪记录中的运行名称自动补全。
  • 元数据:选择元数据键,然后选择值。两者都会根据项目最近运行记录中的元数据自动补全。
要添加条件,请从字段选择器中选择条件类型,填写值,然后点击添加。每条条件都会显示为一个标签,例如 Run Name is chatbot 或 env is prod。点击标签上的 × 即可删除该条件。 范围决定 Engine 分析哪些追踪记录,以检测问题并构建智能体概览文档。初始设置期间设定的范围会应用于 Engine 的首次扫描。之后在Engine 设置面板中更改的范围不会立即重新运行 Engine,而会在下一次扫描时生效;扫描每 6 小时运行一次。

浏览和筛选问题

设置完成后,Engine标签页会在左侧面板中显示自动检测到的问题列表。每个条目都会显示标题、简短描述、相关追踪记录数量以及最近一次观察到该问题的时间。每个问题都会标记一个失败类别,例如静默工具错误或幻觉。有关 Engine 分配的完整类别列表、类别描述和检测方法,请参阅 Engine 问题类别。 在列表顶部,你可以点击:
  • 筛选问题图标,按优先级、状态和标签筛选。
  • 排序问题图标,按严重程度、上次更新时间和创建时间排序。
  • Engine 设置 图标,以配置 Engine。
点击任意问题,即可在右侧面板中显示其详细信息。 如果设置完成后没有显示任何问题,说明 Engine 未在已分析的追踪记录中发现反复出现的模式。可以在收集更多追踪记录后再回来查看。

审核问题

点击列表中的任意问题,即可打开其详细信息面板。顶部的诊断信息会描述问题及其影响。 关联的追踪记录部分列出了支持该诊断的追踪记录。点击任意追踪记录即可打开其详细信息面板。有关更多信息,请参阅管理追踪记录。点击此部分右上角的添加离线示例,即可根据生产追踪记录的输入生成自定义真实标准数据集示例,用于离线评估。 建议的修复方案部分描述问题并建议解决方式;如果已连接代码仓库,其中可能会包含具体的代码或提示词修改。 离线示例部分会根据触发该问题的生产追踪记录输入,提出用于离线评估的数据集示例。

对问题采取操作

每个问题都有一个操作栏,可用于修复、关注或关闭问题(将其解决或标记为误报),以及设置优先级。

更改优先级

从优先级下拉菜单中选择低、中或高,即可更新问题的优先级。你还可以选择提供原因;该原因会反馈给 Engine,帮助其随着时间推移改进分析。

修复:处理建议的修复方案

点击修复,开始处理建议的修复方案。修复问题包含两个步骤,因此修复方案既能交付,也可以进行测试:
  1. 应用代码更改:使用建议的修复方案打开拉取请求。
  2. 添加离线示例:将发现该问题的追踪记录保存为评估示例。
完成后,你可以直接在此处将问题标记为已解决,这是通过关闭来解决问题的快捷方式。如果要放弃修复但不解决问题,请将其丢弃。如果该问题正在被关注,丢弃修复也会停止关注该问题。
只有处于打开状态的问题才能进行修复:请先重新打开已解决或被误报的问题。

打开拉取请求

应用修复意味着在已连接的仓库中打开一个包含建议代码更改的 GitHub 拉取请求。如果尚未连接仓库,请先进行连接。拉取请求创建后,Engine 会直接链接到该请求(包括其分支),并在整个问题生命周期中反映 PR 的状态(打开、已合并或已关闭)。你还可以将问题的修复上下文复制到剪贴板,以便与 LLM 或代码助手配合使用。Engine 能够贯穿 LangChain 技术栈完成闭环:它可以为任何已连接的仓库提出代码更改,包括使用 Deep Agents、LangChain 和 LangGraph 构建的智能体。

添加离线示例

此步骤会将发现该问题的追踪记录保存为真实标准数据集示例,这样你就可以在修复进入生产环境之前进行离线评估。你也可以从页面下方的关联的追踪记录部分开始此操作。
  1. 点击关联的追踪记录列表右上角的添加离线示例,打开添加为离线示例对话框。
  2. 审核每条追踪记录。对话框会显示输入、智能体生成的错误输出,以及 Engine 提出的预期输出,并将其作为自定义真实标准示例。
  3. 点击添加到数据集直接添加,或点击在标注队列中编辑后再进行审核。
  4. 在标注队列中,每个示例都会显示运行输入以及 Engine 提出的参考输出。这些参考输出会根据追踪分析生成,并以命名的断言形式组织。每条断言都是一项简短声明,用于描述正确答案应包含或不应包含的内容。根据需要编辑断言,点击**+ 添加断言添加新断言,然后点击添加到数据集并继续**逐个处理示例。
有关更多信息,请参阅管理数据集、使用标注队列和使用断言。

关注:持续留意问题

关注问题会使其保持打开状态,以便进行监控,同时不会将其解决或标记为误报。当你还没有准备好修复问题,但仍希望了解���题���否持续发生时,请点击关注。 要在被关注的问题再次出现时收到提醒,请点击通过 Slack 提醒我;该操作会打开 Engine 设置面板中的通知部分。 当新的追踪记录与被关注的问题关联时,Engine 会将该问题移到列表顶部,并显示新增追踪记录的数量,这样你可以继续处理修复,或继续关注该问题。
只有处于打开状态且没有正在处理的拉取请求的问题才能被关注:请丢弃修复后,才能再次关注该问题。解决被关注的问题或将其标记为误报,会自动停止关注该问题。

关闭或重新打开问题

关闭问题会记录审核结果。点击:
  • 关闭,将问题标记为已解决。
  • 误报,将问题标记为不真实或不值得修复,从而忽略该问题。
对于上述任一结果,你都可以选择提供原因;该原因会反馈给 Engine 的分析流程。 你可以随时重新打开已关闭的问题。点击重新打开即可清除正在进行的修复;如果该问题正在被关注,也会停止关注。Engine 还会在后续追踪记录中检测到同一问题再次出现时,自动重新打开该问题。

通过 CLI 列出问题

你可以使用 LangSmith CLI 以编程方式列出问题。

接收新问题通知

当 Engine 打开新问题、将新的追踪记录关联到现有问题,或未能完成一次运行时,它可以向你发送通知。你可以将这些通知发送到 Slack 频道、HTTP webhook 端点,或同时发送到两者。每个目标都有自己的事件类型和最低优先级,因此你可以将紧急问题路由到值班 webhook,同时将所有问题发送到 Slack 频道。 请从Engine 设置面板管理通知目标:打开追踪项目中的Engine标签页,点击Engine 设置 图标,然后在通知下点击**+ 添加目标**。

通知 Slack 频道

1

Connect a Slack workspace

连接 Slack 工作区是组织级操作,只需执行一次,无需针对每个项目分别执行。连接或断开工作区需要 organization:manage 权限。在 LangSmith 控制台中打开设置,进入组织的常规设置,然后在Slack下点击连接 Slack。在 Slack 中授权 LangSmith 应用。一个组织可以连接多个 Slack 工作区。
2

Add a Slack destination

在追踪项目的Engine标签页中,点击Engine 设置 图标,然后点击添加目标。将发送到字段设置为 Slack,然后在频道下选择工作区和频道。
3

Choose events and priority

在通知时机下,选择要向频道发布消息的事件类型。在最低优先级下,选择触发通知的最低严重程度。点击添加目标进行保存。
LangSmith 会自动加入你所选的公开频道。要向私有频道发布消息,请先在 Slack 中邀请 LangSmith 应用加入该频道。 每条 Slack 消息都会包含问题标题、描述和严重程度、返回 LangSmith 的查看问题链接,以及(对于问题事件)问题随时间变化的复发情况图表。如果某个工作区的连接失效(例如应用已从 Slack 中移除),其目标将停止发送通知,直到你从组织的常规设置中重新连接该工作区。

发送到 webhook

要将 Engine 事件转发到你自己的事件管理、值班或聊天工具,请添加一个目标,并将发送到字段设置为 Webhook。输入 URL,也可以选择输入自定义标头。Webhook 发送的内容带有签名,因此你可以验证其真实性。有关完整的事件负载参考、签名密钥验证和发送语义,请参阅 Engine webhook 事件。

配置 Engine

Engine 仅使用 LangChain 管理的推理服务。不支持自带密钥(BYOK);你无法为 Engine 提供自己的供应商 API 密钥。
在追踪项目中,点击Engine标签页上的Engine 设置 图标,打开编辑 Engine 设置面板。在此处可以配置:
  • 智能体概览:编辑智能体概览文档,使 Engine 对项目的理解随着应用的发展保持准确。
  • 偏好设置:Engine 应关注、优先处理或忽略的领域。Engine 会将这些设置视为权威信息,并在下一次扫描时将其整合到智能体概览文档中。选择成本与令牌、延迟或工具调用失败等类别标签,或点击**+ 添加具体事项**来描述自定义关注点。更改会在下一次扫描时生效。
  • Engine 支出:查看该项目当月至今的 Engine LCU 支出。点击设置限额来限制每月支出。达到每月限额后,新的运行会暂停。
  • 关注特定追踪记录:通过运行名称或元数据,将 Engine 的关注范围缩小到部分运行。编辑会自动保存,并在下一次扫描时生效。请参阅关注特定追踪记录。
  • 通知:点击添加目标,添加 Slack 频道或 webhook 目标。当 Engine 检测到新问题时,该目标会收到通知。为每个目标设置最低优先级,以控制哪些问题会触发通知。请参阅接收新问题通知。
  • 代码仓库:连接或更新 GitHub 仓库,以便智能体在诊断问题时参考源代码。还可以选择设置子文件夹和分支(默认为仓库默认分支)。
  • 上下文仓库:连接 Context Hub 仓库,使 Engine 能够针对指令、文档和关联技能提出修复方案。
  • 暂停:Engine 默认每 6 小时扫描一次追踪记录。点击暂停可停止扫描,但不会删除现有问题;点击恢复可恢复扫描。
  • 删除所有问题:此操作无法撤销。所有问题和设置都将被永久删除。

另请参阅