委派与多 Agent

wesgine 委派模型:子 Run 创建、Actor 传播、工具授权与编排模式。


delegate_task 工具

Agent 通过 delegate_task 工具启动子 Agent Run。

参数

参数说明
goal子 Agent 任务目标
context额外上下文
toolsets子 Agent 可用工具集
background是否后台执行

Zone 分类

delegate_task 归类为 ZoneRed(INV-GOV-03)。

子 Agent 启动必须经过完整审计。

不是 ZoneYellow——比普通 write 操作更需要审计。


Actor 传播

一等字段传播

tool.go 把 tc.Actor 同时写进:

继承

runner.go 在子 actor 为空时从 parentParams.Actor 继承。

历史缺陷

曾只写 Tags["actor"] 而 paramsActor 只读一等字段 Actor。

→ 每个委派子 Run 都是无主的:


CycleDetect 覆盖

子 Run 可用更严格的 CycleDetect 阈值:

AppRunRequest{
    CycleDetectOverride: &CycleDetectConfig{
        ActionTermThreshold:        40,
        IdenticalCallTermThreshold: 5,
    },
}

编排模式

同步委派

父 Agent 等待子 Agent 完成后继续。

异步委派(background=true)

父 Agent 立即收到 delegation ID。

子 Agent 结果通过完成队列异步回传。


子 Agent 工具限制

委派的子 Agent 默认工具集受限:

工具是否可用
delegate_task❌(防递归,除非 orchestrator)
clarify❌
memory❌
send_message❌
其他工具✅

max_spawn_depth

限制委派深度,防止无限递归。

CellSpec 可配置最大深度。


与 Plan 的关系

委派子 Run 可以在子 Agent 内创建独立的 Plan。

父子 Plan 独立管理,不跨 Run 共享。


观测面

子 Run 在 Observe 中独立可见。

Actor 传播确保子 Run 归属正确的 Actor(INV-OBS-10)。


相关文档