子代理
OpenCowork 的 Task 子代理系统、内置 agent 和自定义 agent。
子代理 / Sub-Agents
子代理是 OpenCowork 用来处理“复杂但可独立拆分”的任务的方式。核心入口是 Task 工具,它会根据 subagent_type 启动一个专门的 agent。
子代理从哪里来? / Where do they come from?
OpenCowork 会在首次运行时把内置 agent 从 resources/agents/ 同步到:
~/.open-cowork/agents/之后 agents:list / agents:load 就会从这个目录读取用户可编辑的 .md 文件。
内置 agent / Built-in agents
当前仓库内置的 agent 定义包括:
api-designerarchitect-reviewercode-reviewercopywritercron-agentdata-analystdebuggerfrontend-developerfullstack-developermeeting-summarizerperformance-engineerrefactor-expertsecurity-auditortest-automatortranslator
Agent 文件格式 / File format
每个 agent 是一个 Markdown 文件,前面带 frontmatter,例如:
---
name: code-reviewer
description: 代码审查专家
icon: shield
allowedTools: [Read, Glob, Grep, LS, Bash]
maxTurns: 8
background: false
---
你是一个代码审查专家……常见字段
| 字段 | 作用 |
|---|---|
name | agent 名称,也是 subagent_type 候选值 |
description | 给 Task 工具展示的描述 |
icon | 侧边栏图标名 |
tools / allowedTools | 允许使用的工具列表 |
disallowedTools | 显式禁止的工具 |
maxTurns / maxIterations | 最大轮次 |
initialPrompt | 初始提示词前缀 |
background | 是否用于后台执行 |
model | 覆盖模型 |
temperature | 覆盖采样温度 |
systemPrompt | frontmatter 后面的正文 |
Task 工具怎么用? / How to use Task
{
"subagent_type": "code-reviewer",
"prompt": "请检查 src/main/index.ts 里的启动逻辑是否有明显问题",
"run_in_background": false
}Task 工具是统一入口:
subagent_type选 agentprompt说清楚要做什么run_in_background=true可以让它独立跑
custom 子代理 / custom sub-agent
当内置 agent 都不合适时,可以用 custom。它是一个通用 fallback:
- 使用默认系统提示词
- 工具范围更广
- 适合临时任务、研究任务和一次性委派
和团队的区别 / Difference from teams
- Sub-agent:单个专用 agent,偏“任务执行器”
- Team:多成员协作,有 lead / worker / message / task / snapshot 体系
这两个系统看起来相似,但不是一回事。
什么时候该用子代理? / When should you use one?
- 代码审查
- 架构分析
- 复杂重构
- 数据分析
- 定时任务撰写
- 文案生成
- 测试设计
- 安全审计
一句话:任务能清晰切片,就交给子代理。