Skip to content

Kiro CLI Subagents 是可独立执行任务的专用 agent。它们拥有自己的上下文、工具权限和执行过程,适合并行分析、代码审查、测试修复等复杂任务。Kiro 还支持 subagent 监控、任务依赖图和细粒度权限配置。

Kiro CLI Subagents:并行执行复杂任务的专用 Agent

Kiro CLI subagents 用来把复杂任务拆给多个专用 agent 执行。每个 subagent 都有自己的 context、tool access 和决策过程,完成后把结果返回给 main agent。

这类能力适合多步骤任务:例如一个 agent 分析依赖,一个 agent 审查安全问题,一个 agent 跑测试并定位失败。相比单一对话上下文,subagents 能减少干扰,也能并行推进。

核心能力

Kiro CLI subagents 支持:

  • Autonomous execution:基于 agent 配置独立执行任务。
  • Live progress tracking:实时查看工作进度。
  • Dedicated execution monitor:查看 tool calls、输出和状态。
  • Core tool access:读取文件、写入文件、执行命令、使用 MCP tools。
  • Parallel execution:多个 subagents 同时运行。
  • Sequential execution:通过 task graph 表达依赖顺序。
  • Finer permission control:为每个 subagent 设置工具和信任范围。
  • Result aggregation:完成后自动把结果返回 main agent。

默认 subagent 和自定义 subagent

Kiro 内置 default subagent,可处理通用任务。没有指定 custom agent 时,会使用默认 subagent。

如果你已经定义了专用 agent,也可以按名称调用:

text
Use the backend agent to refactor the payment module

自定义 subagent 会继承对应 agent configuration 中的 tools 和 settings。

工作流程

Subagent 通常按这个流程运行:

  1. Task assignment:你描述任务,Kiro 判断是否适合使用 subagent。
  2. Subagent initialization:基于 agent 配置创建独立上下文和工具权限。
  3. Autonomous execution:subagent 独立推进,必要时请求权限确认。
  4. Progress updates:主对话收到实时进度。
  5. Result return:完成后返回结果。

工具可用性

Subagents 在独立 runtime 中运行,并不是所有普通 chat tools 都可用。

可用工具:

  • read
  • write
  • shell
  • code
  • MCP tools

暂不可用工具:

  • web_search
  • web_fetch
  • introspect
  • thinking
  • todo_list
  • use_aws
  • grep
  • glob

设计任务时要考虑这些限制。例如需要 web research 的任务,不适合直接交给当前 subagent runtime。

限制可用 agents

可以通过 availableAgents 控制哪些 agents 能作为 subagents 启动:

json
{
  "toolsSettings": {
    "subagent": {
      "availableAgents": ["reviewer", "tester", "docs-*"]
    }
  }
}

这里允许 reviewertester 和匹配 docs-* 的 agents。

信任特定 agents

通过 trustedAgents 可以让特定 subagents 不再每次请求权限:

json
{
  "name": "orchestrator",
  "description": "Agent that coordinates multiple specialized subagents",
  "tools": ["fs_read", "subagent"],
  "toolsSettings": {
    "subagent": {
      "trustedAgents": ["reviewer", "tester", "analyzer"]
    }
  }
}

更安全的做法是只信任低风险 agent,例如 reviewer 和 analyzer;会执行 shell 或部署动作的 agent 应保留审批。

Subagent 执行监控

Ctrl + G 可以打开 subagent monitor。它会显示每个 subagent 的当前状态、tool calls 和输出。

在 monitor 中:

  • Ctrl + D / Ctrl + U:在 subagents 间移动。
  • q:返回主 chat。

并行运行多个 subagents 时,这个监控面板很重要,可以及时发现某个 agent 卡住或执行了不合适的动作。

任务依赖图

Kiro 支持把复杂任务拆成 DAG。独立任务并行运行,有依赖的任务按顺序执行。

例如重构流程:

text
1. Analyze dependencies
2. Refactor modules
3. Run and fix tests

第 2 步等待第 1 步完成,第 3 步等待第 2 步完成。没有依赖的任务可以并行。

Per-subagent 权限控制

可以为单个 subagent 限制工具和审批要求:

json
{
  "toolsSettings": {
    "subagent": {
      "availableAgents": ["reviewer", "deployer"],
      "trustedAgents": ["reviewer"],
      "agentPermissions": {
        "deployer": {
          "allowedTools": ["read", "shell"],
          "requireApproval": ["shell"]
        }
      }
    }
  }
}

这样 deployer 只能使用 readshell,并且每次 shell 都要审批。

常见问题

Q: Kiro CLI subagents 适合什么任务?

A: 适合复杂、多步骤、可拆分的任务,例如并行审查、重构前分析、测试修复和结果汇总。

Q: Subagent 能用所有工具吗?

A: 不能。当前 subagent runtime 支持 read、write、shell、code 和 MCP tools,但不支持 web_search、web_fetch、grep、glob 等部分工具。

Q: 怎么限制 subagent 权限?

A: 用 availableAgentstrustedAgentsagentPermissions 限制可启动 agent、信任范围和具体工具权限。