很多新手装好 Claude Code 之后,面对一个闪烁的光标反而卡住了:到底第一句话该说什么?怎么让它真正"动手"而不是只动嘴?本教程聚焦第一个真实任务的对话引导——不再重复安装步骤,而是带你从一个空目录出发,用逐条精心设计的 Prompt,在 15 分钟内让 Claude Code 帮你写出一个可运行的命令行小游戏。你将学到 Prompt 解剖学、任务拆解、Diff 审查、上下文生命周期管理(/context、/compact、/model、/clear)等核心基本功。适用人群:已能成功启动 claude 命令、但还没完成过一个像样任务的零基础开发者。
curl -fsSL https://claude.ai/install.sh | bash,Windows 推荐 irm https://claude.ai/install.ps1 | iex;注意 npm 全局安装已被官方标记为 deprecated)。claude --version 并返回版本号。my-first-project 文件夹。理解 Claude Code 的关键,是把它当成一个能读你整个项目、能改文件、能跑命令、但需要你给清晰指令的同事。它不是搜索引擎,也不是聊天机器人。你跟它说的每一句话,都会驱动它去实际操作你的磁盘。
打开终端,进入空目录后启动:
cd my-first-project
claude
你会看到一个交互式界面,底部是输入框。这就是你跟"同事"对话的地方。
新手第一坑:很多人第一次输入"你好"或"你能做什么"。这不会出错,但浪费了第一轮交互。更好的做法是直接给出一个具体、可验证的小目标。
在写第一条 Prompt 之前,你必须认得界面会出现的三个交互元素,否则后续会手忙脚乱:
| 元素 | 含义 | 你该怎么做 |
|---|---|---|
| Diff 视图 | Claude 要修改文件时,会以绿色/红色展示"改了哪几行" | 像审 Code Review 一样逐行看 |
| 确认提示(Yes / No / Escape) | 每次改文件或跑命令前会问你 | 看懂再按 y,看不懂按 Esc 打断 |
Esc 键 |
中断当前生成 | 发现它跑偏了,立刻按 Esc,别等它写完 |
记住一条铁律:永远不要在没看懂 Diff 的情况下按 Yes。Claude Code 是 agentic 的——你给它放权,它就会真改你的文件。
一条能驱动 AI 干活的 Prompt,通常包含四个要素。新手最容易只写第一个,然后抱怨"AI 不懂我"。
[目标] 我想要一个命令行猜数字游戏
[上下文] 这是一个全新的 Node.js 项目,目录现在是空的
[约束] 只用 Node 内置模块,不要装任何依赖;代码放在 index.js
[完成标准] 我能用 node index.js 跑起来,猜对会提示并退出
把这四块拼成一句话,就是一条高质量的"启动 Prompt"。对比一下反面教材:
❌ 反面:"帮我写个游戏。" —— 没说语言、没说放哪、没说怎么算完成。AI 会猜,猜错了你就得返工。
❌ 反面:"用 React + Three.js 做一个 3D 猜数字。" —— 新手一上来就要全家桶,调试链路长,失败率高。
原则:第一个任务越朴素越好。朴素意味着你能 10 秒内判断它对不对。
/init 给项目钉一块"记忆牌"在写业务代码之前,先花 30 秒做一件回报极高的事——生成 CLAUDE.md。这个文件是 Claude Code 的"项目记忆",每次启动都会自动读入。
在交互框里输入:
/init
Claude 会扫描你的目录结构、package.json(如果有)、README,然后生成一份 CLAUDE.md,内容包括项目用途、构建命令、测试命令、代码风格约定等。你可以把它当成项目说明书,手动补充两行关键信息往往就够了:
## 项目说明
命令行猜数字游戏,教学练习项目。
## 常用命令
- 运行:node index.js
- 测试:node test.js(暂无,待添加)
## 约定
- 只使用 Node 内置模块
- 变量与注释用英文,对话用中文
为什么要这一步?因为之后你每说一句"加个功能",Claude 都会默认遵守 CLAUDE.md 里的约束——比如它就不会突然给你 npm install express。这块记忆牌能省下无数次"我不是说了别装依赖吗"的扯皮。
现在进入核心环节。我们要用逐条 Prompt、每条都验证的方式,把游戏从零搭起来。整个过程演示"小步迭代"这一最关键的工程习惯。
在交互框粘贴:
在一个空的 Node.js 项目里,创建 index.js:实现一个猜数字游戏。
规则:程序随机生成 1-100 的整数,玩家通过命令行输入猜测,
程序回复"大了"或"小了",猜对后打印"恭喜,用了 N 次"并退出。
只用 Node 内置模块(readline)。先给出实现思路,再写代码。
注意末尾那句"先给出实现思路,再写代码"——这是新手的秘密武器。它迫使 Claude 先做计划(Plan),你能在它动手前就发现方向错误。Claude 通常会先输出一段思路,然后展示 index.js 的 Diff。
预期结果:你会看到一个新增 index.js 的 Diff,代码大致长这样(仅供参考,实际可能略有差异):
const readline = require('readline'); // use built-in readline module
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const target = Math.floor(Math.random() * 100) + 1;
let count = 0;
function ask() {
rl.question('请输入 1-100 的数字:', (answer) => {
count++;
const guess = Number(answer);
if (guess === target) {
console.log(`恭喜,用了 ${count} 次`);
rl.close();
} else if (guess > target) {
console.log('大了');
ask();
} else {
console.log('小了');
ask();
}
});
}
ask();
验证(这一步千万别跳):在另一个终端窗口(或先按两次 Esc 退出交互)运行:
node index.js
亲手玩两局,确认"大了/小了"逻辑正确。不要让 Claude 替你验证"它觉得对不对"——你要的是"我确认它对不对"。
确认骨架跑通后,回到 Claude Code,输入:
很好。现在加一个功能:游戏开始时让玩家选择难度,
简单(1-50)、普通(1-100)、困难(1-500),
根据选择生成对应范围的随机数。只改 index.js,别动其他文件。
这条 Prompt 的设计要点:明确范围(只改 index.js)+ 明确功能边界。Claude 会再次给出 Diff,你重点看它有没有把你之前写好的"猜对退出"逻辑搞坏。
💡 小步迭代原则:每次只加一个功能。新手最爱犯的错是一条 Prompt 塞五个需求("加难度、加计分、加排行榜、加存档、加颜色"),结果 Diff 几百行,根本审不动,一处错全盘崩。
为猜数字的核心判断逻辑写一个简单的测试文件 test.js:
不依赖第三方测试框架,直接用 Node 的 assert 模块。
把"判断猜测结果"抽成一个纯函数 guessCheck(guess, target),
返回 'correct' | 'bigger' | 'smaller',然后测试它。
这条 Prompt 体现了进阶技巧:把副作用(读写输入)和纯逻辑分开。Claude 会重构出 guessCheck 函数,并写测试。运行:
node test.js
看到类似 All tests passed 就成了。从此你有了一道安全网——以后每次改代码,先跑测试。
任务做久了,你会发现 Claude 开始"忘事"或变慢。这几乎都是上下文窗口(Context Window)的问题。掌握下面四个命令,你就能像管理内存一样管理对话:
flowchart LR
A[新任务开始] --> B["/init 生成记忆"]
B --> C[逐条 Prompt 迭代]
C --> D{"看 /context"}
D -->|"占用 < 50%"| C
D -->|"占用 > 70%"| E["/compact 压缩"]
E --> C
C --> F{"换需求/换项目?"}
F -->|是| G["/clear 清空"]
G --> A
C --> H{"任务很重?"}
H -->|是| I["/model 切 Opus"]
H -->|否| J["/model 切 Sonnet/Haiku"]
四个核心命令逐个解释:
/context —— 查看当前上下文占用百分比。养成习惯:每隔几轮瞄一眼。占用逼近 70%-80% 时,Claude 会开始"看不见"早期信息,准确率下降。/compact —— 把前面的对话压缩成摘要,腾出空间但保留要点。长会话续命的关键。压缩后你可以接着干,不必从头复述需求。/clear —— 彻底清空对话,从零开始。切换到完全不同的任务时用。注意它是不可逆的,清空前确保关键结论已写进代码或 CLAUDE.md。/model —— 切换模型。重活(架构设计、复杂重构)用最强模型;轻活(改个文案、跑个小脚本)用更快的模型,既省额度又快。⚠️ 常见误区:很多人把
/compact和/clear混用。记住:/compact是"压缩续命",/clear是"推倒重来"。同一个任务做长了用 compact;要换完全不相干的活了才用 clear。
在交互框里直接输入 / 然后停顿,会弹出所有可用命令的自动补全列表——这是最好的"说明书",比死记硬背强一百倍。
一个小任务的标准收尾流程,是把成果固化下来:
node index.js 手动玩,node test.js 跑测试,双保险。帮我把这次改动用 git 提交,提交信息用中文,概括"新增猜数字游戏与难度选择"。
Claude 会执行 git add 和 git commit(同样会先给你看命令再执行)。确认无误后放行。
🔒 安全习惯:涉及
git push、删除文件、安装依赖这类不可逆或有副作用的操作,Claude 一定会先征求你同意。新手阶段建议全部亲自过目命令再按 Yes,养成肌肉记忆。
| 问题现象 | 根因 | 解决办法 |
|---|---|---|
| Claude 不动手,只给文字建议 | Prompt 太像"咨询"而非"任务" | 明确加动词:"创建文件""修改函数""运行命令" |
| 一次改动太多,Diff 审不动 | 单条 Prompt 塞太多需求 | 拆成多条,每条只做一个可验证的小目标 |
| 跑着跑着 Claude 开始"忘事" | 上下文窗口快满 | 先 /context 查看,再 /compact 压缩 |
| 它装了我没要的依赖 | 没有项目记忆约束 | 用 /init 生成 CLAUDE.md 并写明"只用内置模块" |
| 改新功能把旧功能改坏了 | 没有回归保护 | 让它先抽纯函数 + 写测试,每次改动后跑测试 |
| 按 Yes 太快,改错了文件 | 没看 Diff | 按 Esc 中断,用 git diff 检查,必要时 git checkout 回滚 |
界面里 Esc 按了没反应 |
正在等待网络响应 | 多按一次,或等当前流式输出结束再中断 |
经过 Step 4 的三条 Prompt,你最终得到的项目结构如下:
my-first-project/
├── CLAUDE.md # 项目记忆(/init 生成 + 手动补充)
├── index.js # 主程序:猜数字游戏 + 难度选择
├── test.js # 纯逻辑测试(Node assert)
└── .git/ # 已提交版本
完整运行体验:
$ node index.js
选择难度:1-简单 2-普通 3-困难: 2
请输入 1-100 的数字:50
小了
请输入 1-100 的数字:75
大了
请输入 1-100 的数字:63
恭喜,用了 3 次
$ node test.js
All 3 tests passed.
这个项目虽小,却完整覆盖了"记忆 → 计划 → 编码 → 测试 → 提交"的真实工程闭环。你掌握的不是某个游戏怎么写,而是用对话驱动 AI 完成任意任务的方法论。把"猜数字"换成"写个脚本批量重命名文件""做个 Markdown 转 HTML 工具",流程完全通用。
https://code.claude.com/docs/en/quickstart —— 官方推荐的最短上手路径。https://code.claude.com/docs/en/commands —— 所有斜杠命令的权威说明。https://github.com/anthropics/claude-code —— 最新安装命令与变更(npm 安装已 deprecated)。/help —— 最快、永远最新的命令清单。/init、/compact、/context、/model、/clear 权威说明。/init 与 CLAUDE.md 的基础地位。[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
