用途:为 Claude Code 创建边界清晰的子代理。子代理是带 YAML frontmatter 加系统提示正文的 Markdown 文件,运行在独立上下文窗口,拥有自己的工具面。适用于需要可复用角色(审查者、探索者、规划者、受限工作者)、某工作流反复出现值得命名复用、或需为某类委派任务固定模型与限制工具的场景。一次性委派无需写文件,可用 fan-out 的 inline spawn 约定。
文件结构:项目级 ./.claude/agents/<name>.md 或用户级 ~/.claude/agents/<name>.md。frontmatter 含 name(连字符命名,与文件名一致)、description(做什么 + 何时委派,显式触发词驱动自动选择)、model(opus/sonnet/haiku,省略则继承会话模型)、tools(最小可用工具面,省略则继承全部),正文为系统提示,写明角色、精确范围、输出契约与硬边界。
编写流程:命名与意图;写委派描述,动作动词开头加“Use when ...”具体触发条件,描述模糊不会被自动选中;模型策略,推理/审查/调试/规划用 opus,读取类扫描可 sonnet/haiku 或继承;工具最小化,默认只读(Read、Grep、Glob、Bash),仅对拥有独立写入面的 worker 加 Edit、Write;系统提示写明角色、范围、返回契约(状态、带 file:line 的证据、运行的命令、发现与置信度、风险)和硬边界;写入后用 /agents 或 Task 工具(subagent_type: <name>)冒烟测试确认加载并返回契约形状。
范围:项目级提交并随仓库共享,仅该项目可用;用户级跨项目可用。同名时项目代理遮蔽用户代理。
限制与故障处理:从不被自动委派多为描述过弱,需补显式“Use when”与触发关键词;越权编辑需收紧 tools 与范围;结果不一致可固定 model 并指定返回契约;两个代理争抢同一工作应合并或明确职责;worker 覆盖他人编辑需强制互斥写入面,默认只读。