5 分钟学会 Claude Code Skills & Subagents:让 AI 成为你的自动化助手

🎯 引言:为什么需要自动化助手?

想象你在编程时遇到这些场景:

  • ❓ “这个 API 设计符合 RESTful 规范吗?”
  • 🔍 “帮我审查这段代码有没有安全漏洞”
  • 📝 “根据代码自动生成 API 文档”
  • ✅ “为这个函数写单元测试”

传统方式:你需要反复告诉 AI 该遵循什么标准、检查哪些要点、输出什么格式。每次都从零开始,效率低下。

Claude Code Skills & Subagents 就像给 AI 配备了:

  • 📚 Skills(技能):一个自动翻开的知识库 – AI 自己知道该查什么标准
  • 🤖 Subagents(子助手):专职助理 – 一句话完成复杂任务,保证质量

核心价值一次配置,永久复用。告别重复劳动!


🧩 核心概念:Skills vs Subagents

用一个类比理解

Skills = 图书馆的自动索引系统

  • 你问:”REST API 应该怎么设计?”
  • AI 自动查阅《API 设计规范》这本书,给你答案
  • 你不需要告诉它去查书,它自己知道

Subagents = 专职项目助理

  • 你说:”Use code-reviewer,审查这段代码”
  • 助理接手任务,从头到尾完成:检查规范、发现问题、提供建议
  • 你需要明确叫它的名字,但它会自动完成所有步骤

核心区别对比表

维度 Skills(技能) Subagents(子助手)
激活方式 🟢 自动(AI 判断) 🔵 显式调用(你喊名字)
功能定位 提供知识/标准 执行复杂任务
使用场景 回答”怎么做” 帮你”做完它”
上下文 共享主对话 独立上下文
适用任务 咨询、指导 生成、审查、分析

举例说明

Skill 示例(自动激活)

你:"RESTful API 应该怎么设计 URL?"
→ code-standards skill 自动激活
→ AI:"根据 RESTful 规范,资源 URL 应使用名词复数形式..."

特点:你只是问了个问题,AI 自己找到相关知识。


Subagent 示例(显式调用)

你:"Use code-reviewer to check this function for security issues"

code-reviewer 执行:
1. 扫描代码(SQL 注入、XSS、敏感信息泄露)
2. 检查最佳实践(错误处理、输入验证)
3. 生成详细报告(问题 + 修复建议 + 代码示例)

特点:一句话触发,全流程自动化,输出标准化。


🚀 3 分钟快速上手

测试 1:体验 Skill 自动激活(最简单)

直接问这个问题

"Python 函数命名有什么规范?"

会发生什么

  • code-standards Skill 自动激活(如果已配置)
  • ✅ AI 回答:”根据 PEP 8 规范,函数名应使用小写字母和下划线…”
  • 你无需任何特殊操作,就像正常对话

关键点:Skill 是隐形的,你感觉不到它的存在,但它让 AI 的回答更专业、一致。


测试 2:显式调用 Subagent(需要喊名字)

输入这个命令

"Use code-reviewer to explain what you can check for me"
(让代码审查助手介绍自己能做什么)

会发生什么

  • code-reviewer Subagent 被激活
  • ✅ 它会详细列出能检查的内容:
    • 代码规范(命名、格式)
    • 安全漏洞(SQL 注入、XSS)
    • 性能问题(N+1 查询、内存泄漏)
    • 最佳实践(错误处理、日志)

关键点:必须用 "Use [subagent-name] to ..." 格式显式调用。


测试 3:查看可用功能

输入命令

/agents

会显示

可用 Subagents:
- code-reviewer(代码审查)
- doc-generator(文档生成)
- test-writer(测试生成)

关键点:忘记名字了?用 /agents 随时查看。


💼 实战案例

案例 1:自动化代码审查

场景

你写了一个用户登录函数,想检查有没有安全问题。

传统方式(低效)

你:"帮我审查这个登录函数"
AI:"好的,请提供代码"
你:"[贴代码]"
AI:"这个函数有 SQL 注入风险"
你:"怎么修复?"
AI:"使用参数化查询"
你:"给个示例"
AI:"[示例代码]"
你:"还有其他问题吗?"
AI:"密码没有加密存储"
你:"怎么加密?"
AI:"..."

来回 6-8 次对话,耗时 10+ 分钟


使用 Subagent(高效)

你:"Use code-reviewer to check this login function

def login(username, password):
    query = f'SELECT * FROM users WHERE name={username}'
    user = db.execute(query)
    if user and user.password == password:
        return create_session(user)
    return None
"

code-reviewer 输出:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔴 严重问题(2 个)

1. SQL 注入风险(第 2 行)
   问题:使用 f-string 拼接 SQL,攻击者可输入 `' OR '1'='1`
   修复:使用参数化查询

   建议代码:
   query = 'SELECT * FROM users WHERE name = ?'
   user = db.execute(query, (username,))

2. 明文密码比对(第 4 行)
   问题:密码应加密存储,使用 bcrypt/argon2 哈希
   修复:密码哈希验证

   建议代码:
   import bcrypt
   if bcrypt.checkpw(password.encode(), user.password_hash):
       ...

🟡 次要问题(1 个)

3. 缺少错误处理
   建议:添加 try-except 捕获数据库异常

✅ 最佳实践建议
- 添加登录失败次数限制(防暴力破解)
- 记录登录日志(安全审计)
- 使用 HTTPS(防中间人攻击)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

一次调用,完整报告,耗时 30 秒!


案例 2:从代码自动生成文档

场景

你写了一个 API 模块,需要生成 API 文档。

使用 Subagent

你:"Use doc-generator to create API documentation from this code

class UserAPI:
    def get_user(self, user_id: int) -> dict:
        '''获取用户信息'''
        return db.query(User).filter(User.id == user_id).first()

    def create_user(self, name: str, email: str) -> dict:
        '''创建新用户'''
        user = User(name=name, email=email)
        db.add(user)
        db.commit()
        return user
"

doc-generator 输出:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. User API 文档

## 端点列表

### GET /users/{user_id}
获取指定用户的详细信息

**路径参数**:
- `user_id` (integer, required): 用户唯一标识符

**响应示例**:
```json
{
  "id": 123,
  "name": "张三",
  "email": "[email protected]"
}

状态码

  • 200: 成功
  • 404: 用户不存在

POST /users

创建新用户账户

请求体

{
  "name": "string (required)",
  "email": "string (required, format: email)"
}

响应示例

{
  "id": 124,
  "name": "李四",
  "email": "[email protected]"
}

状态码

  • 201: 创建成功
  • 400: 请求参数错误
  • 409: 邮箱已存在 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

自动提取代码细节,生成规范文档,可直接交付!


❓ 常见问题解答

Q1: 我什么时候该用 Skill,什么时候用 Subagent?

简单判断

  • 💬 只是咨询 → 不用管,Skill 自动帮你

    • “这个设计模式怎么用?”
    • “Python 异步编程有什么坑?”
  • 🎯 要完成任务 → 显式调用 Subagent

    • “审查这段代码”
    • “生成 API 文档”
    • “写单元测试”

经验法则:问问题用 Skill,干活用 Subagent。


Q2: 怎么知道 Skill 有没有激活?

通常你不需要知道,就像用 Google 搜索不关心它用了什么算法。

如果好奇,AI 会在回答中提及:

"根据 code-standards skill 的指导,函数命名应该..."

Q3: Subagent 名字太多记不住怎么办?

两个办法

  1. 用命令查看

    /agents

    显示所有可用助手

  2. 直接问 AI

    "你有哪些 Subagent 可以用?"

Q4: Subagent 做错了能改吗?

当然可以,对话式改进:

你:"Use code-reviewer to check this code"
AI:[生成报告]
你:"漏掉了性能检查,再补充一下"
AI:[补充性能分析]
你:"把建议改成中文"
AI:[重新输出中文版]

Subagent 输出是起点,不是终点。


Q5: 这会影响性能吗?

Skills

  • 按需加载,只有相关时才消耗 token
  • 几乎无性能影响

Subagents

  • 独立上下文,不污染主对话
  • 首次启动有轻微延迟(<1 秒)
  • 长会话中反而提升性能(避免上下文膨胀)

结论:收益远大于成本。


🎓 总结与下一步

核心要点回顾

Skills = 自动知识库

  • 你问问题,AI 自动查阅标准
  • 无需特殊操作,自然对话即可

Subagents = 专职助手

  • "Use [name] to ..." 显式调用
  • 一句话触发,全流程自动化
  • 保证输出质量和一致性

配合使用威力倍增

  • Subagents 自动加载相关 Skills
  • 执行任务时自动应用领域知识

立即开始使用

第 1 步:查看可用功能

/agents

第 2 步:测试一个简单 Subagent

"Use code-reviewer to explain what you can check"

第 3 步:在实际工作中使用

"Use code-reviewer to check [你的代码]"
"Use doc-generator to create docs from [你的代码]"

进阶学习

如果你想:

  • 📝 创建自己的 Skills
  • 🤖 定制专属 Subagents
  • 🔧 高级配置和优化

可以查阅 Claude Code 官方文档:


最后的话

Skills 和 Subagents 不是复杂的技术,而是让你更高效的工具。

就像学会使用 IDE 的快捷键一样,一开始可能不习惯,但一旦掌握,你会惊讶于节省的时间。

不要想太多,现在就试试吧! 🚀


文章结束

有问题?试试问 Claude:

"关于 Skills 和 Subagents,我还有个疑问..."

祝你编程愉快!💻✨

发表回复

Your email address will not be published. Required fields are marked *.

*
*