子智能体构建器
定义一个子智能体——触发条件、工具和模型——然后把文件带走。
智能体提示词写着你们团队怎么评审、怎么开发。文件在浏览器里生成,不会上传。
限制它能执行的范围
关于 子代理构建器
子智能体是一个独立的上下文,有自己的说明、自己的工具,常常还有自己的模型——它有用,恰恰因为它读到的东西不会涌进主对话。有两个字段决定这份隔离值不值得。描述促成工作被委派出去,而且要和你定义过的所有其他智能体竞争,所以含混的描述要么从不触发,要么不停触发。工具列表则是让一个窄用途的智能体保持窄用途最便宜的办法:只能读和搜的智能体,不会跑去改文件。这个构建器写出文件,并把两者都查一遍——包括那个最容易被忽略的组合:能写却不能读。
功能特性
- 检查描述里有没有促成委派的语句
- 工具从真实列表中勾选,而不是凭记忆输入
- 带命名空间的 MCP 工具与内置工具一并接受
- 智能体能写文件却不能读时发出警告
- 按"什么时候值得"来解释模型的选择
- 项目范围或个人范围,并给出对应路径
- 继承模型时不写出该字段
- 下载为可直接使用的 .md 文件
如何使用 子代理构建器
- 给智能体命名,并写清何时该把工作交给它
- 只勾选它真正需要的工具
- 选一个模型,或让它继承会话的
- 写好系统提示词,下载文件
示例
输入
tools: [Read, Grep, Glob]
输出
description: Checks a database migration for problems that only show up in production. Use proactively whenever a migration file is added.
"在……之后主动使用",才让一个智能体不必被点名就动起来。
常见错误与故障排除
- 从来没有工作被委派给这个智能体。 — 描述必须说清何时,而不只是做什么。加上"当……时使用"或"在……之后主动使用"通常就够了。
- 两个智能体老是被弄混。 — 它们的描述重叠了。让每一条点明一个不同的情境,而不是一个不同的主题。
- 某个工具名被标为未知。 — 工具名区分大小写且首字母大写:是 Read,不是 read。MCP 工具用 mcp__服务器__工具 的写法,会按原样接受。
- 智能体改了我没料到的东西。 — 给它更窄的工具列表。没有 Write 和 Edit 的智能体,无论提示词怎么写都改不了任何东西。
常见问题
- 什么时候用子智能体比直接做更好?
- 当工作是"读很多、产出很少"时:翻代码库、检查大量文件、做调研。它读到的一切都留在它自己的上下文里。这也是让它以比主会话更窄的工具集运行的办法。
- 子智能体该用哪个模型?
- 继承是个不错的默认。以核对为主、判断较少的机械性工作,用更快更便宜的模型划算;需要判断力的工作则用更强的。取舍就写在每个选项旁边。
- 工具是不是总该收窄?
- 收窄成本低且可逆,是让专注的智能体保持专注最可靠的办法——比在提示词里请求要可靠得多。留空则继承一切,这对通用型智能体没问题。
- 项目范围还是个人范围?
- 项目范围会把智能体随仓库一起管理,团队每个人拿到的都一样。个人范围则跨项目跟着你走。路径会随选择更新。
- 这和技能有什么不同?
- 技能是往当前上下文里加说明。子智能体是在别处运行,带着自己的上下文和工具,然后汇报回来。想改变某件事怎么做,用技能;想把这件事的过程移出你的对话,用子智能体。
相关工具
- 技能构建器 — 编写 SKILL.md,边输入边检查 frontmatter。
- 斜杠命令构建器 — 构建自定义命令,带参数与工具白名单。
- 权限规则测试器 — 用真实命令测试允许、询问与拒绝规则。
- 钩子构建器 — 构建 settings.json 钩子,找出永远不会触发的匹配式。
- 项目说明构建器 — 写一份对得起每次请求开销的 CLAUDE.md。
- 技能检查器 — 粘贴 SKILL.md,看清是什么让它无法与任务匹配。
更多AI 与智能体工具
查看全部AI 与智能体工具 · 全部工具