链接: https://x.com/omarsar0/status/2109666287429255516 分类: x-tips 来源: @omarsar0 (elvis) 作者: Jay 更新日期: 2026-10-13 仓库: https://github.com/digitalocean
用生产轨迹替代测试套件:DigitalOcean Signals 从生产失败到可执行评测
原帖:https://x.com/omarsar0/status/2109666287429255516
这是什么
DigitalOcean Signals 是 DigitalOcean Learning Services 的核心组件之一,属于公共预览版(Public Preview)。它的核心逻辑来自 @omarsar0 那条推的核心洞察:最有价值的评测数据来自生产环境,而那些失败很少出现在测试集里。
Signals 自动监控 DigitalOcean Managed Agents 和 DigitalOcean Inference Engine 的生产流量,无需额外部署 instrumentation,就能识别出"技术成功但实际失败"的会话——这类失败是 AI Agent 特有的陷阱:工具调用返回 200,但返回了错误地区;对话正常结束,但用户已经不耐烦离开。
Signals 将失败会话分为三个维度:
- 交互信号(Interaction Signals):追踪用户情绪,包括修正(corrections)和放弃(abandonment)
- 工具执行(Tool Execution):工具调用失败或返回异常结果
- 基础设施(Infrastructure):资源约束或后端错误
核心限制与边界
适用条件: - Agent 须运行在 DigitalOcean Managed Agents - 模型通过 DigitalOcean Inference Engine(或 Serverless Inference)提供服务
关键约束: - Signls 是opt-in(可选开启)的 - 处理前自动脱敏(PII redaction) - 数据和轨迹保留在团队边界内,不用于跨客户模型训练 - 开启后,数据处理最长需要 1 小时才可见 - 数据可下载用于微调或 RL 奖励/偏好数据
注意:Signals 的具体文档页(
/docs/networking/signals/)在写作时返回 404,官方文档入口尚未稳定定位。本次内容来源为 DigitalOcean 官方博客公告(digitalocean.com/blog/introducing-signals-and-simulations)和官方产品页(digitalocean.com/products/learning-services)。建议使用前核验文档是否已迁移到docs.digitalocean.com下的稳定路径。
上手步骤
第一步:开启 Signals
- 进入 DigitalOcean Console
- 导航至 Harness Runtime → Signals
- 为一个或多个 Managed Agents 开启 Signals
- 等待数据处理(约数分钟到 1 小时)
开启后,可在 Signals 面板中查看用户情绪、工具执行和基础设施的整体趋势。
第二步:将被标记的会话导出为评测场景
- 打开任意被标记的失败会话
- 一键将其导出为 Evaluations 中的测试场景(无需手动准备测试数据)
- 可下载数据用于模型微调或 RL 训练
第三步:用 Simulations 测试修复
Simulations 是 DigitalOcean Evaluations 的新能力,允许在隔离沙箱中用与生产完全相同的工具和 harness 对候选版本进行多轮对话测试:
- 进入 Evaluations & Simulations
- 在 Simulation Scenarios 中选择:预设场景、自然语言描述,或从 Signals 生产轨迹中拉取
- 点击 Run Simulation,选择候选版本、用户模拟模型、打分指标
- 设置每场景 episodes 数量和最大轮数(turn limit)
- 运行后审查每条轨迹的评分,保存有价值场景为回归测试
评分由 LLM Judge 自动完成,覆盖目标达成率等多维指标。
适用边界
| 场景 | 是否适用 |
|---|---|
| 在 DigitalOcean Managed Agents 上运行的 Agent | ✅ 直接可用 |
| 通过 DigitalOcean Inference Engine 服务的模型 | ✅ 直接可用 |
| 第三方云或自托管 Agent | ❌ 不可用(无 instrumentation 方案) |
| 需要真实物理工具执行(不是沙箱模拟) | ⚠️ Simulations 为隔离沙箱,非生产直连 |
| 需要实时 / 低延迟监控告警 | ❌ Signals 是趋势分析,非实时告警工具 |
为什么不只靠测试套件
传统测试套件能验证"正确的输入得到正确的输出",但无法覆盖:
- 用户实际会犯的错误(真实输入分布)
- 工具返回"表面上成功但实质错误"的结果(如 API 返回 200 但字段错误)
- 多轮对话中的指令遗忘(turn 1 的约束到 turn 15 已丢失)
- 特定地区 / 特定数据条件下的失败
Signals 的价值正是把这些只存在于生产中的失败捞出来,变成可重复执行的评测数据——这也是 @omarsar0 那条推的核心论点:你的 agent 轨迹就是最好的评测数据来源。
关键参考链接
- 原帖:https://x.com/omarsar0/status/2109666287429255516
- 官方公告:https://www.digitalocean.com/blog/introducing-signals-and-simulations
- 产品首页:https://www.digitalocean.com/products/learning-services
- DigitalOcean 文档索引:https://docs.digitalocean.com/llms.txt
⚠️ 文档未确认:Signals 具体路径
/docs/networking/signals/写作时返回 404,官方文档可能已迁移。如需精确 API 参数或 CLI 操作方式,请在docs.digitalocean.com搜索 "Signals" 确认当前路径,或通过llms.txt索引查找。