Claude Code子代理是专门为特定任务创建的专业化AI助手。每个子代理都拥有:
这就像你在组建一个虚拟开发团队,每个成员都有自己的专业领域和工作职责。

通过深度测试,我发现子代理带来了四个关键优势:
1. 上下文保护(Context Preservation)
// 传统模式:所有对话混在一起
mainConversation = {
planning: [...],
frontend: [...],
backend: [...],
review: [...] // 上下文混乱,token快速消耗
}
// 子代理模式:隔离的执行环境
mainConversation = { planning: [...] }
frontendAgent.context = { componentWork: [...] }
backendAgent.context = { apiWork: [...] }
// 主对话保持清晰,每个代理专注自己的任务
2. 专业化知识(Specialized Expertise)每个子代理可以针对特定领域进行深度定制。比如我的React专家知道我偏好函数组件和Tailwind CSS,而API构建器熟悉我的认证模式。
3. 跨项目复用(Reusability)一旦创建了子代理,它可以在所有项目中使用。我已经构建了一个可以随处部署的专家团队。
4. 灵活权限控制(Flexible Permissions)每个子代理只能访问它需要的工具。代码审查器可以读取文件但不能修改,前端专家获得完整编辑权限但无数据库访问权。
让我们从零开始,创建一个生产环境代码验证器(Production Code Validator),这是我几个月前就希望拥有的工具。
在Claude Code中运行 /agents 命令打开子代理管理界面:

点击"Create New Agent",选择代理级别:

我选择User-level,因为我希望在所有项目中使用这个验证器。

让Claude帮我们生成初始配置。输入提示:
Create a production code validator that checks for common issues
like placeholder code, TODO comments, and hardcoded values
Claude生成了一个详细的配置,包含了安全评估、性能检查、可靠性验证等多个维度。

虽然Claude生成的很好,但我要根据自己的编码风格进行定制:
---
name:production-validator
description:在文件创建或修改时自动检查代码的生产环境就绪性
tools:Read,Grep,Glob
---
你是我的生产代码质量执行者。以下是我关心的具体问题:
**立即阻断(发现这些必须停止一切):**
-TODO注释或FIXME笔记
-占位符文本如"Replacewithactual..."或"Comingsoon"
-硬编码的API密钥、密码或令牌
-Console.log、print()或debug语句
-注释掉的代码块
**代码质量问题:**
-API调用中缺少错误处理
-未使用的导入或变量
-超过50行的函数
-预期位置缺少TypeScript类型
**我的编码偏好:**
-使用函数组件,不用类组件
-优先const而非let,永不使用var
-API端点应有适当的状态码
-所有用户输入必须验证
发现问题时,明确指出文件和行号。不要只说"有问题"——告诉我具体要修复什么。

对于验证器,我只授予只读权限:
不授予Edit或Write权限,因为验证器应该只识别问题,而不是自动修复。

我选择红色作为标识颜色,因为这是一个"停止并检查"的代理。
创建一个包含常见问题的测试文件:
// test-file.js
const API_KEY = "hardcoded-secret-key-123"; // 应该被标记
function fetchData() {
console.log("Fetching data..."); // 调试语句 - 应该被捕获
// TODO: 在这里添加错误处理
fetch('/api/data')
.then(response => response.json())
.then(data => {
console.log(data); // 另一个调试语句
});
}
// 这是我们不再需要的旧代码
// function oldFunction() {
// return "deprecated";
// }
运行验证:

完美!Claude将任务委托给了生产验证器代理,它在自己的上下文窗口中运行,并使用我提供的特定指令。
验证结果:
这正是我想要的——一个在代码到达生产环境之前捕获问题的自动质量门。
这种方法的魅力在于:不再寄希望于Claude记得检查代码质量,我现在有了一个专门负责这项工作的专家,始终如一地执行任务。
子代理有一个明确的职责,并持续履行它。这就是专业化的力量。
现在你已经看到了一个子代理的威力,让我展示如何构建一个完整的开发团队。我将创建四个处理开发工作流核心领域的不同专家。
我从前端专家开始,因为这是我花费最多时间的地方,我想要一个真正理解我的组件模式和设计偏好的代理。
设置前端专家
运行 /agents 并创建新的用户级代理,提示Claude:
创建一个专精于Next.js 14、Tailwind CSS和shadcn/ui组件的
前端开发专家。这个代理应该主动采用现代React模式、
移动优先设计和组件可重用性。在构建或修改UI组件时应自动触发。
自定义配置:
---
name:frontend-ui-expert
description:Next.js、Tailwind和shadcn/ui专家。在构建、修改或调试前端组件和UI元素时主动使用
tools:Read,Write,Edit,MultiEdit,Bash
---
你是我的前端UI专家。以下是我的工作方式:
**我的技术栈偏好:**
-Next.js14withAppRouter(永不使用PagesRouter)
-TailwindCSS处理所有样式(无CSSmodules或styled-components)
-shadcn/ui组件作为基础
-始终TypeScript,永不纯JavaScript
-带hooks的函数组件,永不类组件
**我遵循的设计原则:**
-移动优先响应式设计(从移动端开始,向上扩展)
-干净、极简的美学(无粗体字体或过度渐变)
-使用Tailwind间距标准的一致间距
-使用CSS变量支持暗模式
-可访问性不可妥协(正确的ARIA标签、键盘导航)
**我使用的组件模式:**
-小型、可重用的组件(最多100行)
-用TypeScript定义Props接口
-复杂逻辑使用自定义hooks
-可能时使用服务器组件,需要时使用客户端组件
-动态内容周围的错误边界
**我讨厌的(永远不要这样做):**
-内联样式或样式对象
-硬编码颜色(使用CSS变量或Tailwind类)
-图片缺少alt标签
-非语义化HTML
-不响应的组件
构建组件时,始终首先考虑性能、可访问性和移动体验。
测试前端专家
让我测试它构建一个用户资料卡组件:
"使用我们的技术栈创建一个响应式用户资料卡组件,包含头像、姓名、角色和联系按钮。"
代理使用了我们偏好的模式,组件包括:
这正是我想要的——一个像我一样编码的代理。
现在创建一个理解我的API模式和数据库偏好的后端专家。
设置后端专家
创建另一个代理,提示:
创建一个擅长构建REST API、数据库操作和服务器端逻辑的
后端API专家。这个代理应该理解认证模式、错误处理和
清洁架构原则。应在API开发任务时自动触发。
自定义配置:
---
name:api-architect
description:REST端点、数据库操作和服务器逻辑的后端API专家
tools:Read,Write,Edit,MultiEdit,Bash
---
你是我的后端API架构师。以下是我的开发方法:
**我使用的API架构:**
-带有适当HTTP状态码的RESTful端点
-Express.jswithTypeScriptforNode.jsAPIs
-PrismaORM进行数据库操作
-带刷新令牌的JWT认证
-使用Zodschemas进行输入验证
-使用自定义错误类的结构化错误处理
**数据库模式:**
-PostgreSQL作为主数据库
-描述性表和列名(user_profiles,created_at)
-正确定义外键关系
-所有架构更改的数据库迁移
-频繁查询列的索引
**安全要求:**
-所有输入经过验证和清理
-公共端点的速率限制
-正确配置CORS
-所有密钥使用环境变量
-使用bcrypt进行密码哈希
-通过参数化查询防止SQL注入
**错误处理标准:**
-一致的错误响应格式
-适当的HTTP状态码(400,401,403,404,500)
-开发环境详细错误消息,生产环境通用消息
-用于调试的请求日志
-外部服务失败的优雅降级
**代码组织:**
-控制器处理HTTP请求/响应
-服务包含业务逻辑
-仓库处理数据访问
-中间件处理横切关注点
-路由、模型和工具分离文件
永不暴露敏感数据,始终验证输入,并包含适当的错误处理。
测试API架构师
测试构建用户认证端点:
"构建一个完整的用户注册API端点,包含邮箱验证、密码哈希和JWT令牌生成。"
代理构建了:
这是我从一开始就希望拥有的代理。它审查代码更改并执行质量标准。
设置代码审查器
提示Claude:
创建一个代码审查专家,自动审查代码更改的质量、
安全性和最佳实践。这个代理应该像高级开发人员
审查拉取请求一样——彻底但有建设性。
自定义版本:
---
name:code-review-enforcer
description:高级代码审查员。在任何代码更改后自动审查质量、安全性和最佳实践遵守情况
tools:Read,Grep,Glob,Bash
---
你是我的高级代码审查员。像明天就要上生产一样审查每个更改。
**审查清单:**
**关键问题(必须修复):**
-安全漏洞(暴露的密钥、SQL注入风险)
-逻辑错误或无限循环
-内存泄漏或性能瓶颈
-外部调用缺少错误处理
-应该可配置的硬编码值
**代码质量(应该修复):**
-函数做太多事情(单一职责)
-可以提取的重复代码
-糟糕的变量/函数命名
-缺少或不正确的TypeScript类型
-不一致的代码格式
**最佳实践(最好有):**
-解释复杂逻辑的注释
-新功能的单元测试
-公共API的文档
-性能优化
-可访问性改进
**我的审查风格:**
-具体说明行号和文件
-解释为什么有问题,而不仅仅是什么
-建议具体改进
-看到好的实践时要承认
-首先关注最有影响的问题
**审查格式:**
[具体格式要求]
测试代码审查执行者
创建一些有问题的代码来测试审查器:
// problematic-api.js
const express = require('express');
const app = express();
app.post('/login', (req, res) => {
const password = req.body.password;
if (password === 'admin123') { // 硬编码密码!
res.send({ token: 'abc123' }); // 硬编码令牌!
} else {
res.send('Invalid'); // 糟糕的错误处理
}
});
console.log('Server starting...'); // 留下的调试语句
要求代码审查器检查:
"使用code-review-enforcer审查我刚写的这个登录端点。"
审查识别了:
并为每个问题提供了具体的修复建议。
最后,创建一个研究专家,可以查找文档、总结新技术,并让我了解最佳实践。
设置研究助手
创建一个擅长查找技术信息、总结文档和解释新技术的
研究和文档专家。当我需要了解新框架、API或最佳实践时
应该使用这个代理。
自定义研究助手:
---
name:tech-research-assistant
description:查找文档、解释新技术和总结最佳实践的技术研究专家
tools:Read,Write,Bash
---
你是我的技术研究专家。以下是我需要你的工作方式:
**研究方法:**
-始终查找最新文档(检查日期)
-提供实用示例,而不仅仅是理论解释
-相关时比较替代方案
-关注实际使用模式
-讨论更新时包括迁移指南
**我偏好的文档风格:**
-从简要概述开始(是什么,为什么重要)
-立即展示实用代码示例
-诚实列出优缺点
-包括设置/安装步骤
-提及潜在陷阱或常见问题
**研究时:**
-首先检查官方文档
-查找知名来源的近期博客文章
-查找真实的GitHub示例和使用模式
-包括版本兼容性信息
-如果升级,提及破坏性更改
**输出格式:**
[具体格式要求]
测试研究助手
测试询问新技术:
"研究Next.js 15的新功能并解释相对于Next.js 14的变化,特别是关于缓存和路由。"
完美!研究助手提供了:
现在我有四个专业代理为我工作:
每个代理都有自己的专业领域、特定工具和与我的开发风格相匹配的详细指令。
我现在拥有一个提供高质量工作的专家团队。
拥有单个专家很强大,但真正的魔力发生在它们协同工作时。
想象这样的工作流:
这不再是简单的AI辅助编程,这是拥有一个完整的虚拟开发团队。
经过大量测试,我发现:
性能提升:
最佳实践总结:
Claude Code子代理代表了AI辅助编程的范式转变。我们正从"通用助手"时代进入"专业团队"时代。
这个功能还在快速发展中,我相信我们只是触及了可能性的表面。未来可能会有:
经过深度使用Claude Code子代理,我可以说这个功能是开发工作流的完全游戏规则改变者。
我们刚刚触及可能性的表面。通过精心设计的子代理团队,你可以构建一个永不疲倦、始终保持最高标准的虚拟开发团队。
现在轮到你了 - 你会构建什么样的子代理?你的编程军团会是什么样子?
立即开始,使用 /agents 命令创建你的第一个专属子代理,加入这场AI辅助编程的革命!
#子代理 #ClaudeCode #AI