Claude Code 是什么?
Claude Code 是 Anthropic 推出的 AI 编程智能体(Agentic Coding Tool),直接运行在你的终端、IDE 或浏览器里。它不是普通的"代码补全"或聊天窗口,而是一个能够自主读取文件、执行命令、分析报错、提交代码的全流程编程伙伴。
Claude Code vs. 聊天式 AI 工具
Claude Code 与"在 Claude.ai 里粘贴代码"的本质区别在于工具调用能力:
| 维度 | 聊天式 AI | Claude Code |
|---|---|---|
| 信息来源 | 你主动粘贴过来的代码 | 直接读取整个代码库 |
| 执行能力 | 只能给建议 | 能运行测试、安装依赖、执行 git 操作 |
| 持续性 | 每次对话都从零开始 | 通过 CLAUDE.md 保留项目上下文 |
| 错误修复 | 需要你反复复制粘贴报错 | 直接读取报错 → 定位代码 → 修复 → 重新测试 |
| 典型场景 | 解释一段代码 | 从零实现一个 feature 并提交 PR |
工作原理:智能体循环
Claude Code 的核心是一个智能体循环(Agentic Loop):它不断循环"思考 → 调用工具 → 观察结果 → 再思考",直到任务完成或等待你的确认。
循环简化模型:用户输入 → Claude 决策(调用哪些工具?) → 执行工具(读文件/跑命令/写代码) → 观察输出 → 继续循环或结束
四大核心组件
安装与初始配置
Claude Code 通过 npm 安装,需要 Node.js 18 以上环境。
安装方式
# 全局安装
npm install -g @anthropic-ai/claude-code
# 启动(在任意项目目录)
claude
# 查看版本
claude --version
支持的运行环境
三种操作模式
核心工作流:Explore → Plan → Code → Commit
Claude Code 官方推荐的开发循环是一个四步流程,适用于大多数功能开发和 bug 修复场景:
实战提示词示例
# 典型的探索提示词
"先读一下整个 src/ 目录,理解项目结构,不要修改任何文件"
# 进入 Plan Mode
"进入 Plan Mode,帮我规划如何给用户登录接口增加邮件验证"
# 执行任务(Plan Mode 关闭后)
"按照刚才的方案开始实现,遇到不确定的地方先问我"
# 代码审查
"帮我 review 这次改动,指出潜在的安全问题和边界情况"
上下文管理:保持效率的关键
Claude Code 的上下文窗口就像电脑内存:有限且珍贵。随着对话的推进,文件内容、命令输出会不断累积,当上下文快满时,Claude 的"记忆"开始衰减——它可能忘掉对话早期的指令,或者开始重复劳动。
三个核心命令
/compact压缩当前对话:把长篇对话历史汇总为紧凑摘要,释放上下文空间,同时保留关键信息。长任务中途建议主动执行/clear完全清空上下文:重置到空白状态。适合切换到完全不相关的新任务,或当前上下文已经混乱不堪时/context [文件或目录]手动向上下文添加指定文件或目录。精准控制"给 Claude 看什么",避免把无关文件塞进上下文上下文管理最佳实践
CLAUDE.md:给项目的"使用说明书"
CLAUDE.md 是 Claude Code 的项目级持久记忆。每次在项目目录启动 Claude Code,它都会自动读取这个文件,就像新来的同事先读公司 Wiki 再开始工作。
CLAUDE.md 推荐结构
# Project: 电商后台管理系统
## 技术栈
- 后端:Python 3.11 + FastAPI + PostgreSQL
- 前端:Next.js 14 + TypeScript + Tailwind CSS
- 测试:pytest(单元)+ Playwright(E2E)
## 代码规范
- 所有 API 端点必须有 Pydantic 类型注解
- 提交信息格式:feat/fix/docs/refactor: 描述
- 严禁向 main 分支直接提交,必须通过 PR
## 架构说明
- src/api/ API 路由层(不含业务逻辑)
- src/services/ 业务逻辑层
- src/models/ 数据库模型
- 跨服务调用走 src/clients/,不要直接 import service
## 常用命令
- 启动本地开发:make dev
- 跑单元测试:pytest tests/unit -v
- 数据库迁移:alembic upgrade head
## 注意事项
- 不要修改 legacy/ 目录(历史遗留,逐步迁移中)
- 生产数据库只读,测试用 docker-compose.yml 启动本地 DB
可以写进 CLAUDE.md 的内容
扩展能力:Subagents、Skills 与 MCP
掌握基础之后,Claude Code 还有三个强力扩展方向,可以让它胜任更复杂、更专业的任务。
子智能体(Subagents)
当任务可以拆分为多个独立的并发子任务时,主 Claude 可以 fork 出多个子智能体并行处理,各自维护独立上下文,最后汇总结果。典型场景:同时对多个模块跑代码审查,或者同时搜索多个 API 文档。
Skills(技能文件)
Skills 是放在 .claude/skills/ 目录下的 Markdown 文件,用于向 Claude Code 注入领域专用知识和操作规范。Claude Code 在需要时会自动读取匹配的 Skill 文件。
MCP 服务器集成
通过 MCP(Model Context Protocol),Claude Code 可以连接外部工具和数据源:
Hooks(钩子)
Hooks 是 Claude Code 生命周期中的确定性控制点:在 Claude 准备执行某些操作前自动触发,可以用来做格式化检查、阻断危险命令、发送通知等。
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "echo "Running: $CLAUDE_TOOL_INPUT"",
"blockOnFailure": false
}
]
}
]
}
}
进阶学习路径
掌握 Claude Code 101 之后,推荐的进阶方向:
| 方向 | 内容 | 资源 |
|---|---|---|
| Claude Code in Action | Anthropic 官方进阶课程,覆盖大型项目实战、团队协作与自定义工作流 | 官方课程 ↗ |
| MCP 扩展 | 为 Claude Code 接入数据库、内部工具和第三方服务 | MCP 入门 → |
| API 开发 | 通过 Anthropic API 将 Claude 能力集成进自己的产品 | API 基础 → |
| GitHub 文档 | Claude Code 官方文档:完整命令参考、配置选项、最佳实践 | 官方文档 ↗ |
| 官方 SkillJar 课程 | 配套视频课程,有更多互动演示与练习题 | 前往 SkillJar ↗ |