智能体配置与子智能体
主智能体可以通过 task 工具委派一项边界清晰的工作。**智能体配置(Agent Profile)**定义可复用 的能力上限,**子智能体(Subagent)**是该配置的一次子任务执行。配置不是长期驻留的团队成员, 子智能体也不是第二套编排系统。
内置配置
| 配置 | 适合的工作 | 工作区与工具 |
|---|---|---|
builtin:default | 均衡、有界的通用任务。 | 标准子工具;可写时使用隔离 Git 工作树。 |
builtin:worker | 实现、修复和指定验证。 | 标准子工具与隔离 Git 工作树。 |
builtin:explorer | 仓库探索与证据收集。 | 只读工作区、文件/搜索工具和只读 Bash。 |
短名称 default、worker、explorer 通常选择同名内置项;若工作区故意定义了同名配置,使用 builtin:* 限定名称可绕过遮蔽。内置配置继承父任务的模型和推理强度,差异来自指令、工具上限与 隔离方式,不要求单独的模型账户。
创建智能体配置
在 Settings → Agent → Profiles 管理工作区配置,或把 Markdown 放到:
<project>/.kairo/agents/:工作区配置;~/.kairo-code/agents/:个人回退配置;- 插件中的
agents/:插件配置。
解析优先级依次为主工作区、项目中的其他根目录、个人目录。插件配置使用 plugin-name:code-reviewer 一类限定名称。当前设置编辑器只能修改工作区配置;个人、插件和内置项 只读显示,必须在其来源处修改。
可用配置必须得到非空 name、非空 description 和非空 Markdown 指令正文。文件配置未写 name 时默认取 .md 文件名;description 没有可用的空默认值,不完整定义会被跳过。
---
name: security-reviewer
description: 审查有界改动的安全风险与缺失验证
model_reasoning_effort: high
sandbox_mode: read-only
tools:
- read
- grep
- diff
- bash
skills:
- secure-review
mcp_servers: []
---
只审查给定改动。区分事实与推断,列出准确文件路径,不修改工作区。| 字段 | 含义 |
|---|---|
name | 有效配置名;文件配置省略时取文件名。 |
description | 主智能体选择委派对象时使用的非空提示。 |
| Markdown 正文 | 交给子智能体的非空指令。 |
model | 可选模型覆盖;省略时继承。 |
model_reasoning_effort | none、minimal、low、medium、high、xhigh 或 max。 |
sandbox_mode | read-only 或 workspace-write,是不可突破的上限。 |
tools | 可选工具名白名单,只能收窄父任务能力。 |
skills | 省略表示继承,[] 表示全部禁用,列表表示允许交集。 |
mcp_servers | 对 MCP server 使用同样的三态上限。 |
父任务权限模式、工作区边界、当前审批规则和管理员政策始终优先。配置不能恢复任何被父级上限移除的能力。
委派之后会发生什么
- Host 先预留容量,再创建子会话或工作树。
- Kairo 返回稳定的子任务 ID;可选名称只是额外地址,不能替代 ID。
- 桌面端默认让子任务后台运行,并在协作视图中发布进度。
- 父任务收到一个持久终态结果并负责整合,不需要让模型不断轮询。
- 可写任务必须先完成工作树收尾,才能发布成功结果。
如果 Host 无法持久记录子任务终态,它会隔离该运行代际,不会编造本地成功或失败通知。此时持久子 任务可能保持非终态;重复委派同一写操作前应先检查任务。子智能体没有 task 工具,不能继续生成 下一层子智能体,委派深度固定为一层。
安全引导与停止
协作视图可检查每个子任务,并用稳定 ID 或明确名称定位正在运行的子任务。
- 只有
RUNNING状态接受引导消息。 COMPLETING表示收件箱已被原子封口:新的引导会被拒绝,但 stop 仍可获胜,界面也会保持可操作。- stop 在
RUNNING与COMPLETING阶段仍可获胜。 - 工作树/结果边界进入
FINALIZING或PUBLISHING后,新的引导与停止会被拒绝,避免和终态发布竞态。 - stalled 只表示在配置窗口内没有进度跨过 Host 边界,并不自动宣告失败。
Host 重启会恢复持久子任务历史和终态证据,但不会恢复内存中的模型或工具调用。重启时正在运行的 子任务会协调为 interrupted/cancelled;检查遗留工作树后再决定是否重新委派。孤立工作树从不被当作 已完成合并。
工作区隔离
可写配置要求 Git。它可以选择项目中多个明确授权根;Kairo 为每个物理仓库创建隔离工作树,将同一 仓库的逻辑根映射到对应工作树,并把跨仓库结果作为一个整体收尾。任何仓库无法收尾时,整个包不会 发布为成功。省略 workspace_roots 时使用主根。
只读配置可以检查多个授权根,也可在非 Git 工作区执行;任意文件系统路径会被拒绝。 isolation: none 不能让可写配置直接修改父工作树。
容量与看门狗
默认最多同时运行八个全局子任务、每个父任务四个。达到任一上限时,新委派会在创建工作树前收到可 操作的容量错误。默认无进度窗口为两分钟,总运行上限为四小时。组织可设置更低上限, 委派被拒绝时桌面端会显示当前限制。
验证与能力交集
父任务可请求独立模型验证,高风险写操作即使配置未要求也可能强制验证。验证最多请求两轮修订,但 不能替代测试、构建、静态检查、差异审查与人工验收。
Browser 与 Memory 始终由父任务拥有。子智能体只能获得父能力与配置上限的交集:Browser 调用使用 父任务准确审批和同一条有序的应用内页面;Memory 只能显式只读,绝不贡献新条目。子智能体不能选择 或关闭 Browser provider,父任务绑定 Chrome 时委派 Browser 会失败关闭。内置 explorer 两者都 没有。详见浏览器委派边界和记忆。