提案和验证

ElevenAgents Architect 的更改如何经过测试、审核并发布到实时流量。

概述

当 ElevenAgents Architect 完成一项更改后,会将其作为一项提案交给你:一个包含该更改的分支、用于证明更改有效的测试,以及一项要求将该分支合并到 main 的合并提案。本页将介绍各部分的工作方式、在哪里找到它们,以及提案如何从一次对话进入线上流量。

什么是提案

提案基于现有的版本控制模型构建:

部分说明
分支Architect 为此次更改创建的分支,因此在你操作期间,main 和线上调用方不会受影响。
草稿Architect 的编辑内容,暂存于该分支上尚未发布的草稿中。
版本发布草稿后,它会成为该分支上的新版本。
测试Architect 为此次更改编写的测试,附加到智能体并针对该分支运行。
合并提案将分支合并到 main(或你选择的其他分支)的请求,其中包括更改说明、已运行的测试,以及审核者应检查的内容。

合并提案是标准的 ElevenAgents 合并提案,与团队成员手动创建的类型相同,并不是单独的对象类型。

一项合并提案恰好对应一个源分支和一个目标分支,因此一项提案只包含一个候选解决方案。若要比较不同方案,请让 Architect 将每个方案放在各自的分支上。每个分支都会有自己的提案,你可以将流量分配到它们之间,作为一项实验。

Architect 会以你的身份操作,因此它创建的合并提案会以你的名字记录为作者。没有任何 字段会记录该提案由 Architect 创建。如果团队需要知晓,请在提案说明中注明。

如何创建提案

当你让 Architect 修复或改进某项内容,或向它提供失败的测试、Spotlight 发现或分诊工单时,它会创建提案。完整流程及 Architect 每一步调用的工具,请参阅完整示例。简而言之:

  1. Architect 进行调查、创建分支,并将更改暂存到该分支上的草稿中。
  2. Architect 为更改编写测试和模拟,并在对话中运行,然后再向你展示结果。
  3. Architect 打开发布对话框。你查看差异并选择 发布,这会将更改提交为该分支上的新版本。
  4. Architect 向 main 创建合并提案,并根据分支的实际提交和测试运行情况编写说明。
  5. Architect 会提议在审核提案期间,将一小部分线上流量发送到该分支。这需要你批准。

你可以在任何步骤停止。已发布版本但尚未创建合并提案的分支仍然有用:你可以自行测试,或稍后创建提案。

对话中的验证

Architect 会在构建更改时编写并运行测试,而不是在之后单独启动测试步骤。对于修复,一种实用的模式是证明新测试在未应用更改时失败,应用更改后通过。Architect 可以针对原始分支和包含更改的草稿运行同一组测试。

Architect 不会自动对每项更改运行这种前后对比检查。在重要时请明确提出,例如:“先向我展示新模拟在 main 上失败、在分支上通过,然后创建提案。”

当满足所有成功条件时,测试即为通过。对于 LLM 测试,智能体的回复需满足成功标准。对于工具调用测试,应以预期参数调用预期工具。对于模拟,模拟对话需满足成功条件。若要检查结果是否不稳定,请让 Architect 多次运行测试。它最多可将每项测试重复运行 50 次,并报告通过率。

有关各类测试的定义,请参阅测试。

在哪里查找提案

打开智能体,然后前往 版本控制 > 提案。可按状态、作者(创建者)和审核者(等待审核者、已审核者)筛选列表。Architect 在对话中创建的提案会将你列为作者。

Architect 创建提案后,也会立即在对话中返回该提案的链接。

“分支”页面上的提案列表

智能体“分支”页面上的“提案”标签页

提案的构成

提案页面会显示源分支和目标分支、状态、是否可合并,以及源分支落后或领先目标分支的程度。它包含以下标签页:

包括说明、源分支上提交、审核和评论的活动时间线,以及评论框。侧边栏显示审核者、推荐审核者和关联的分诊工单。

Architect 编写的说明始终包含三个部分:摘要(每项重要更改及原因)、测试(运行了哪些测试及其结果,或说明未运行任何测试)和如何审核(应重点关注的内容,以及要运行的测试或可尝试的对话)。

合并提案的“概述”标签页

提案的“概述”标签页,包含说明、审核者和关联工单

审核和合并

状态

合并提案有以下状态之一:

状态含义
打开等待审核或合并。
已合并分支已合并到目标分支。
已关闭由作者撤回、被他人拒绝,或因分支已归档而关闭。已关闭的提案无法重新打开。

提案处于打开状态时,每位审核者的最新审核结果为已批准或请求更改。没有单独的“已测试”或“准备审核”状态。测试结果会显示在测试运行标签页中。

审核和评论会显示在概述标签页的活动时间线中,并与提交到源分支的每个新版本一同显示。

合并提案的活动时间线

活动时间线,包含源分支上的新版本和一项批准

谁可以批准和合并

  • 除作者外,任何拥有智能体编辑权限的人都可以审核提案。由于 Architect 会以你的身份操作,因此你无法批准它在你对话中创建的提案。必须由团队成员批准。
  • 只要至少获得一位非作者人员的批准,且没有任何审核者的最新审核结果为请求更改,提案即可合并。工作区管理员无需批准即可合并。
  • 合并到受保护分支需要管理员权限,或管理员的批准。

Architect 无法批准、评论、合并或关闭合并提案。这些步骤始终由人员完成。有关完整审核规则,请参阅合并提案。

当你提出要求且角色允许合并时,Architect 可不经提案直接合并分支。在需要批准模式下,它会先征求同意。在自动批准模式下则不会。如果每项更改都必须通过已审核的提案,请对 main 启用分支保护。

合并时会发生什么

合并后无需单独发布。合并会在目标分支上写入新版本,该版本会立即为目标分支所接收的相应流量份额提供线上服务。当目标为 main 且未设置流量分配时,这意味着所有调用方。

合并还会:

  • 将源分支拥有的所有线上流量份额移至目标分支。
  • 默认归档源分支。
  • 关闭来自同一分支的其他所有打开提案。
  • 若有关联分诊工单,则将其解决。

逐步推出

提案合并前,可以将一部分线上流量发送到其分支,以便真实调用方使用此次更改。

1

开始分配

例如,对 Architect 说:“将 5% 的流量发送到这个分支。”Architect 会告知完整的最终流量分配,包括 main 的份额,并在应用前征求批准。你也可以自行设置:在 版本控制 > 分支 中,选择该分支上的 部署。

2

查看结果

打开提案的对话标签页,查看分支上的对话;也可以让 Architect 将该分支的结果与 main 的结果进行比较。

3

推广或回滚

若要推广,请合并提案。分支的流量份额会随之移至 main。若要回滚,请让 Architect 将分支份额设为 0%,或自行编辑部署配置。线上流量会立即返回 main。

流量份额总和必须始终为 100%,并且每段对话的路由是确定性的。更改受保护分支的份额(包括从受保护的 main 转移流量)需要管理员权限。请参阅流量部署。

主动提案

当你提出要求,或向 Architect 提供失败的测试、Spotlight 发现、警报或分诊工单时,它会生成提案。它目前不会按计划扫描智能体,也不会自行创建提案。

当前的主动流程是Spotlight加上人工交接。Spotlight 会持续监控智能体的对话。它会生成包含建议调查内容的每周摘要、发出实时警报,并推荐配置更改。要将 Spotlight 发现转为提案:

1

打开 Spotlight

打开智能体,其概述页面就是 Spotlight。
2

选择一项发现

打开每周摘要并查看建议的后续步骤,或打开实时警报。

3

交给 ElevenAgents Architect

对建议选择 在 Architect 中打开,对摘要选择 使用 Architect 分析,或对警报选择 使用 Architect 调查。Architect 会接收该发现,并被要求先依据真实对话验证它,识别受影响的分支,然后再建议更改。

4

请求创建提案

查看 Architect 的发现。如果你同意根本原因,请让它在分支上修复问题、测试修复结果并创建提案。

分诊工单的工作方式相同。线上智能体可在对话中标记问题以供审核,而工单上的与 Architect 讨论会启动对该工单的调查。

正在开发计划自动化功能,报告将发送到 Architect 收件箱。Architect 页面上的收件箱标签页目前是为此预留的占位内容。