Subagent 与 Skills
Subagent 的角色
ClawGo 不是只让一个 agent 自言自语。它通过 agents.subagents 把角色拆成多个执行单元。
示例角色通常包括:
main: 编排与汇总coder: 编码执行tester: 测试与回归
从 config.example.json 可以看出,每个 subagent 都有独立:
roledisplay_namesystem_prompt_filememory_namespacetools.allowlistruntime参数
运行模式
Subagent 主要有两类:
本地 subagent
由本地 provider 和本地工具直接执行。
远端 node-backed branch
通过:
json
{
"transport": "node",
"node_id": "edge-dev",
"parent_agent_id": "main"
}挂到主拓扑里,成为一个受控远端分支。
Subagent 工具权限
每个 subagent 可配置:
tools.allowlisttools.denylisttools.max_parallel_calls
这比“全局给所有工具”更适合工程场景,例如:
main只负责路由、会话、记忆查询coder才有文件和 shell 能力tester多拿 process manager
notify_main_policy
示例配置里能看到:
final_onlyon_blockedinternal_only
这决定子代理在什么时机把状态回传给主代理。
Profile 化管理
WebUI 里有 SubagentProfiles 页面,对应后端的 profile store。它解决的是“运行期可维护的 subagent 模版”问题,而不只是静态配置。
可管理项包括:
agent_idnamenotify_main_policyrolesystem_promptsystem_prompt_filetool_allowlistmemory_namespacemax_retriesretry_backoff_msmax_task_charsmax_result_charsstatus
Skills 的作用
Skill 是放在 workspace 或全局目录中的可复用能力包,通常以 SKILL.md 为入口说明。
当前代码中 loader 会从多个位置加载 skills:
- workspace skills
- global skills
- builtin skills
仓库自带的 workspace skills 包括:
tmuxcoding-agenthealthcheckclawhubcontext7githubclawgo-node-childskill-creator
Skills CLI
命令层支持:
skills listskills installskills removeskills searchskills show
安装器支持从 GitHub 安装 skill。
需要注意的一点
当前 skills install-builtin 代码中硬编码的默认 builtin 列表还是 weather/news/stock/calculator,但仓库现有 workspace skills 已明显不是这一套。文档和帮助信息在这一点上与代码现状有偏差,使用时应优先检查实际目录与 loader 逻辑。
推荐实践
- 用
main作为总控,只暴露少量安全工具 - 把高风险执行集中给
coder/tester - 所有角色都用
system_prompt_file管理,而不是直接把 prompt 写死在 JSON 里 - 将 memory namespace 与 agent role 对齐,方便后续检索与审计
- 对远端 node 分支设置清晰的
parent_agent_id