> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cowagent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# agent_delegate - 委派

> 把任务交给会话中的另一个 Agent，等待它的答复

`agent_delegate` 让一个 Agent 把任务交给会话里的另一个 Agent 处理。被委派的是一个常驻的正式成员，它有自己的工作空间、记忆、技能和会话，在自己的环境里作答，结果回到发起方，不会直接发给用户。

这是 [Agent 团队](/zh/multi-agent/team)协作的底层能力。关于团队如何组建、群聊里主 Agent 如何决定委派，见团队文档。

<Note>
  只有在团队会话中，也就是会话里有两个及以上启用的 Agent 时，`agent_delegate` 工具才会出现。单 Agent 的部署看不到它。
</Note>

## 与子 Agent 的区别

|      | [子 Agent](/zh/multi-agent/subagent) | 委派                  |
| ---- | ----------------------------------- | ------------------- |
| 生命周期 | 为一个任务创建，用完即弃                        | 常驻 Agent，事先配置       |
| 工作空间 | 与调用方共享                              | 独立                  |
| 记忆   | 没有自己的                               | 独立                  |
| 身份   | 匿名                                  | 出现在 Agent 列表中，可绑定通道 |

需要把自己的活并行化，用子 Agent。任务本就属于别人，也就是拥有那个代码库、那个知识库、那个客户关系的 Agent 时，才用委派。

## 同步执行

委派会把任务交出去，等待对方作答，再把答复返回。调用会一直阻塞到对方完成，或时间预算耗尽，因此没有需要轮询的状态，也没有需要跟踪的句柄。

```
agent_delegate(agent_id="research", task="...")
  -> { status: "done", content: "..." }
```

在底层，这次运行会记录在目标的工作空间中，父节点是发起委派的那个 run，因此一条委派链从两端都能追溯。

## 可委派的对象

能被委派的，是当前会话中的成员。委派始终限定在这个会话内部，不会把任务交给会话之外的 Agent，即便白名单本可放行。若指向的不是会话成员，工具会拒绝，并列出实际可以委派的对象。

## 参数

| 参数         | 说明                        |
| ---------- | ------------------------- |
| `agent_id` | 会话成员的 ID                  |
| `task`     | 一份自洽的任务说明，对方无需看到本会话即可据此行动 |

## 边界

委派发生在完整的 Agent 之间，因此设有边界：

| 边界   | 说明                        |
| ---- | ------------------------- |
| 成员   | 目标必须是当前会话中的成员             |
| 白名单  | 谁可以找谁，不设置则任意 Agent 之间都可委派 |
| 环路   | 已在链路中的 Agent 不能被再次委派      |
| 深度   | 一条链最多允许多少跳                |
| 长度   | 单次任务文本的上限                 |
| 时间预算 | 一次委派运行最长可以跑多久，超出即放弃       |

## 配置

```json theme={null}
{
  "agent_delegation": {
    "enabled": true,
    "allowed_targets": {
      "assistant": ["research", "support"],
      "research": []
    },
    "max_depth": 3,
    "timeout_seconds": 600,
    "max_message_chars": 8000
  }
}
```

| 字段                  | 默认值    | 含义                                                                 |
| ------------------- | ------ | ------------------------------------------------------------------ |
| `enabled`           | `true` | 设为 `false`，或把整个配置块设为 `false`，即可完全不提供该工具                            |
| `allowed_targets`   | 未设置    | 源 Agent ID 到其可访问 ID 的映射，`"*"` 表示任意。未设置则允许所有组合。目标还会进一步限定在当前会话的成员范围内 |
| `max_depth`         | `3`    | 一条链的委派跳数（1-8）                                                      |
| `timeout_seconds`   | `600`  | 单次委派运行的时间预算（0.01-600）                                              |
| `max_message_chars` | `8000` | 单次委派任务的长度上限                                                        |

像上面的 `"research"` 那样配成空数组的 Agent，可以被委派，但不能再向外委派。
