Claude Code开发工具
Claude Code 深度使用
·约 6 分钟阅读
Claude Code 是 Anthropic 官方的 AI 编程助手——一个在终端中运行的 Agent,可以读写文件、执行命令、搜索代码。本文深入讲解 Claude Code 的高级功能:MCP 配置、Sub-Agent、Hooks、Skills 和最佳工作流。
你将学到什么
- Claude Code 的架构和核心机制
- MCP Server 配置
- Sub-Agent 多智能体协作
- Hooks 自动化
- 高效使用 Claude Code 的技巧
Claude Code 架构
Claude Code 本质是一个运行在终端中的 Agent Loop:
用户输入 → Claude 思考 → 选择工具 → 执行(读/写/运行) → 观察结果 → 继续或回复
内置工具:
Read/Write/Edit— 文件操作Bash— 执行 shell 命令Glob/Grep— 文件搜索Agent— 启动子智能体
MCP Server 配置
通过 MCP 扩展 Claude Code 的能力。
项目级配置(.mcp.json):
{
"mcpServers": {
"database": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-postgres", "postgresql://localhost/mydb"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "your-token"
}
}
}
}
全局配置(~/.claude/mcp.json): 对所有项目生效。
Sub-Agent 多智能体
Claude Code 可以启动子智能体(Sub-Agent)并行处理任务:
主 Agent: "我需要同时做三件事"
├── Sub-Agent 1: 搜索相关代码
├── Sub-Agent 2: 读取文档
└── Sub-Agent 3: 检查测试
各 Sub-Agent 返回结果 → 主 Agent 综合决策
特点:
- Sub-Agent 运行在独立上下文中,不会污染主对话
- 可以并行执行多个 Sub-Agent
- 适合大范围代码搜索、多文件分析
Hooks 自动化
Hooks 是在特定事件时自动执行的 shell 命令。
配置(~/.claude/settings.json):
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"command": "npx prettier --write $CLAUDE_FILE_PATH"
}
],
"PreToolUse": [
{
"matcher": "Bash",
"command": "echo 'About to run: $CLAUDE_TOOL_INPUT'"
}
]
}
}
可用的 Hook 事件:
PreToolUse— 工具调用前PostToolUse— 工具调用后Notification— 通知事件
常见用途:
- 每次写文件后自动格式化(prettier、black)
- 每次提交前自动 lint
- 文件变更后自动运行相关测试
CLAUDE.md 项目指令
每个项目可以有一个 CLAUDE.md 文件,定义项目级指令:
# 项目指令
## 代码风格
- 使用 TypeScript,不用 JavaScript
- 函数名用 camelCase
- 文件名用 kebab-case
## 架构规则
- API 路由放在 app/api/ 下
- 组件放在 components/ 下
- 数据库操作用 Prisma
## 测试
- 每个新功能必须有测试
- 运行 pnpm test 验证
Claude Code 会自动读取并遵循这些指令。
高效使用技巧
1. 用 /compact 管理上下文
对话太长时,用 /compact 压缩历史,释放上下文空间。
2. 用 Agent 做大范围搜索
不确定代码在哪个文件时,让 Claude Code 启动 Explore Agent 搜索整个代码库。
3. 用 Worktree 隔离实验
在 git worktree 中进行实验性修改,不影响主分支。
4. 善用 /plan 模式
复杂任务先进入 plan 模式,让 Claude 分析代码库后再制定方案。
实战练习
Tip: 优化你的 Claude Code 工作流。
- 为你的项目创建
CLAUDE.md,写明编码规范 - 配置一个 MCP Server(如 GitHub 或数据库)
- 设置一个 Hook,每次写文件后自动格式化
关键要点
Note: 本文核心总结
- Claude Code = 终端中的 Agent Loop + 丰富的内置工具
- MCP 扩展外部能力,Sub-Agent 并行处理
- Hooks 自动化文件格式化、lint 等重复操作
- CLAUDE.md 定义项目级指令,确保一致性