跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

子智能体与会话

控制子任务委派、嵌套深度、可见性和父子会话导航。

子智能体可以由主智能体通过 Task 工具调用,也可以由用户在消息中 @ 提及。描述应说明何时使用该角色;主智能体会据此判断哪些工作适合委派。

父子会话导航

操作配置键默认快捷键
从父会话进入第一个子会话session_child_first<Leader>+Down
切到下一个子会话session_child_cycleRight
切到前一个子会话session_child_cycle_reverseLeft
回到父会话session_parentUp

后三项用于已进入的子会话。实际键位可以自定义,默认 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 工具对其关闭,若任务需要待办能力应明确配置,而不是假设与主智能体完全相同。