代码语言

知识点思维导图

27 个知识节点

Claude Code(03) - 基础交互:怎么问它才听得懂

读完后,你应能完成以下任务:

  • 绘制“Claude Code(03) - 基础交互:怎么问它才听得懂 / 核心心法:把它当「聪明但不读心的新同事」”的关键对象与数据流,解释“清晰指令 = 对象(改哪)+ 动作(做什么)+ 约束(边界/要求)。”,并用源码位置、日志或 Trace 标注证据。
  • 为“Claude Code(03) - 基础交互:怎么问它才听得懂 / 用 @ 精准引用文件和目录”设计正常与异常输入,验证“这是 Claude Code 最高频、最该养成的习惯。”,输出首个偏差位置与回归测试结果。
  • 实现“Claude Code(03) - 基础交互:怎么问它才听得懂 / 贴图:截图也能当输入”的最小代码或配置,检验“直接把图贴进对话(多数终端支持 Ctrl+V 粘贴)。”,输出命令、结果与 Diff,并说明不适用边界。

本章目标:掌握下达指令的基本姿势——描述任务、引用文件、贴图、让它分步走。


一、核心心法:把它当「聪明但不读心的新同事」

它很聪明,但看不到你脑子里的上下文。 同样一句话,模糊和清晰,结果天差地别:

❌ 模糊 ✅ 清晰
「优化一下代码」 utils.js 里的 formatDate 函数太长了,拆成几个小函数,保持行为不变」
「修个 bug」 「运行 npm testcart.test.js 第 3 个用例失败,帮我查原因并修复」
「加个功能」 「给 /users 接口加分页,支持 pagepageSize 两个 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 章)。


七、最佳实践

  1. @@:引用文件/目录一律用 @,少让它猜。
  2. 指令三件套:对象 + 动作 + 约束,缺一就容易跑偏。
  3. 复杂任务先要计划:「先别写,告诉我你打算怎么做」是性价比最高的一句话。
  4. 附上验证方式:把「怎么算做对了」告诉它,它就能自我验证。
  5. 边界讲清楚:明确「只动哪、别碰哪」。

八、动手实践:Demo 03 · 把话说清楚:指令练习场

本 Demo 给你一个有几个小毛病的 utils.js,外加一份「指令练习题」。 目的是练习本章的核心:用清晰指令 + @ 引用 + 验证方式, 让 Claude Code 准确干活。

8.1 怎么用

  1. 在本目录启动:claude
  2. 打开 练习题.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:指代不清的「它/这个/那里」

学完自测

选择所有正确答案;提交后逐项核对判断依据。

1在“基础交互:怎么问它才听得懂”中,需要同时满足“核心心法:把它当「聪明但不读心的新同事」”与“用 @ 精准引用文件和目录”。给定正文约束“清晰指令 = 对象(改哪)+ 动作(做什么)+ 约束(边界/要求)。”,哪些判断保持了原有处理机制?多选
2“基础交互:怎么问它才听得懂”出现偏差:“在“基础交互:怎么问它才听得懂 / 贴图:截图也能当输入”中,即使不满足“遇到「这个报错截图」「这个设计稿」「这张架构图」,”,结果与副作用仍会保持不变。”已成为实际行为。围绕“贴图:截图也能当输入”与“复杂任务:让它分步走,别一口吃成胖子”,哪些判断能定位被改变的职责或边界?多选
3评审“基础交互:怎么问它才听得懂”方案时,验收条件包含“有了验证方式,它改完会自己跑测试确认,而不是「改了就交差」。”。关于“给足上下文,尤其是「怎么验证」”与“最佳实践”的哪些决策符合正文机制?多选