委派与多 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 同时写进:
pp.Actor(一等字段)pp.Tags["actor"](审计标签)
继承
runner.go 在子 actor 为空时从 parentParams.Actor 继承。
历史缺陷
曾只写 Tags["actor"] 而 paramsActor 只读一等字段 Actor。
→ 每个委派子 Run 都是无主的:
- 记忆写入静默失败(
RequireActor) - Run 记录在 owner 收口后不可见
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)。
相关文档
- Run 生命周期 →
run-lifecycle.md - Actor 边界 →
actor-boundary.md - 治理模型 →
governance-model.md