子智能体与会话
控制子任务委派、嵌套深度、可见性和父子会话导航。
This page has not been translated into English yet. The original Chinese version is shown below.
子智能体可以由主智能体通过 Task 工具调用,也可以由用户在消息中 @ 提及。描述应说明何时使用该角色;主智能体会据此判断哪些工作适合委派。
父子会话导航
| 操作 | 配置键 | 默认快捷键 |
|---|---|---|
| 从父会话进入第一个子会话 | session_child_first | <Leader>+Down |
| 切到下一个子会话 | session_child_cycle | Right |
| 切到前一个子会话 | session_child_cycle_reverse | Left |
| 回到父会话 | session_parent | Up |
后三项用于已进入的子会话。实际键位可以自定义,默认 leader 和普通会话命令见TUI 命令参考。
控制嵌套深度
全局 subagent_depth 默认 1:主智能体可启动子智能体,但这些子智能体不能再启动下一层。
- 设置
0:阻止全部子智能体启动。 - 设置
1:保留一层委派。 - 设置
2:允许再嵌套一层。
深度限制与某个角色能否使用 Task 是不同控制;不要仅增加深度就假设所有角色都获得委派权限。
限制角色的 Task 调用
可以在角色的 permission.task 中按子智能体名称匹配:
{
"agent": {
"coordinator": {
"description": "Coordinate analysis tasks",
"mode": "primary",
"permission": {
"task": {
"*": "deny",
"explore": "allow",
"general": "ask"
}
}
}
}
}最后一个匹配规则生效,宽泛规则在前、例外在后。被 deny 的子智能体从 Task 描述中移除,模型不会把它视为可委派对象。
官方同时明确:用户仍可以通过 @ 菜单直接调用子智能体,即使当前角色的 Task 权限拒绝它。因此 permission.task 是模型委派边界,不能用来宣称用户完全无法调用该角色。
隐藏与禁用不同
hidden: true 仅适用于 mode: subagent,将角色从 @ 自动补全隐藏;只要权限允许,模型仍可通过 Task 调用。要禁用角色使用 disable: true,不要用隐藏状态代替禁用。
未为子智能体指定模型时,它使用调用它的主智能体模型。默认 todo 工具对其关闭,若任务需要待办能力应明确配置,而不是假设与主智能体完全相同。