Claude Code 使用指南:从入门到高效协作
Claude Code(简称 cc)是 Anthropic 推出的命令行 AI 编程助手,直接在终端中运行,能阅读整个项目、编辑文件、执行命令,是日常开发的强力搭档。
本文记录了我从零开始使用 Claude Code 的经验,涵盖工作模式、实战 demo、skill 安装、上下文管理、回滚恢复、子代理等技巧,希望能帮你少走弯路。
声明:本文是本人学习小林coding的教程之后,自己动手实操后写的文章,文章结构类似
详细教学链接:面试官怒斥:“没用过 Claude Code 也敢来?” 我不屑:“我是老艺术家,坚持手搓代码”,他破防了
一、三个工作模式
按住 Shift + Tab 可以在三种模式之间切换:
-
默认模式:每一步操作都要询问你是否允许,适合初学者或敏感操作。

-
Auto-accept 模式:自动执行所有操作,不需要逐个确认,适合已经熟悉 Claude 并且信任它的场景。

-
Plan 模式:只看不改,让 Claude 帮你分析规划,省 token——做架构设计、方案调研时非常好用。

实战中用得最多的组合:先用 Plan 模式聊清楚需求,再切到默认模式或 Auto-accept 模式执行。
二、实战 Demo:从零构建贪吃蛇游戏
2.1 先规划,再动手
很多人一上来就让 AI 写代码,结果是反复返工。更好的做法是让 AI 来问你——本质上是让 Claude 帮你做需求分析。
不懂也没关系,把你的想法告诉 Claude,它会反问你具体需求:

如果某个选择后悔了,可以通过键盘的 ← 和 → 回退重新选择:

选好之后提交:

这种「让 AI 来问你」的技巧,在需求不明确的时候特别好用。Claude 帮你梳理需求,而不是一上来就埋头写代码。
2.2 完整方案 + 执行
以下是 Claude 给出的完整方案:

确认无误后,切换到 Auto-accept 模式,等待完成:

⚠️ 注意:这里用 Auto-accept 只是为了演示效率。第一次使用建议还是用默认模式,等熟悉了 Claude 的风格、建立了信任感之后再使用 Auto-accept。
等后续熟悉了流程,就可以在第一次提问时就把需求说清楚:
- 明确技术栈:用什么架构、什么语言
- 明确功能:要实现什么功能、面向什么用户、项目的目的是什么
- 明确交付要求:交付哪些内容、先做什么后做什么
2.3 交付成果
花了约十分钟,Claude 交付了一个完整的贪吃蛇游戏:
贪吃蛇游戏已经做好了!🎉
---
🐍 Snake Game — 项目总览
项目结构
snake/
├── cmd/wasm/main.go # WASM 入口,JS↔Go 桥接
├── internal/
│ ├── game/
│ │ ├── types.go # 方向/坐标/食物类型/常量
│ │ ├── snake.go # 蛇实体(移动/增长/碰撞)
│ │ ├── food.go # 食物系统(普通/金色/减速/毒)
│ │ ├── obstacle.go # 障碍物生成 & 碰撞
│ │ └── game.go # 游戏引擎:状态机 + Tick 循环
│ └── render/
│ └── canvas.go # Canvas 2D 渲染器
├── web/
│ ├── index.html # 前端页面 + JS glue 代码
│ ├── style.css # 暗色主题样式
│ ├── wasm_exec.js # Go WASM 运行时胶水
│ └── main.wasm # 编译产物
├── Makefile
└── go.mod
已实现功能
┌─────────────┬────────────────────────────────────┐
│ 功能 │ 说明 │
├─────────────┼────────────────────────────────────┤
│ ✅ 基础玩法 │ 方向键/WASD 控制,吃食物变长,得分 │
├─────────────┼────────────────────────────────────┤
│ ✅ 碰撞死亡 │ 撞墙、撞自己、撞障碍物 │
├─────────────┼────────────────────────────────────┤
│ ✅ 难度递增 │ 每吃 5 个食物升一级,速度加快 │
├─────────────┼────────────────────────────────────┤
│ ✅ 金色食物 │ +3 长度,+30 分,5 秒后消失 │
├─────────────┼────────────────────────────────────┤
│ ✅ 减速食物 │ 5 秒内蛇速减半(青色) │
├─────────────┼────────────────────────────────────┤
│ ✅ 毒食物 │ -1 长度,长度 ≤1 即死(紫色) │
├─────────────┼────────────────────────────────────┤
│ ✅ 游戏结束 │ 暗化画布 + HTML 浮层,显示最终得分 │
├─────────────┼────────────────────────────────────┤
│ ✅ 重新开始 │ 空格键 / 点击按钮 │
├─────────────┼────────────────────────────────────┤
│ ✅ 蛇眼 │ 蛇头根据方向画小眼睛 │
└─────────────┴────────────────────────────────────┘
运行方式
cd snake
make build # 编译 WASM
make serve # 启动 HTTP 服务 → http://localhost:8080
然后用浏览器打开 http://localhost:8080,方向键就能玩了!
架构亮点
- Go 侧完整掌控:游戏状态、碰撞检测、渲染全部在 Go/WASM 中完成
- JS 只做薄胶水:键盘事件捕获 + requestAnimationFrame 驱动循环 + DOM HUD 更新
- 标准 Go 项目结构:internal/game 纯逻辑(可单独测试),internal/render 渲染层,cmd/wasm 入口
- 时间驱动的 Tick:Go 侧用 time.Now() 控制 tick 间隔,JS 只管 RAF 循环,不丢帧
✻ 耗时 9 分 43 秒
2.4 继续迭代:部署到服务器
接着提新需求——部署到服务器,分享给朋友玩:
我的服务器IP是192.144.168.226,不要本地,我要分享给朋友玩,同时给我启动的指令
Claude 修改了配置并给出了结果:
搞定!✅
---
服务已在运行
┌──────────┬─────────────────────────────┐
│ 项目 │ 详情 │
├──────────┼─────────────────────────────┤
│ 游戏地址 │ http://192.144.168.226:8080 │
├──────────┼─────────────────────────────┤
│ 进程 PID │ 2471535 │
├──────────┼─────────────────────────────┤
│ 绑定 │ 0.0.0.0:8080(外网可访问) │
└──────────┴─────────────────────────────┘
朋友直接浏览器打开 http://192.144.168.226:8080 就能玩 🎮
方向键 / WASD 控制,空格键重新开始。
以后自己启动:
cd ~/golang/snake
make serve
或者手动后台启动:
cd ~/golang/snake/web && nohup python3 -m http.server 8080 --bind 0.0.0.0 &
▎ ⚠️ 确保服务器防火墙开放了 8080 端口
最终效果:

符合要求:使用服务器 IP 部署,可以分享给朋友玩。
三、Skill:让 AI 拥有设计品味
3.1 什么是 Skill
Skill 是 Claude Code 的能力扩展机制。frontend-design 是 Anthropic 官方的设计 skill,让 Claude 在做前端时有独特的审美判断,避免千篇一律的 AI 模板风格。它托管在 github.com/anthropics/skills。
3.2 安装方式
直接通过 claude plugin install 安装会失败,因为默认没有配置 marketplace。加上 anthropics/claude-code 仓库太大,clone 会超时,所以需要手动安装:
# 1. 浅克隆 skills 仓库
git clone --depth=1 git@github.com:anthropics/skills.git
# 2. 创建 skill 目录
mkdir -p ~/.claude/skills/frontend-design
# 3. 复制 SKILL.md
cp ./skills/skills/frontend-design/SKILL.md \
~/.claude/skills/frontend-design/SKILL.md
# 4. 验证
head -5 ~/.claude/skills/frontend-design/SKILL.md
3.3 使用
在 prompt 中指定需要的 skill,Claude 就会加载对应能力:


四、使用 @ 精准指定文件
项目文件越来越多,每次都全量扫描不仅慢,还吞噬宝贵的上下文窗口。
直接用 @ 引用对应文件,说清楚需求——可以引用单个文件、多个文件、甚至整个目录。@ 指定文件,指哪打哪:

上下文窗口是有限的。不指定文件时,Claude 为了理解需求会检索大量文件,甚至扫描整个项目——这些都在消耗你的上下文。
五、遇到复杂问题?用 Think 模式
如果要加一个涉及数据结构设计和多组件调用的功能(比如游戏统计面板),可以开启 Think 模式,让 Claude 花更多时间深度分析:
我现在想要加关卡功能和游戏数据统计功能,请使用 think harder 模式给我方案
此时 Claude 的思考耗时更长,分析也更深入。
四个思考级别:
| 级别 | 适用场景 |
|---|---|
think |
简单问题,快速解答 |
think hard |
中等难度,需要一定分析 |
think harder |
架构设计、bug 排查、跨文件修改 |
ultrathink |
非常棘手的问题,需要深度推理 |
⚠️ 思考越深,消耗的 token 越多。简单问题别滥用,复杂问题再用——按需选择级别,性价比最高。
六、CLAUDE.md:给 Claude 的项目记忆
6.1 是什么
CLAUDE.md 是放在项目根目录的配置文件,Claude Code 每次启动都会自动读取。它就像是 Claude 对这个项目的「记忆」——只要在项目目录中启动 cc,它就知道项目做什么、用什么技术栈、有哪些代码规范。
6.2 创建
使用 /init 命令自动生成:

生成的内容示例:

可以根据需要进一步定制:
生成全局记忆,以后的CLAUDE.md全部中文表达,同时 @../CLAUDE.md 修改为中文
6.3 编写原则
CLAUDE.md 不是越长越好,而是越精准越好——太长会占用过多上下文。
需要包含的关键信息:
- 项目简介:一句话说清楚做什么的
- 技术栈:用了什么框架、工具
- 代码风格:命名规范、注释风格等
- 项目结构:目录的组织方式
核心原则:宁缺毋滥、极致精简、直击本质。 CLAUDE.md 是一个活文档,项目演进时需要同步更新。
七、Rewind 回滚:后悔药
如果 Claude 的回答或修改出现了偏差,有两种方式回滚:
方式一:Rewind(代码 + 上下文一起回退)
- 双击
Esc - 或输入
/rewind
Rewind
Restore the code and/or conversation to the point before…
↑ 2 more above
你现在有项目记忆吗,只回答有或没有
No code changes
有什么,简短回答
No code changes
❯ /init
CLAUDE.md +63
生成全局记忆,以后的CLAUDE.md全部中文表达,同时 @../CLAUDE.md 修改为中文
3 files changed +53 -37
(current)
使用 ↑ ↓ 选择要回滚到的节点即可。代码和对话上下文都会恢复到该状态。
方式二:直接说明(只回退代码)
你刚才的修改逻辑有问题,撤销刚才的修改
这种方式只会回退代码,对话上下文保留。
⚠️ 注意:Rewind 只能回滚 Claude 直接创建或编辑的文件。如果执行了
npm install之类命令生成的文件,无法撤销。核心经验:Claude 一旦开始跑偏,立刻回滚,别让它一路错下去。早回滚,少返工。如果是大改动,改之前先
git commit存一个"存档"。
八、Claude 变「笨」了?管理上下文窗口
输入 /context 查看上下文使用情况:

当使用率超过 70%,就需要给上下文减负了。两种策略:
策略一:/compact(压缩上下文)
做同一个项目、同一个功能时,上下文中有大量有价值的参考信息,用压缩上下文。它会自动总结对话要点,释放空间的同时保留关键信息:
❯ /compact
⎿ Compacted (ctrl+o to see full summary)
⎿ Read ../CLAUDE.md (63 lines)
⎿ Read ../../.claude/projects/.../claude-md-chinese.md (15 lines)
⎿ Read cmd/wasm/main.go (145 lines)
⎿ Read internal/render/canvas.go (318 lines)
⎿ Read internal/game/obstacle.go (165 lines)
⎿ Skills restored (init)
策略二:/clear(清空对话)
彻底清空所有对话历史。适用于:接下来要做的任务和之前完全无关,需要从全新角度开始。
使用 /clear 后,简单告诉 Claude 当前项目状态,它就能快速进入状态。
| 场景 | 用哪个 |
|---|---|
| 同一功能持续开发,上下文有价值 | /compact |
| 切换任务,开始全新方向 | /clear |
九、关掉终端后?用 Resume 恢复
打开一个全新的终端,使用 claude --resume 查看对话历史,选择需要恢复的会话:

十、子代理:让分身帮你干活
最经典的应用场景是代码审查:开了个「分身」,本体和分身并行执行任务,互不干扰。
10.1 创建步骤
第一步:输入 /agents 创建子代理

第二步:选择作用域,大部分场景选 Project

第三步:选择创建方式,选第一个就好

第四步:描述子代理的职责——讲清楚用途、职责、触发场景

第五步:配置权限(带 × 就是选中)

第六步:选择模型(DeepSeek 的模型性价比很高)

第七步:选个喜欢的颜色做区分

第八步:配置子代理记忆,默认就好

配置完成:


10.2 使用示例
给子代理下达任务:

10.3 更多应用场景
子代理的好处不只是代码审查,任何需要独立视角的场景都可以用:
| 场景 | 说明 |
|---|---|
| 🔬 代码审查 | 独立审查代码质量和安全问题 |
| 🧪 写测试 | 创建测试子代理,帮你补齐单元测试 |
| 📚 查文档 | 创建文档子代理,让它读某个库的文档并总结 |
| 📦 批量修改 | 让子代理独立处理一组文件的修改,不和主对话混淆 |
子代理就是分身,提前创建好,用的时候给它一个独立任务,用全新的视角给你干活。
总结
回顾一下 Claude Code 的核心使用技巧:
- 三种模式灵活切换:Plan 规划 → 默认确认 → Auto-accept 执行
- 先规划再动手:让 Claude 做需求分析,而不是盲写代码
- 善用 Skill:扩展 Claude 的能力边界(设计、文档、PDF 等)
- @ 指定文件:精准定位,节省上下文
- 复杂问题加 Think:按需选择思考深度,性价比最高
- 维护好 CLAUDE.md:给 Claude 精准的项目记忆
- 控制上下文:70% 是警戒线,
/compact保持专注,/clear全新开始 - 跑偏立刻 Rewind:早回滚,少返工
- Resume 恢复会话:断连不丢工作
- 子代理并行干活:审查、测试、查文档,多线推进
本文基于 Claude Code 日常使用经验整理,希望对你有帮助。
更多推荐




所有评论(0)