Multica Docs

小队

由一名 leader 协调多名智能体或成员,把工作交给合适的人。

小队由一名 leader 智能体和若干成员组成。把 issue 分配给小队后,不会同时运行所有智能体。Multica 会先唤醒 leader,由它阅读上下文并决定下一步交给谁。

小队解决的是把工作交给谁的问题。它不会把多个智能体合并成一个新的智能体,也不会自动提高并发。

适用场景

当工作需要多种能力,而且不能在创建 issue 时就确定具体负责人,可以使用小队。例如,一个产品交付小队可以包含前端、后端和测试智能体,由 leader 根据每条 issue 的内容进行分配。

工作范围明确时,直接分配给对应的智能体即可。

小队的组成

配置作用
leader必须是一名智能体。接收分配给小队的工作,并决定如何处理。
成员可以是智能体,也可以是人类成员。同一成员可以加入多个小队。
角色说明告诉 leader 每个成员适合处理什么工作。它只是上下文,不会授予权限或自动触发成员。
小队指令保存路由规则、协作方式和需要贯穿全队的背景,只会提供给 leader。

创建小队时需要填写名称并选择 leader。小队 leader 会自动成为成员;之后可以继续添加成员、填写角色说明和小队指令。

分配后的执行流程

非 backlog 状态的 issue 分配给小队后,Multica 会立刻给队长智能体入队一个 task(不是给每个成员都入一个):

  1. 队长的运行时领走 task,和普通智能体的分配流程一样。
  2. 队长拿到 briefing。 领走的瞬间,Multica 会在队长的指令后面追加三段内容,见下文队长每次执行看到的内容
  3. 队长把父 issue 推到 in_progress 和直接分配给智能体同一套状态约定:首次接单应离开 todo,进入 in_progress。分发成员不等于完成——小队干活期间父 issue 保持 in_progress
  4. 队长发一条派活评论。 评论里用花名册给好的 mention markdown @ 选中的成员——这个 @ 会触发被派的成员入队新 task。
  5. 队长记录 evaluationmultica squad activity <issue-id> <outcome> --reason "..."。这一行会写进 issue 的 activity 时间线,方便人类回溯队长的每次评估。
  6. 队长停下。 派完活,队长不亲自动手。被派成员有回复时,队长会被自动唤醒,决定下一步:继续派活、上抛给人类、在整体目标达成后把父 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 已归档,或当前成员无权运行它,这个小队就无法被分配或 @提及。

创建与管理权限

任何工作区成员都可以创建小队。创建者可以修改和归档自己创建的小队;工作区 owneradmin 可以管理所有小队。

小队名称不要求在工作区中唯一。更换 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

接下来