# 第十阶段 · 模块十 · 第四节:高级技巧
Claude Code 有哪些高级技巧?如何使用多模型协作?如何开发自定义技能?
Claude Code 全局架构
┌─────────────────────────────────────────────────────────────────────┐
│ 实战案例 │
│ │
│ 高级技巧 ← 最后一节 │
│ ├── 多模型协作 │
│ ├── 自定义技能 │
│ └── 工作流自动化 │
└─────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ 高级功能 │
│ │
│ ├─ 多模型协作 ──> 并行处理复杂任务 │
│ ├─ 自定义技能 ──> /skill-name 按需调用 │
│ ├─ 工作流自动化 ──> Hooks 事件驱动 │
│ └─ 团队协作 ──> 多 Agent 分工 │
└─────────────────────────────────────────────────────────────────────┘
// 普通技巧的限制:
// 1. 单模型处理
// - 一个模型处理所有任务
// - 可能不够专业
// 2. 手动调用
// - 每次都要输入完整指令
// - 重复工作
// 3. 缺乏上下文
// - 每次对话独立
// - 不记得之前的学习
问 1:什么时候应该使用高级技巧?
// 使用高级技巧的场景:
// 1. 复杂任务
// - 需要多个专业领域
// - 任务可以并行
// 2. 重复任务
// - 每次都要做
// - 可以自动化
// 3. 团队协作
// - 多个人使用同一流程
// - 需要标准化
源码位置:`src/components/agents/generateAgent.ts`
// Claude Code 支持创建专业 Agent
// Agent 定义:
{
identifier: string, // Agent 标识符
whenToUse: string, // 使用场景
systemPrompt: string, // 系统提示词
}
// 使用 Agent 工具调用
const result = await agent('expert-code-reviewer', {
code: '要审查的代码'
})
// 使用 Agent 工具并行执行多个任务
// 示例:
// 同时运行三个审查 Agent
agent('code-reviewer', { code }) // 审查代码质量
agent('security-reviewer', { code }) // 审查安全性
agent('performance-reviewer', { code }) // 审查性能
问 1:多模型协作的优势?
// 优势:
// 1. 并行处理
// - 多个 Agent 同时工作
// - 速度更快
// 2. 专业分工
// - 每个 Agent 专注一个领域
// - 深度更好
// 3. 结果汇总
// - 多个视角
// - 更全面
源码位置:`src/skills/bundled/simplify.ts`
// 注册技能
registerBundledSkill({
name: 'simplify',
description: 'Review changed code for reuse, quality, and efficiency.',
userInvocable: true,
async getPromptForCommand(args) {
let prompt = SKILL_PROMPT
if (args) {
prompt += `\n\n## Additional Focus\n\n${args}`
}
return [{ type: 'text', text: prompt }]
},
})
.claude/
└── skills/
└── my-skill/
├── SKILL.md # 技能定义
└── scripts/ # 可选脚本
└── run.sh
问 1:如何创建自定义技能?
// 创建步骤:
// 1. 创建目录
mkdir -p .claude/skills/my-skill
// 2. 创建 SKILL.md
// - name: 技能名称
// - description: 技能描述
// - prompt: 技能提示词
// 3. 使用技能
claude /my-skill
// Hook 事件列表
// 工具执行
PreToolUse // 工具执行前
PostToolUse // 工具执行后
PostToolUseFailure // 工具执行失败
// 会话生命周期
SessionStart // 会话开始
SessionEnd // 会话结束
// 文件操作
FileChanged // 文件变更
CwdChanged // 工作目录变更
// 任务
TaskCreated // 任务创建
TaskCompleted // 任务完成
# .claude/hooks.json
{
"hooks": [
{
"event": "PostToolUse",
"match": "Write",
"command": "prettier --write ${path}"
}
]
}
问 1:Hook 和 Skill 的区别?
// Hook = 事件触发,Claude 无法跳过
// Skill = 手动调用,Claude 可以选择
// Hook 示例:
// - 每次 Write 后自动格式化
// - 无法跳过
// Skill 示例:
// - /verify 运行完整测试
// - 可以选择是否运行
// 常见自动化场景:
// 1. 编码后格式化
// - PostToolUse: Write
// - prettier --write ${path}
// 2. 编码后测试
// - PostToolUse: Write
// - npm test
// 3. 提交前检查
// - PreCommit
// - npm run lint && npm run test
# CLAUDE.md
## 开发流程
1. 编写代码后运行 `/verify`
2. 提交前运行 `/test`
3. 代码审查运行 `/review`
问 1:如何设计高效的自动化流程?
// 设计原则:
// 1. 快速反馈
// - 自动化应该在几秒内完成
// - 超过 10 秒考虑跳过
// 2. 原子化
// - 每个 Hook 只做一件事
// - 便于调试
// 3. 可跳过
// - Hook 无法跳过
// - 如果需要跳过,考虑用 Skill
// 团队共享的技能
// 位置:.claude/skills/
// 所有团队成员都可以使用
// 示例:
// - /deploy 部署流程
// - /test-all 全量测试
// - /security-check 安全检查
// 团队共享的 Hooks
// 位置:.claude/hooks.json
// 所有团队成员都必须遵守
// 示例:
// - 提交前必须通过 lint
// - 提交前必须通过测试
问 1:如何确保团队遵循规范?
// 方法:
// 1. Hooks 强制执行
// - 无法跳过
// - 必须遵守
// 2. 技能标准化
// - 团队共享
// - 文档化
// 3. 代码审查
// - Pull Request 必须审查
// - 审查时检查规范
// 减少上下文的方法:
// 1. 使用 /compact
// - 压缩对话历史
// - 释放上下文
// 2. 使用 /clear
// - 清空对话
// - 全新开始
// 3. 分割任务
// - 大任务拆小
// - 避免上下文溢出
// 并行执行:
// 1. Agent 并行
// agent('task1', {...})
// agent('task2', {...})
// await Promise.all([task1, task2])
// 2. 工具并行
// - 使用数组批量操作
// - 减少往返
问 1:如何优化 Claude Code 性能?
// 优化方法:
// 1. 减少不必要的调用
// - 合并多个操作
// - 使用批量工具
// 2. 使用缓存
// - 避免重复读取
// - 缓存结果
// 3. 选择合适的模型
// - Haiku 更快
// - Opus 更智能
# 快速初始化
claude --init
# 快速审查
claude /review
# 快速简化
claude /simplify
# 调试模式
claude --debug
# 从文件读取
claude < file.txt
# 输出到文件
claude --print "你的问题" > output.txt
# 管道
cat file.txt | claude "解释这段代码"
问 1:如何提高 Claude Code 使用效率?
// 效率技巧:
// 1. 清晰的指令
// - 具体说明要什么
// - 提供上下文
// 2. 分解任务
// - 大任务拆小
// - 逐步完成
// 3. 善用工具
// - /simplify 代码审查
// - /review 代码审查
// - /init 项目初始化
┌─────────────────────────────────────────────────────────────────────┐
│ Claude Code 源码剖析课程总结 │
│ │
│ ✓ 架构:三层架构、入口点、查询引擎 │
│ ✓ 工具系统:Read/Write/Bash/Grep │
│ ✓ 命令系统:斜杠命令、内置命令 │
│ ✓ 上下文管理:压缩、限制、优化 │
│ ✓ 插件架构:注册、生命周期 │
│ ✓ Hooks 系统:事件驱动自动化 │
│ ✓ MCP 协议:外部工具集成 │
│ ✓ 调试与日志:日志系统、调试模式 │
│ ✓ 高级主题:多模态、思维链、代码索引 │
│ ✓ 实战技巧:初始化、重构、Bug修复、高级技巧 │
└─────────────────────────────────────────────────────────────────────┘
// 建议的下一步:
// 1. 深入特定模块
// - 阅读源码
// - 理解实现细节
// 2. 贡献开源
// - 提交 PR
// - 参与社区
// 3. 构建自己的工具
// - 使用 SDK
// - 集成到 Claude Code
答案:
// 选择 Hook:
// - 需要强制执行
// - 每次工具调用都要运行
// - 快速简单
// 选择 Skill:
// - 可以选择是否运行
// - 复杂的流程
// - 需要用户提供额外信息
答案:
// 构建团队知识库:
// 1. CLAUDE.md
// - 项目规范
// - 架构说明
// 2. 团队技能
// - /deploy 部署流程
// - /test-all 全量测试
// - /security-check 安全检查
// 3. 团队 Hooks
// - 提交前格式化
// - 提交前测试
答案:
// 持续提升方法:
// 1. 多用多练
// - 日常开发中使用
// - 尝试新功能
// 2. 阅读文档
// - 官方文档
// - 源码注释
// 3. 参与社区
// - Discord
// - GitHub Issues
// 4. 分享经验
// - 写博客
// - 给同事培训
恭喜你完成了 Claude Code 源码剖析 全部 44 节课程!
┌─────────────────────────────────────────────────────────────────────┐
│ │
│ 📚 小学子 ✨ │
│ │
│ 感谢你的学习! │
│ │
│ 如果觉得有用,欢迎分享给需要的朋友。 │
│ │
│ 博客:https://www.g-learning.cn/ │
│ │
└─────────────────────────────────────────────────────────────────────┘
*- 第一轮:✓ 事实准确性*
*- 第二轮:✓ 深度与洞见*
*- 第三轮:✓ 可读性与价值*
*🎉 课程完成!*