多轮在线评估器允许您评估人类与代理之间的完整对话——而不仅仅是单次交互。它们衡量一个会话中所有轮次端到端的交互质量。 您可以使用多轮评估来衡量:
  1. 语义意图:用户想要做什么。
  2. 语义结果:实际发生了什么,任务是否成功。
  3. 对话轨迹:对话是如何展开的,包括工具调用的轨迹。
多轮在线评估器默认可以延长追踪保留时间。您可以在配置评估器时选择退出,以便追踪记录保持项目配置的保留层级。如果其他操作明确延长了保留时间,或者项目已经使用了延长保留,追踪记录仍然会被升级。有关分步退出说明,请参阅管理评估器追踪保留。详情请见数据保留自动升级。

工作原理

多轮在线评估器遵循以下评估生命周期:
  1. 追踪摄取:对话中的每一轮都被作为一个单独的运行记录进行追踪,并通过一个共享的线程 ID 与一个线程关联。
  2. 空闲时间检测:在线程中的最后一个追踪记录被摄取后,LangSmith 会等待配置的空闲时间结束。这个空闲期表明对话已完成,可以进行评估。
  3. 消息组装:LangSmith 收集线程中每个追踪记录的 messages,并将它们组装成一个单一的对话历史。如果每个追踪记录只包含最新消息,LangSmith 会将跨轮次的消息拼接起来。如果每个追踪记录包含完整的历史记录,LangSmith 就会直接使用它。因为线程中连续的追踪记录通常会重新发送先前的历史记录,所以 LangSmith 会对重叠的消息进行去重,确保每条消息只出现一次。结果是一个以 OpenAI 聊天格式 ({"role": ..., "content": ...}) 表示的单一消息列表,这就是您提示词中的 all_messages 变量解析到的内容。
  4. LLM-as-a-judge 评估:组装好的对话被传递给您配置的 LLM-as-a-judge 提示词。评估器根据您的标准(语义意图、结果或轨迹)对整个线程进行评分。
  5. 反馈记录:评估器使用您配置的反馈键将反馈写入 LangSmith,并与该线程关联。
这个生命周期意味着多轮评估器每个完成的线程只运行一次,而不是每个追踪记录运行一次。如果您想要针对每个追踪记录进行评估,请使用运行级别在线评估器。

前提条件

  • 您的追踪项目必须使用线程。
  • 线程中每个追踪记录的顶层输入和输出必须包含一个 messages 键,其中包含一个消息列表。我们支持 LangChain、OpenAI Chat Completions 和 Anthropic Messages 格式。
    • 如果每个追踪记录的顶层输入和输出只包含对话中的最新消息,LangSmith 将自动将跨轮次的消息组合成一个线程。
    • 如果每个追踪记录的顶层输入和输出包含完整的对话历史,LangSmith 将直接使用它。
如果您的追踪记录不符合上述格式,线程级别评估器将无法工作。您需要更新向 LangSmith 发送追踪的方式,以确保每个追踪记录的顶层输入和输出都包含一个 messages 列表。请参阅故障排除部分获取更多信息。

配置

  1. 导航到追踪页面并选择一个追踪项目。
  2. 点击评估器选项卡,然后点击 + 评估器。在从零开始创建下选择 LLM-as-a-Judge 评估器。在源下,选择线程。
  3. 为您的评估器命名。
  4. 应用过滤器或采样率。
    使用过滤器或采样来控制评估器成本。例如,仅评估 N 轮以下的线程,或对所有线程采样 10%。
  5. 配置空闲时间。
    首次配置线程级别评估器时,您需要定义空闲时间——即线程中最后一个追踪记录被摄取后,到被认为已完成并准备好评估所需的时间。该值应反映您应用程序中预期的用户交互时长。它适用于项目中的所有评估器。
首次测试评估器时,请使用较短的空闲时间,以便快速看到结果。验证后,将其增加到与预期的用户交互时长相匹配。
  1. 配置您的模型。
    选择您希望用于评估器的提供商和模型。线程往往会很长,因此您应该使用具有更高上下文窗口的模型以避免遇到限制。例如,OpenAI 的 GPT-5.4 mini 或 Gemini 2.5 Flash 是不错的选择,因为它们都拥有 1M+ 令牌的上下文窗口。
  2. 配置您的 LLM-as-a-judge 提示词。
    定义您想要评估的内容。此提示词将用于评估该线程。您还可以通过 all_messages 变量配置将组装好的对话的哪些部分传递给评估器,以控制其接收到的内容:
    • 所有消息:以 OpenAI 聊天格式 ({"role": ..., "content": ...}) 的 JSON 消息对象列表形式发送完整对话,每条消息渲染为缩进的 JSON 并以空行分隔。
    • 人类与AI的交互对:仅发送用户和助手消息,格式为 <user>...</user> 和 <assistant>...</assistant>,并排除系统消息、工具调用和其他角色。
    • 首条人类消息与末条AI回复:仅发送第一条用户消息和最后一条助手回复。
  3. 设置您的反馈配置。
    为反馈键配置一个名称,选择您希望收集的反馈格式,并可选择启用反馈的推理。
我们不建议将同一个反馈键用于线程级别评估器和运行级别评估器,因为可能难以区分两者。
  1. 保存您的评估器。
保存后,您的评估器将出现在评估器选项卡中。一旦在保存后创建的任何新线程经过了空闲时间,您就可以对其进行测试。

限制

以下是多轮在线评估器的当前限制(可能会更改)。如果您遇到任何这些限制,请联系我们。
  • 运行记录必须不超过一周:当线程变为空闲时,只有过去 7 天内的运行记录才有资格进行评估。
  • 一次最多评估 500 个线程:如果在五分钟内有超过 500 个线程被标记为空闲,我们将自动对超过 500 的部分进行采样。
  • 每个工作区最多 10 个多轮在线评估器

故障排除

检查评估器的状态
您可以通过前往追踪项目内的评估器选项卡,点击您创建的评估器的日志按钮查看其运行历史,来检查评估器上次运行的时间。
检查发送给评估器的数据
通过前往追踪项目内的评估器选项卡,点击您创建的评估器,然后点击评估器追踪选项卡,可以检查发送给评估器的数据。
在此选项卡中,您可以查看传递给 LLM-as-a-judge 评估器的输入。如果您的消息没有正确传入,您将在输入中看到空白值。这可能是因为您的消息没有按照预期的格式之一进行格式化。