一个虚构的演示仓库要为注册表单补上校验。这项改动涉及处理器、测试文件与一份 schema。在把它分给多个 Agent 之前,开发者要先定下哪些输入算通过、由谁检查合并后的结果,并指定写入权限,以便追查互相冲突的编辑、判断哪一版达到合并条件。
简要回答
多 Agent 软件开发,指多个 Agent 共同参与同一项代码改动。团队有三种分工安排,包括让各 Agent 在独立会话中并行、由主 Agent 委派子任务,以及在会话之间依次交接。三种安排在现实中互相重叠。
开始前写下验收条件,为每个 Agent 指定可写入范围,并确定一位汇总负责人,负责把改动与测试证据汇总起来交给开发者审阅。这些属于团队做法;下文的产品说明会注明哪些部分有已核对的文档支持。
文中的示例是一项拟定中的工作安排,其校验用例与 Agent 任务均未在本文中运行。产品说明依据 2026 年 10 月 16 日核对的官方文档,未做应用或界面测试。VS Code 的对比引自其 2 月 5 日发布的版本说明,描述的是该版本,并未涵盖当前产品能力的完整清单。
示例改动与验收条件
示例改动的对象是一个名为 contact_tag 的字符串字段。应用侧先去掉首尾空白,再转为小写,随后按 Unicode 码点计算规范化后的长度。规范化值长度应在 1 到 254 码点之间,这一上限是为本文虚构应用设定的策略。
判断类型在规范化之前进行。非字符串输入返回 invalid_type;字符串清理后为空返回 required;规范化后超过 254 码点返回 too_long;通过的取值按规范化形式存储。
| 输入类别 | 示例 | 预期行为 |
|---|---|---|
| 有效 | "Atlas" 与 " Atlas " | 两者均被接受,按 "atlas" 存储 |
| 空值 | "" 与 " " | 两者均被拒绝,返回 required |
| 类型错误 | null、42 或 [] | 各自被拒绝,返回 invalid_type |
| 边界 | "a" 分别重复 254 次与 255 次 | 254 码点取值被接受;255 码点取值返回 too_long |
这些条目属于验收要求,本文未实际运行这些样本。每个 Agent 在开始前拿到同一份规则,负责汇总的开发者据此检查合并后的改动。
划定范围之后再判断这项改动是否需要多个 Agent。一个小的校验函数在单个会话内就能写完。处理器、schema 与面向用户的错误文案各自需要不同上下文时,拆分随之成为一种备选,同时也会带来核对各方结果的需要。
拆分工作的三种安排
下文三种安排互相重叠。并行运行多个会话的团队可能仍由其中一个 Agent 委派子任务,被委派的工作也可能以交接收尾。区别在于谁分配工作、上下文如何传递,以及由哪一方收集结果。
相关改动分给独立会话
在本例中,团队为两个独立会话各分配一份工作副本。一个 Agent 修改 schema,另一个编写处理器测试,由开发者核对结果。独立会话需要明确的检出安排;再开一个会话,本身不构成它有独立工作副本的依据。
主 Agent 委派子任务
主 Agent 保留目标,把边界明确的工作分给子 Agent,子 Agent 回报结果。Claude Code 的文档说明,每个子 Agent 拥有独立的上下文窗口、系统提示、工具访问与权限,其请求与主对话计入同一用量额度。VS Code 的 2 月版本说明描述了上下文隔离的子 Agent,其结果返回主会话,中间过程的探索留在主上下文之外。
Claude Code 文档区分 subagents、background agents、cross-session messaging 与 agent teams 四种机制。子 Agent 在会话内以后台方式运行时,仍属于 subagents;background agents 运行的是独立会话,由使用者集中查看。跨会话消息用于在独立会话之间传递消息,agent teams 则由 Claude 启动并监督会话。
会话之间依次交接
交接指一个参与方完成某个阶段后,把下一阶段所需的内容交给下一个参与方。VS Code 的版本说明描述了从规划、实现到审阅的交接流程。团队要写明接手方依据的是哪一版结果与代码,以及哪些决策仍未确定。
各 Agent 读到的代码与上下文
每个 Agent 需要明确自己的工作起点。团队可为示例改动记录基准提交、保存改动的分支或工作树,再注明该 Agent 可写入的文件及验收样本。
VS Code 的 2 月版本说明比较了直接在工作区运行的本地会话、使用工作树的后台会话,以及使用远端基础设施的云会话。在 Claude Code 中,isolation: worktree 设置使子 Agent 获得仓库的一份隔离副本。GitHub 的文档说明其 Copilot cloud agent 在临时云开发环境中编辑文件并运行测试与代码检查工具。这些说明各自针对所命名的模式,因此分配检出方式前先核对该模式的当前状态。
Git 文档说明,同一个仓库可关联多份工作树。把这项检出安排当作整套配置的一部分。网络访问与凭据另行检查,包括不同 Agent 能否写入同一个外部系统。合并与部署权限同样需要单独核对。
避免两个 Agent 改到同一处
记录每个 Agent 被分配修改哪些文件。就示例而言,团队可把 schema 与处理器交给一位写入者,另请一个 Agent 提出测试。出现重叠编辑时,指定一位写入者,并把另一方的建议改动收起来供审阅。书面分工写明约定的范围,是否有工具设置强制限制写入还需另行核实。
同一行的改动重叠时,合并可能出现文本冲突;同一文件中的改动也可能顺利合并。合并顺利时,仍可能把对同一字段的不同假设拼在一起。无论改动来自独立会话、委派子任务还是交接,收集方需要处理这些假设之间的差异。
开始工作前定下收集分支及其负责人,并约定该参与方如何处理后续改动。分开的检出便于组织改动,汇总后的 diff 与测试结果则用来说明收集后的改动表现如何。
交接包含什么
交接时应附上审阅者需要的证据。就示例改动而言,是 diff、基准提交、运行过的命令与其输出,以及尚未解决的事项清单。
记录一项测试结果实际覆盖的代码版本、环境、命令与输出。Agent 可能测的是自己的分支,也可能是另一个已备好的版本,要写明是哪一版。改动收集完成后,在合并后的版本上运行相关检查。GitHub 建议团队在阅读会话记录之外,自行审阅并测试代码。
Devin 的介绍建议写明完成条件,并挑选容易验证的任务。准备交接内容时,团队可把尚未运行的检查标为待办,并为已执行的检查附上实测输出。
| 交接项 | 用途 | 由谁产出 |
|---|---|---|
| diff 与基准提交 | 说明改了什么、从哪一版改起 | 做出改动的 Agent |
| 命令与输出 | 让审阅者能够重复该检查 | 运行命令的 Agent |
| 未解决事项 | 写明哪些需要由团队成员决定 | 收集方 |
| 验收样本 | 把结果与起始条件对应起来 | 团队,在工作开始前 |
审阅、合并与部署是分开的步骤
记录由谁创建拉取请求、由谁审阅提出的改动。批准、合并与部署需要各自的核对,因为三者的权限与触发条件可能不同。
GitHub 的文档说明其 cloud agent 负责创建分支、提交并推送改动。使用者可在提请拉取请求之前要求完善改动,也可在初始提示中直接要求创建拉取请求。其安全说明指出,cloud agent 无法批准或合并拉取请求,其草稿拉取请求需要人工审阅并合并。仓库保护规则与必需检查在产品限制之外另行生效。
同一份说明还指出,针对 Agent 改动的工作流默认等待审阅,并由对仓库有写入权限的使用者批准运行;自动运行需要另行配置。其访问说明把 cloud agent 列在付费 Copilot 套餐下,Business 与 Enterprise 需要管理员启用,仓库适用条件与退出设置同时适用。在把文档中的流程视为可用之前,按团队账号核对上述条件。
部署可能在合并后自动触发,也可能需要单独的发布动作。核对实际的触发条件及其使用的凭据与环境权限,包括批准代码是否同时授权了这次发布。
拆分工作前的核对清单
团队可在分配任务前逐项检查,并把尚未确认的配置与检查记录下来。
- 验收条件与样本输入是否已经写明,有效、空值、类型错误与边界四类用例是否已列出?
- 每个 Agent 是否有明确的可写入范围,共用文件是否指定了单一的写入者?
- 基准提交是否已记录,每个 Agent 是否知道自己工作在哪个分支或工作树?
- 是否已指定统一的收集点与汇总负责人,用来归集 diff、测试输出与未解决事项?
- 已记录的测试结果是否写明覆盖的版本,相关检查是否已针对收集版本安排?
- 审阅、批准、合并与部署是否分别写明,各自的权限是否已核对?
- Agent 所用的许可、席位与管理员设置是否涵盖计划使用的功能?
上述清单用于安排工作。检查尚未执行时,交接记录应明确标为待办,并指定后续负责人。
与团队既有流程配合
Syfo 发布了本文,并在此作为保存任务记录与交付物的一种可选方式。本节涉及团队记录;本文没有测过仓库连接,也没有测过合并或部署的闸门。
Syfo 为团队成员与具名 Agent 提供共享频道,Agent 在任务讨论串中发布进展、来源与交付物。任务板显示每项任务由哪个 Agent 或哪位团队成员负责,以及任务状态、关联的交付物与下一步动作。对于分散在多个 Agent 的改动,任务讨论串把 diff、测试输出与未解决事项归到一个负责人名下。
对外的动作授权与交付物审阅分开处理。平台支持、且由团队指定为高风险、不可逆或对外的动作,由团队或获得授权的 Agent 准备 Action Card,有权限的成员审阅后以本人身份提交该动作。合并与发布权限要在团队所用的仓库与部署设置中核对。本文未据此确认 Syfo 支持提交合并或发布操作。
FAQ(问题与回答)
Agent 越多,代码改动就越好吗?
增加 Agent 会改变分工与审阅方式,同时增加上下文遗漏和改动冲突的核对工作。改动的各部分需要不同上下文、团队又能定出收集与检查结果的方式时,拆分值得评估。本文没有给出使用更多 Agent 带来的收益数据。
并行会话与子 Agent 有什么区别?
独立会话各有对话上下文,检出安排仍要另行配置。本文描述的子 Agent 方式由主 Agent 在会话内委派工作并取回结果。两种方式均需明确如何收集改动、汇总测试证据。
两个 Agent 如何避免互相覆盖?
做法是分配可写入范围、按需使用独立工作副本,并指定汇总负责人。工具是否强制执行该范围,还是把它作为 Agent 应遵循的指令,需要核实。汇总负责人仍然要处理收集后的改动。
Agent 自己的测试全部通过,能否代表整项改动?
一项结果的验证范围取决于实际测过的版本与条件。把结果用于合并决定之前,先确认它覆盖的版本与条件,改动合并之后在收集版本上运行相关检查。本文样本属于验收要求,尚未实际运行。
Agent 会合并或部署改动吗?
这取决于产品、已授予的权限,以及仓库与发布规则。GitHub 的 cloud agent 能提议改动并推送提交,其文档记载的限制使它无法批准或合并拉取请求。部署授权要单独核对,包括合并是否自动触发发布。
资料来源
三种会话形态、子 Agent、交接流程与隔离方式的对比,引自 VS Code 2026 年 2 月 5 日的版本说明《Your Home for Multi-Agent Development》。cloud agent 的运行环境、分支与提交处理、拉取请求选项以及会话记录相关说明,引自 GitHub 的 Copilot on GitHub。子 Agent 的上下文、工具与权限模型、isolation: worktree 设置,以及四项不同机制的说明,引自 Anthropic 的《Create custom subagents》。写明完成条件与挑选可验证任务这两点建议,引自 Devin 的介绍。
Git 工作树的行为见 Git 参考文档。账号与仓库条件见 GitHub 的 cloud agent 访问说明,合并与工作流控制见其风险与缓解说明。