Claude Code 允许你定义自己的子代理——即 Markdown 文件,这些文件为 Claude 提供它可以委托的专家角色,拥有独立的系统提示词、工具访问权限和上下文窗口。机制很简单,但大多数“我的子代理不工作”的问题都源于文档中仅提及一次且人们容易忽略的三个细节:description(描述)字段是路由器,name(名称)冲突会导致文件被静默丢弃,而一个错误的 tools(工具)条目会完全阻止代理启动。
以下是整个系统的说明,已根据当前文档验证。
30 秒快速版
子代理是一个带有 YAML 前置元数据的 Markdown 文件:
---
name: code-improver
description: "扫描文件并针对可读性、性能和最佳实践提出改进建议。在编写或修改代码后使用。”
tools: Read, Grep, Glob
model: sonnet
---
你是一名代码审查专家。当给定文件时,分析其可读性、性能以及对最佳实践的遵守情况。报告具体的、最小化的建议,并附带文件:行号引用。
存放位置决定了谁可以使用它:
-
.claude/agents/在你的项目中 → 仅该项目使用(通常会被提交,以便团队共享) -
~/.claude/agents/→ 你机器上的所有项目
这两个位置都会被递归扫描,因此你可以将文件组织到子文件夹中,例如 agents/review/。子文件夹路径不会改变代理的识别方式——身份仅来自 name 字段,而非文件名或路径。
只有 name 和 description 是必需的。其他所有内容都是可选的。
委托仅仅是描述匹配
Claude 读取每个子代理的 description,并在任务与之匹配时决定进行委托。这就是整个路由机制。没有注册步骤,也没有配置开关——你的 description 的质量就是触发条件。
这意味着最常见的失败原因是将描述写得像标题一样:
# 永远不会被使用
description: 数据库专家
# 会被使用
description: 审查 SQL 查询和模式变更,查找缓慢模式、
缺失索引和迁移风险。当 SQL 或迁移文件发生变化时使用
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。
上一篇 :
谷歌对比必应对比布拉夫:搜索结果是否一致?
分享到:
长按或扫码识别 分享给好友