知识点思维导图
27 个知识节点
Claude Code(03) - 基础交互:怎么问它才听得懂
读完后,你应能完成以下任务:
- 绘制“Claude Code(03) - 基础交互:怎么问它才听得懂 / 核心心法:把它当「聪明但不读心的新同事」”的关键对象与数据流,解释“清晰指令 = 对象(改哪)+ 动作(做什么)+ 约束(边界/要求)。”,并用源码位置、日志或 Trace 标注证据。
- 为“Claude Code(03) - 基础交互:怎么问它才听得懂 / 用 @ 精准引用文件和目录”设计正常与异常输入,验证“这是 Claude Code 最高频、最该养成的习惯。”,输出首个偏差位置与回归测试结果。
- 实现“Claude Code(03) - 基础交互:怎么问它才听得懂 / 贴图:截图也能当输入”的最小代码或配置,检验“直接把图贴进对话(多数终端支持 Ctrl+V 粘贴)。”,输出命令、结果与 Diff,并说明不适用边界。
本章目标:掌握下达指令的基本姿势——描述任务、引用文件、贴图、让它分步走。
一、核心心法:把它当「聪明但不读心的新同事」
它很聪明,但看不到你脑子里的上下文。 同样一句话,模糊和清晰,结果天差地别:
| ❌ 模糊 | ✅ 清晰 |
|---|---|
| 「优化一下代码」 | 「utils.js 里的 formatDate 函数太长了,拆成几个小函数,保持行为不变」 |
| 「修个 bug」 | 「运行 npm test 时 cart.test.js 第 3 个用例失败,帮我查原因并修复」 |
| 「加个功能」 | 「给 /users 接口加分页,支持 page 和 pageSize 两个 query 参数」 |
**清晰指令 = 对象(改哪)+ 动作(做什么)+ 约束(边界/要求)。 **
二、用 @ 精准引用文件和目录
这是 Claude Code 最高频、最该养成的习惯。
直接打 @ 会弹出文件补全,让它不用猜你说的是哪个文件:
解释 @src/utils/auth.js 的逻辑
@src/components 的目录结构是什么样的?
对比 @src/api/v1.js 和 @src/api/v2.js 的差异
为什么重要?
不用 @,它得先去猜/搜你指的是哪个文件,可能找错;
用了 @,它直接精准定位,又快又准。
三、贴图:截图也能当输入
遇到「这个报错截图」「这个设计稿」「这张架构图」,
直接把图贴进对话(多数终端支持 Ctrl+V 粘贴)。
然后可以:
这是报错截图,是什么导致的?
按这个设计稿生成对应的 CSS
这是当前数据库结构图,新功能该怎么改?
它能「看图说话」,把视觉信息接进任务里。
四、复杂任务:让它分步走,别一口吃成胖子
需求复杂时,与其甩一大段,不如先对齐再动手。两种好用的姿势:
姿势 A:先让它复述计划
我想给项目加上 JWT 登录。先别写代码,告诉我你打算改哪些文件、分几步做。
看完它的计划,你纠偏,再说「好,按这个做」。 (这其实就是 Plan Mode 的雏形,第 06 章细讲。 )
姿势 B:拆成小步,逐步推进
第一步:只在 @src/models 下新建 User 模型,先别动其他地方。
做完一步检查一步,比一次性大改可控得多。
五、给足上下文,尤其是「怎么验证」
它能自我纠错的前提是——你告诉它对错的标准。
修复这个 bug。验证方式:跑 `npm test`,cart 相关用例全绿就算修好。
有了验证方式,它改完会自己跑测试确认,而不是「改了就交差」。 这是让它从「代码生成器」升级成「能交付的同事」的关键一句话。
六、常见错误
错误 1:指代不清的「它/这个/那里」
「把它改一下」——「它」是谁?
用 @文件名 或具体函数名代替模糊指代。
错误 2:一句话塞进五个任务 「重构登录、加分页、修那个 bug、再补点测试」——它容易顾此失彼。 一次一个清晰目标,做完再下一个。
错误 3:只说「做什么」,不说「不要动什么」
担心它误伤其他代码?
直接划边界:「只改 formatDate,其他函数不要动」。
错误 4:默认它知道你的项目惯例
它不知道你们「API 都放 src/api/handlers/」。
这类长期规则,与其每次说,不如写进 CLAUDE.md(第 05 章)。
七、最佳实践
- 能
@就@:引用文件/目录一律用@,少让它猜。 - 指令三件套:对象 + 动作 + 约束,缺一就容易跑偏。
- 复杂任务先要计划:「先别写,告诉我你打算怎么做」是性价比最高的一句话。
- 附上验证方式:把「怎么算做对了」告诉它,它就能自我验证。
- 边界讲清楚:明确「只动哪、别碰哪」。
八、动手实践:Demo 03 · 把话说清楚:指令练习场
本 Demo 给你一个有几个小毛病的 utils.js,外加一份「指令练习题」。
目的是练习本章的核心:用清晰指令 + @ 引用 + 验证方式,
让 Claude Code 准确干活。
8.1 怎么用
- 在本目录启动:
claude - 打开
练习题.md,对每道题:- 先看「❌ 模糊版」,想想为什么不好;
- 再用「✅ 清晰版」实际发给 Claude Code,看它的表现差别。
8.2 文件说明
utils.js:几个工具函数,其中formatDate偏长、sum有个小问题,适合拿来练「精准指令」。
8.3 配套实践材料
以下材料已并入正文,便于阅读时直接对照和练习。
练习题.md
# 指令练习题:感受「模糊 vs 清晰」
> 每题先体会模糊版的问题,再把清晰版发给 Claude Code。
## 第 1 题:修 bug
- ❌ 模糊版:`sum 函数好像不对,改一下`
- ✅ 清晰版:
```
@utils.js 里的 sum 函数返回值偏小,怀疑漏算了元素。
帮我找出原因并修复,保持函数签名不变。
```
## 第 2 题:重构
- ❌ 模糊版:`formatDate 太丑了,优化下`
- ✅ 清晰版:
```
@utils.js 里的 formatDate 函数重复代码多。
抽出一个"补零"辅助函数来简化它,行为保持完全不变。
```
## 第 3 题:带验证方式
- ✅ 进阶版(附上怎么算对):
```
给 @utils.js 的 sum 和 formatDate 各写几个测试用例(用 node 自带断言即可),
然后运行测试。全部通过才算完成。
```
## 自检:你的指令踩中三件套了吗?
> 对象(@哪个文件/函数)+ 动作(做什么)+ 约束(边界/验证方式)
九、总结
- 核心心法:把它当「聪明但不读心的新同事」:| 「修个 bug」 | 「运行 npm test 时 cart.test.js 第 3 个用例失败,帮我查原因并修复」 |
- 用 @ 精准引用文件和目录:这是 Claude Code 最高频、最该养成的习惯。
- 贴图:截图也能当输入:遇到「这个报错截图」「这个设计稿」「这张架构图」,直接把图贴进对话(多数终端支持 Ctrl+V 粘贴)。
- 复杂任务:让它分步走,别一口吃成胖子:(这其实就是 Plan Mode 的雏形,第 06 章细讲。
- 给足上下文,尤其是「怎么验证」:它能自我纠错的前提是——你告诉它对错的标准。
- 常见错误:错误 1:指代不清的「它/这个/那里」
学完自测
选择所有正确答案;提交后逐项核对判断依据。