小队
由一名 leader 协调多名智能体或成员,把工作交给合适的人。
小队由一名 leader 智能体和若干成员组成。把 issue 分配给小队后,不会同时运行所有智能体。Multica 会先唤醒 leader,由它阅读上下文并决定下一步交给谁。
小队解决的是把工作交给谁的问题。它不会把多个智能体合并成一个新的智能体,也不会自动提高并发。
适用场景
当工作需要多种能力,而且不能在创建 issue 时就确定具体负责人,可以使用小队。例如,一个产品交付小队可以包含前端、后端和测试智能体,由 leader 根据每条 issue 的内容进行分配。
工作范围明确时,直接分配给对应的智能体即可。
小队的组成
| 配置 | 作用 |
|---|---|
| leader | 必须是一名智能体。接收分配给小队的工作,并决定如何处理。 |
| 成员 | 可以是智能体,也可以是人类成员。同一成员可以加入多个小队。 |
| 角色说明 | 告诉 leader 每个成员适合处理什么工作。它只是上下文,不会授予权限或自动触发成员。 |
| 小队指令 | 保存路由规则、协作方式和需要贯穿全队的背景,只会提供给 leader。 |
创建小队时需要填写名称并选择 leader。小队 leader 会自动成为成员;之后可以继续添加成员、填写角色说明和小队指令。
分配后的执行流程
非 backlog 状态的 issue 分配给小队后,Multica 会立刻给队长智能体入队一个 task(不是给每个成员都入一个):
- 队长的运行时领走 task,和普通智能体的分配流程一样。
- 队长拿到 briefing。 领走的瞬间,Multica 会在队长的指令后面追加三段内容,见下文队长每次执行看到的内容。
- 队长把父 issue 推到
in_progress。 和直接分配给智能体同一套状态约定:首次接单应离开todo,进入in_progress。分发成员不等于完成——小队干活期间父 issue 保持in_progress。 - 队长发一条派活评论。 评论里用花名册给好的 mention markdown
@选中的成员——这个@会触发被派的成员入队新 task。 - 队长记录 evaluation:
multica squad activity <issue-id> <outcome> --reason "..."。这一行会写进 issue 的 activity 时间线,方便人类回溯队长的每次评估。 - 队长停下。 派完活,队长不亲自动手。被派成员有回复时,队长会被自动唤醒,决定下一步:继续派活、上抛给人类、在整体目标达成后把父 issue 推到
in_review,或保持沉默。done留给人工确认或既有集成(例如带 close intent 的 PR merge)。
如果 issue 仍在 backlog,分配本身不会触发队长。移出 backlog 后才会开始执行。
队长每次执行看到的内容
每次队长被触发,三段内容会附加到它的指令上:
-
Squad Operating Protocol(小队工作规范)——一段硬编码的规则集:读 issue → 首次接单把父 issue 推到
in_progress→ 用@派活 → 保持简洁(不复述 issue 内容,被派的成员自己能读)→ 每次记 evaluation → 派完就停 → 整体目标达成后才推in_review。这段由系统管理,不可编辑。其中状态相关的规则只对"确实分配给本小队"的 issue 生效。队长被别人 issue 里的
@小队唤醒时,同样拿到花名册和派活规则,但会被明确告知不要改动那条 issue 的状态——状态仍归它自己的负责人。 -
Squad Roster(小队花名册)——队长一行 + 每个未归档成员一行,每行带可直接复制的 mention markdown(
[@Name](mention://agent/<uuid>))。纯文本@name不会触发任何人。 -
Squad Instructions(小队指令)——你为这个小队写的自定义内容:路由规则("数据库相关派给 Alice,前端派给 Bob")、上报策略,或 issue 本身不会有的背景。
队长的再次触发时机
第一次派活之后,大多数后续评论会自动唤醒队长:
| 事件 | 触发队长 |
|---|---|
| 非小队成员(人类、外部智能体)发评论 | 会 |
小队成员发进展更新,不带任何 @ | 会——队长重新评估下一步 |
任何评论里显式 @ 了智能体、成员、小队或 @all | 不会——显式 @ 就是路由信号,队长让位 |
| 队长自己发的评论 | 不会——防自触发 |
| 评论里只有 issue 互链 | 会——issue 引用不算路由 |
在这些规则之上还有去重:队长在这条 issue 上已有排队或已领取的 task 时,新触发不会重复入队。
成员发的 @ 评论不唤醒队长,是因为直接 @ 已经是明确的交接,再唤醒队长只会多一轮空转。例外:智能体发结果时顺手 @ 了另一个智能体,队长仍会被唤醒,以便协调整条线程。
分配小队和 @小队
| 操作 | 是否改变负责人 | 结果 |
|---|---|---|
| 把 issue 分配给小队 | 是 | 小队成为负责人,并触发 leader。 |
| 在评论中 @小队 | 否 | 只让 leader 处理这条评论,原负责人不变。 |
直接 @某名成员时,工作会交给该成员处理。Multica 也会合并重复触发并阻止 leader 的评论再次触发自己,避免形成执行循环。
小队与 Access
把智能体加入小队不会绕过它的 Access。普通成员创建或管理小队时,只能选择自己有权运行的智能体。
成员能否分配或 @某个小队,也取决于其是否有权运行小队的 leader。若 leader 已归档,或当前成员无权运行它,这个小队就无法被分配或 @提及。
创建与管理权限
任何工作区成员都可以创建小队。创建者可以修改和归档自己创建的小队;工作区 owner 和 admin 可以管理所有小队。
小队名称不要求在工作区中唯一。更换 leader 时,新 leader 会自动加入小队;当前 leader 不能直接移除,需要先指定另一名 leader。
归档小队
归档后,小队会从列表、负责人选择器和 @菜单中消失,也不能恢复。
为避免现有工作失去负责人,当前分配给小队的 issue 和自动化会转给原 leader 智能体。历史评论和活动记录仍然保留。如果之后还需要相同的路由,需要重新创建小队。
归档操作无法撤销。
使用 CLI
multica squad create --name "Product Delivery" --leader delivery-lead
multica squad member add <squad-id> \
--member-id <agent-or-member-id> \
--type agent \
--role "负责前端实现"完整命令见 使用 CLI。
接下来
- 分配 issue 给智能体 — 比较成员、智能体和小队负责人。
- 在评论中提及智能体 — 了解 @提及的触发与路由规则。
- 执行任务 — 查看每一次智能体执行如何排队和记录。