深入解析 DigitalOcean Simulations:用户模拟、执行与验证的工作机制

深入解析 DigitalOcean Simulations:用户模拟、执行与验证的工作机制

💡 原文英文,约2400词,阅读约需9分钟。
📝

内容提要

DigitalOcean 推出 Simulations 公开预览,用于评估 AI 代理的多轮对话能力。系统模拟用户与代理的完整对话,记录每条消息和工具调用,再由 LLM 评判整个对话轨迹而非单次回答。用户可编写场景、设定停止条件并多次运行,以检验代理是否遵循用户选择。系统提供目标完成度、知识保留等指标并支持自定义指标,按推理 token 计费,无单独运行费用。

🔎

延伸解读

多轮对话评估的关键:轨迹而非单次回答

文章指出,单轮评估容易让代理通过看似合理的回答,但真实场景中用户需要多轮交互,每轮依赖上一轮结果。Simulations 记录完整对话轨迹和工具调用,由 LLM 评判整个轨迹,从而发现代理是否真正遵循用户选择、是否遗漏关键步骤。这种设计能捕捉单轮评估无法暴露的失败模式,例如代理只读取部分发布说明却给出自信结论。

场景设计决定模拟的有效性

场景由 JSON 对象定义,其中 description 是必填项,stopping_criteria 和 expected_outcome 等可选字段影响模拟走向和评分。文章强调,停止条件应写成代理需要完成的具体动作,而非预设用户选择,因为用户模拟器会根据代理实际返回的内容动态回应。若停止条件为空,模拟器自行决定结束时机,可能因未满足条件而触及 max_turns 上限,这本身也是信号。

多次运行与指标选择:区分运气与能力

每个场景可运行多次(exploration_budget 最多 5 次),每次称为一个 episode,路径可能不同。文章举例,同一场景三次运行中用户可能选择不同 Python 版本,若代理每次都能正确应对,则更有力证明其遵循用户选择而非固定答案。内置指标包括目标完成度、知识保留等,还可自定义指标填补空白。star metric 用于设定成功阈值,低分需结合轨迹定位问题根源。

计费与预览限制:使用前需知

Simulations 无单独运行费用,但需按 serverless 推理 token 费率支付用户模拟器和评判模型的费用,生成场景时还需支付生成模型费用。被测试代理按 Harness Runtime 用量计费,包括计算、存储、工具和模型推理。Agent Droplets 计划可对 DigitalOcean 托管模型应用折扣(Pro 15%,Team 20%)。该功能处于公开预览,无 SLA,不建议用于生产,且定价和功能可能变化。

❓

Q&A

DigitalOcean Simulations 是什么?它主要解决什么问题?

DigitalOcean Simulations 是 DigitalOcean Evaluations 的一项功能,目前处于公开预览阶段。它通过模拟用户与 AI 代理之间的完整多轮对话,记录每条消息和工具调用形成轨迹,再由 LLM 评判整个对话,从而评估代理在多轮交互中的表现,解决单轮评估无法捕捉多轮对话中逐步推理和依赖前文的问题。

Simulations 中的场景(scenario)包含哪些关键字段?它们分别有什么作用?

场景是一个 JSON 对象,存储在 JSONL 格式的场景集中。关键字段包括:description(必填,描述场景背景)、user_persona(用户角色设定)、stopping_criteria(代理应完成的任务列表,用户模拟器会持续对话直到全部满足)、max_turns(最大轮数,防止无限对话)、expected_outcome(仅用于 Agent Policy Adherence 指标,定义代理应遵循的策略或达到的最终状态)。

Simulations 如何模拟用户并决定对话何时结束?

用户模拟器是一个模型,它逐轮读取场景描述、用户角色和代理的实际回复,生成下一条用户消息,并判断是否停止。如果设置了 stopping_criteria,模拟器会持续对话直到代理满足所有条件;若未设置,则根据描述自行决定结束时机;若始终未决定结束,对话会在 max_turns 时停止。

Simulations 支持哪些评估指标?如何选择星标指标?

内置的对话指标包括用户目标完成度、知识保留、工具使用准确性、对话完整性等,还有 Turn Relevancy 和 Agent Policy Adherence。此外支持自定义指标以覆盖内置指标可能遗漏的方面。星标指标是用户最关注的指标,需选择一个指标并设定 0 到 100 的成功阈值,例如选择用户目标完成度并设阈值为 80。

如何通过多次运行(episodes)来验证代理是否真正遵循用户选择?

通过设置 exploration_budget(最多 5)可以让同一场景运行多次,每次运行称为一个 episode,可能走不同路径。例如在 Python 升级场景中,用户可能两次选择 3.14、一次选择 3.13,代理需要针对不同选择给出不同的变更列表。如果代理在每次 episode 中都通过,则有力证明它是在遵循用户选择而非给出固定答案。

Simulations 如何计费?是否有单独的运行费用?

Simulations 没有单独的每次运行费用。用户需要按 serverless 推理 token 费率支付用户模拟器和评判模型的费用,如果使用生成模型创建场景也需支付相应费用。被测试的代理按 Harness Runtime 使用量计费,包括计算、存储、工具和模型推理。Agent Droplets 计划可对 DigitalOcean 托管的模型应用折扣(Pro 15%,Team 20%)。

🏷️

标签

➡️

继续阅读