Claude代码子代理集合是一个开源项目,它提供了一系列专门为Claude Code设计的AI子代理(subagents),旨在通过引入具备特定领域知识的专家来增强开发工作流程。这个集合包含多种子代理,每个代理都在特定领域具备专业知识,可以根据上下文自动调用,或者在需要时由用户明确指定。这些子代理覆盖了软件开发的多个方面,包括后端架构设计、前端开发、数据库优化、代码审查、安全性审计以及多种编程语言的专业支持。通过将任务委托给最合适的专家代理,开发者可以更高效地解决复杂问题,提升代码质量和开发速度。该项目不仅提供了预设的子代理,还允许用户根据自己的需求创建和贡献新的子代理,从而形成一个不断扩展和完善的开发工具生态。
功能列表
- 自动调用:Claude Code能够根据任务需求、关键字、文件类型或错误信息,自动选择并调用最合适的子代理。
- 显式调用:用户可以通过自然语言指令,明确要求使用特定的子代理来处理任务,例如“使用
code-reviewer
检查我最近的修改”。 - 领域专家:提供覆盖多个技术领域的子代理,包括但不限于:
- 开发与架构:如
backend-architect
(后端架构师)、frontend-developer
(前端开发者)、mobile-developer
(移动开发者)等。 - 编程语言专家:如
python-pro
(Python专家)、golang-pro
(Go专家)、rust-pro
(Rust专家)等。 - 基础设施与运维:如
devops-troubleshooter
(运维问题排查专家)、deployment-engineer
(部署工程师)、cloud-architect
(云架构师)等。 - 质量与安全:如
code-reviewer
(代码审查员)、security-auditor
(安全审计员)、test-automator
(测试自动化工程师)等。 - 数据与AI:如
data-scientist
(数据科学家)、ai-engineer
(AI工程师)、ml-engineer
(机器学习工程师)等。 - 特定领域:如
api-documenter
(API文档编写员)、payment-integration
(支付集成专家)、blockchain-developer
(区块链开发者)等。 - 加密货币交易:提供
crypto-trader
(加密货币交易员)、defi-strategist
(DeFi策略师)等一系列专家。
- 开发与架构:如
- 可扩展性:用户可以按照指定的格式创建自己的子代理,以满足特定的项目需求,并可以向该项目贡献新的子代理。
- 简单的安装和配置:只需将仓库克隆到本地,并将子代理的
.md
文件复制到Claude Code的指定目录即可完成安装。
使用帮助
这个项目的核心是扩展Claude Code的能力,把它从一个通用的AI助手,转变为一个由多个专家组成的协同团队。每个子代理都是一个独立的配置文件(Markdown格式),其中定义了该代理的角色、专长和行为。当用户与Claude Code交互时,系统会智能地判断当前任务最适合由哪个专家来处理,然后将任务委托给它。
安装流程
- 前提条件:
- 你需要在本地安装并配置好Claude Code。
- 你需要能够访问存放Claude Code代理配置文件的目录,通常是
~/.claude/agents/
。
- 克隆仓库:
打开终端或命令行工具,使用git
命令克隆该项目的代码仓库:git clone https://github.com/davepoon/claude-code-subagents-collection.git
- 进入项目目录:
cd claude-code-subagents-collection
- 复制子代理文件:
将所有的子代理配置文件(.md
文件)复制到Claude Code的代理目录中。根据你的操作系统,使用以下相应的命令:- macOS/Linux:
cp *.md ~/.claude/agents/
- Windows:
copy *.md %USERPROFILE%\.claude\agents\
- macOS/Linux:
- 验证安装:
你可以通过列出代理目录中的文件来确认文件是否已成功复制:ls ~/.claude/agents/
或者在Windows上使用
dir %USERPROFILE%\.claude\agents\
。你应该能看到所有复制过去的.md
文件。 - 重启Claude Code:
为了让Claude Code加载这些新的子代理,你需要重启它。
操作方法
安装完成后,你就可以在日常开发中利用这些子代理了。主要有两种使用方式:
1. 自动调用
这是最常见也是最方便的使用方式。你只需要像往常一样向Claude Code提出你的需求,它会根据你的描述自动选择最合适的子代理来执行任务。
- 场景示例:
- 当你写完一个新的用户认证功能后,你只需告诉Claude:“我刚刚实现了用户认证功能”。Claude会检测到这是新代码,并可能自动调用
code-reviewer
来审查代码的质量和可维护性,同时调用security-auditor
来检查是否存在安全漏洞。 - 如果你在运行代码时遇到一个错误,比如“我的React组件出现了
TypeError
”,Claude会自动调用debugger
来帮助你分析和定位问题。 - 当你发现某个数据库查询很慢时,你可以说:“这个查询运行得很慢”。Claude会调用
database-optimizer
来分析查询语句,并给出优化建议。
- 当你写完一个新的用户认证功能后,你只需告诉Claude:“我刚刚实现了用户认证功能”。Claude会检测到这是新代码,并可能自动调用
2. 显式调用
在某些情况下,你可能想直接指定某个专家来处理特定任务。这时,你可以在提问时明确指出要使用的子代理。
- 场景示例:
- 代码审查:“让
code-reviewer
检查一下我最近的提交。” - 安全审计:“请
security-auditor
审查一下这段身份验证代码。” - 性能优化:“让
performance-engineer
来优化这个函数。”
- 代码审查:“让
创建你自己的子代理
如果你觉得现有的子代理不能满足你的需求,你完全可以创建自己的子代理。
- 创建文件:
在你的项目目录或者~/.claude/agents/
目录下,创建一个新的Markdown文件,文件名应该是your-agent-name.md
,例如my-database-expert.md
。 - 编写配置文件:
文件内容需要遵循特定格式,包含一个frontmatter
头部和一个系统提示(system prompt)。--- name: your-subagent-name description: A clear description of when this subagent should be invoked. tools: tool1, tool2 # 可选,限制该代理能使用的工具 --- This is the system prompt. You are a helpful assistant specializing in...
name
: 子代理的唯一标识符,使用小写字母和连字符。description
: 清晰地描述这个子代理的用途,这是Claude进行自动调用的关键依据。tools
(可选): 指定该代理可以使用的工具,如读写文件等。- System Prompt: 详细定义该代理的角色、能力、行事风格和专业知识。你应该在这里提供具体的指令和例子,告诉它该如何行动。
应用场景
- 新功能开发
当一个团队开始开发一项新功能时,可以依次或并行地使用多个子代理。首先,可以调用backend-architect
来设计API接口和数据模型。然后,让frontend-developer
根据设计稿实现前端界面。在开发过程中,随时可以请code-reviewer
对代码进行审查,最后由test-automator
创建自动化测试用例,确保功能的稳定。 - 系统性能优化
当线上应用出现性能瓶颈时,可以使用performance-engineer
来定位代码中的性能问题。如果问题出在数据库,可以进一步使用database-optimizer
来分析慢查询并优化索引。如果是云资源配置不当,cloud-architect
可以提供成本和性能优化的建议。 - 紧急故障排查
生产环境出现紧急问题时,devops-troubleshooter
可以帮助分析日志、监控数据,快速定位问题根源。如果发现是代码中的一个Bug,debugger
可以协助开发者深入代码进行调试和修复。 - 遗留系统现代化
对于老旧的项目,legacy-modernizer
可以提供重构方案,帮助开发者逐步将过时的代码库迁移到现代技术栈。它可以分析现有代码结构,提出改进建议,并生成部分重构后的代码。
QA
- 问:这些子代理是如何被Claude Code调用的?
答:调用分为两种方式。第一种是自动调用,Claude Code会根据你的请求内容、上下文、文件类型等信息,智能地判断应该使用哪个子代理。例如,当你提到“数据库查询”时,它可能会自动调用database-optimizer
。第二种是显式调用,你可以直接在请求中指定,例如:“让security-auditor
检查这段代码”。 - 问:如果我安装了多个功能相似的子代理,Claude会如何选择?
答:Claude的选择主要依赖于子代理配置文件中的description
字段。描述得越清晰、越具体,Claude就越能准确地选择最合适的代理。如果描述过于模糊或重叠,可能会导致选择不准确。因此,为自定义的子代理编写清晰的描述非常重要。 - 问:我是否可以组合使用多个子代理来完成一个复杂任务?
答:是的,这是Claude Code的强大之处。Claude可以自动编排多个子代理协同工作。例如,一个完整的开发流程可能是:backend-architect
设计架构 ->python-pro
编写代码 ->code-reviewer
审查代码 ->security-auditor
进行安全检查 ->deployment-engineer
负责部署。整个过程可以由Claude在后台自动协调。