AI 入门课程单元

与 AI 为伴:掌握高效提问的艺术,让 Agent 成为你的导师

创建: 2026-03-13 | 更新: 2026-03-13

FULL TEXT

详细文字内容

一、为什么提问是 Claude Code 的核心技能

大家好,我是Aaron。

上一篇《新手心态》里Aaron说过:Agent 时代,你只需要学会提问。 这篇教程,Aaron要把这句话拆开来讲——在 Claude Code 里,「提问」到底长什么样。

先看两个真实场景:

新手的问法:

帮我做个网站。

Claude Code 不知道做什么网站、用什么技术、放在哪个文件夹、长什么样。它只能猜。猜错了你再纠正,来回五六轮,半小时过去了。

Aaron的问法:

在 ~/my-blog/ 目录下帮我创建一个个人博客首页。 用 HTML + CSS,风格简洁,白底黑字。 包含:顶部导航栏(首页、关于我、文章),一段自我介绍,底部联系方式。 保存为 index.html 和 style.css 两个文件。

一轮搞定。两分钟。

🧠 底层逻辑:Claude Code 不是聊天机器人——它是一个能操作你电脑的 Agent。你给的信息越具体(放哪个文件夹、用什么技术、要什么内容),它就越能精准执行。模糊的指令会让一个博士级专家降级成一个瞎猜的实习生。

Aaron接下来分享的所有技巧,都围绕一个核心:怎么在 Claude Code 里,用最少的来回,拿到最准确的结果。

二、CLAUDE.md:一次配置,永久生效

这是 Claude Code 最被低估的功能,也是Aaron提问效率的基石。

什么是 CLAUDE.md?

CLAUDE.md 是一个 Markdown 文件,放在你的项目根目录或 ~/.claude/ 目录下。Claude Code 每次启动都会自动读取它。 相当于你给 Agent 写了一份「永久备忘录」——不用每次对话都重复说一遍你的偏好和规则。

🎯 一句话理解:CLAUDE.md 就是 Agent 的「员工手册」。你写一次,它永远遵守。

快速上手:/init 一键生成

2026 年的 Claude Code 新增了 /init 命令——在项目根目录直接输入 /init,Agent 会自动分析你的代码库,生成一份结构化的 CLAUDE.md 初稿。你在这个基础上补充和微调,比从零写省力 10 倍。

Aaron的 CLAUDE.md 里都写了什么?

实战:有 CLAUDE.md vs 没有 CLAUDE.md

没有 CLAUDE.md 时,你每次都要说:

帮我写个 Python 脚本,用 uv 管理依赖,不要用 pip。 注释用中文,代码风格参考 Google 规范。 脚本放在 scripts/ 目录下。

有 CLAUDE.md 后,你只需要说:

写个脚本,批量压缩 ~/images/ 下的所有 PNG 图片。

Agent 自动按你的规范写代码、放对位置、用对工具。

🌟 实战建议:先用 /init 生成初稿,然后根据 Agent 犯的错来补充规则(guardrails-first)。Agent 忘了用中文注释?加一条。Agent 用了 pip?加一条禁止。这种「纠错式迭代」比一口气想全所有规则更高效。

💡 划重点:CLAUDE.md 支持层级——~/.claude/CLAUDE.md(全局)和项目根目录的 CLAUDE.md(项目级)。全局的写通用规则,项目的写专属规则,两者自动合并。在 CLAUDE.md 里放一段你满意的代码示例,Agent 风格一致性能提高 65%。

三、给路径不给描述:Claude Code 独有的提问方式

这是 Claude Code 和网页版 AI 最大的区别——你可以直接告诉它去读哪个文件。

网页版 AI 里,你得复制粘贴代码。在 Claude Code 里,你只需要给路径:

🧠 底层逻辑:Claude Code 能直接读取你电脑上的文件、目录、甚至运行命令查看输出。这意味着它拿到的是完整的、真实的上下文,而不是你手动复制粘贴时可能遗漏的片段。

Aaron的路径提问法

场景一:脚本报错

运行 python3 ~/my-app/app.py 报错了,帮我看看什么问题。

Claude Code 会自己读脚本、运行它、看报错、分析原因、给出修复方案。你不需要复制任何代码。

场景二:看懂别人的代码

读一下 ~/downloaded-project/ 下所有文件,用大白话给我讲讲这个项目是做什么的。

场景三:批量整理文件

把 ~/Desktop/笔记/ 下所有 .txt 文件转成 .md 格式,保持文件名不变。

📌 记住这点:路径越精确,Agent 越快。~/my-app/pages/about.html那个关于页面的文件 好 10 倍。如果你不确定路径,可以先问 Agent:「帮我找一下项目里关于页面的文件在哪」。

🔑 关键点:Aaron在 CLAUDE.md 里预设了常用路径别名。这样 Agent 看到「知识库」就知道是 ~/.claude/知识库/,不用每次都写完整路径。

四、CIF 公式:Context + Intent + Format

有些问题,Claude Code 没办法直接读取文件来理解——比如你在问一个设计思路、一个外部 API 的用法、或者一个还没开始写代码的新项目。这时候就需要 CIF 公式——这是 2026 年 Claude Code 社区总结的结构化提问框架。

速记Context(上下文环境)+ Intent(意图目标)+ Format(输出格式)= 完整上下文

a. Context(上下文环境)

❌ 「代码跑不了」 ✅ 「macOS 上用 Python 3.12 写的脚本,昨天还能跑,今天 import pandas 报错 ModuleNotFoundError」

b. Intent(意图目标)

❌ 「这段代码怎么改?」 ✅ 「我想给个人网站加一个'关于我'页面,包含个人简介和联系邮箱,风格和首页保持一致」

💡 划重点:版本号是魔鬼细节。Python 3.9 和 3.12 的语法差异不小,少一个版本号,Agent 可能给你一个跑不通的方案。但好消息是 Claude Code 能自动运行 python3 --version 获取版本号——你只需要补充它无法推断的意图

c. Format(输出格式)

❌ 「网页样式不对」 ✅ 「~/my-blog/index.html 的导航栏在手机上显示不全。 帮我改成响应式布局,并用注释标出你修改了哪些地方」

🧠 底层逻辑:告诉 Agent 最终目标和期望的输出格式,它才能从全局视角审视你的问题。有时候你遇到的报错只是表象,真正的问题出在架构设计上。Agent 了解目标后,不仅能修眼前的 bug,还可能提出更优的整体方案。

Claude Code 的加分项: 因为它能读你的项目文件,很多环境信息它可以自己获取——读 package.json 知道版本号,读目录结构知道项目布局。但你的意图和输出格式,这是它永远无法自己推断的。社区实践表明,一段 50-100 字带明确 CIF 的提示词,能省掉 3-4 轮来回。

五、截图大法:Claude Code 的多模态杀手锏

Claude Code 支持直接理解图片。Aaron日常工作中,截图是使用频率最高的上下文方式

怎么在 Claude Code 里发截图?

把截图文件直接拖进终端窗口,或者给截图路径:

看一下这张截图 ~/Desktop/error.png,帮我分析报错原因。

什么时候必须截图?

截图三原则

原则一:截全不截碎。 别只截你认为有问题的三行。整个终端窗口截下来——你觉得无关的部分,Agent 可能从中发现关键线索。

原则二:圈出重点。 macOS 截图后点右下角缩略图即可标注。用红框圈出重点区域,Agent 会优先分析标注部分。

原则三:多图一起发。 代码截图 + 报错截图 + UI 截图打包发送 = 完整「案发现场」。Agent 能交叉比对定位问题。

💬 通俗讲:截图就像去医院带上 CT 片、化验单、用药记录。医生一看全明白,不用你口述半天还说不清。

🌟 实战建议:养成肌肉记忆——遇到问题,先截图,再提问。 截图的过程本身会帮你整理思路,有时截着截着你自己就发现问题在哪了。

六、精准提问:做什么 + 在哪做 + 做成什么样

上下文给够了,接下来是把需求说清楚

模糊 vs 精准

Aaron把同一个需求用两种方式问 Claude Code,结果天差地别:

模糊问法(需要 3-5 轮修正):

帮我改一下网页。

精准问法(一轮搞定):

读一下 ~/my-blog/index.html 和 style.css。 首页加载太慢了,图片都是原图直接放的。 帮我把 images/ 下所有图片压缩到 200KB 以内, 然后在 HTML 里加上图片懒加载(loading="lazy")。 不要改页面的布局和文字。

🔑 关键点:好问题有四个要素——做什么 + 在哪做 + 做成什么样 + 有什么限制。 四个都给了,一轮搞定的概率翻倍。

指定输出格式

别让 Agent 猜你想要什么格式。Claude Code 支持直接写文件,告诉它写到哪:

💬 通俗讲:你去餐厅不会只说「来份饭」。你会说「一碗牛肉面,不要香菜,多放辣椒」。跟 Claude Code 说话也一样——描述越具体,端上来的越合你胃口。

Claude Code 黄金提问结构

[文件] 读一下 {具体路径} [问题] {什么地方} 有 {什么问题/需要什么改动} [要求] {具体约束:性能指标/格式要求/不能改的部分} [输出] 改完后保存 / 输出到 {路径} / 用 {格式}

你不需要每次都这么正式,但脑子里过一遍这四行,问题质量立刻上一个台阶。

高频操作做成 Custom Command

如果某种提问方式你反复使用,可以在 .claude/commands/ 目录下创建自定义命令。比如创建一个 review.md,以后只需输入 /review 就能触发完整的代码审查流程。重复的提问模板化,省掉的是每次重新组织语言的时间。

七、Plan 模式与 Subagent:复杂任务的正确打开方式

Aaron见过最常见的翻车现场:一个提示词塞进十个需求。

❌ 「帮我做一个个人网站,要有首页、关于我、作品集、博客、联系方式, 还要能在手机上看,加上暗色模式,部署到网上。」

Agent 拿到这个,大概率给你一坨半成品——什么都沾了点,什么都没做好。

Explore → Plan → Execute 三阶段工作法

2026 年社区总结出的黄金工作流——先探索、再规划、后执行

第一步(Explore):「看一下 ~/my-site/ 目录现有的文件,告诉我项目现在什么状态」 第二步(Plan): 按 Shift+Tab 切换到 Plan 模式,让 Agent 制定实施计划 第三步(Execute):审阅计划后确认,Agent 按计划逐步执行

🎯 一句话理解:Shift+Tab 随时在 Plan 模式和执行模式之间切换。先画图纸再施工,急着动手反而慢。

Subagent:让 Agent 自己分身

当任务涉及多个独立子模块时,Claude Code 的 Subagent 能并行处理多个子任务,每个子任务有独立的上下文,不会污染你的主对话:

帮我做个人网站。用子任务并行处理: 1. 创建首页 index.html(导航栏 + 自我介绍) 2. 同时创建关于页 about.html(详细经历 + 技能列表) 3. 同时写统一样式 style.css(响应式,手机也能看)

Agent 会自动派出 Subagent 分头执行,最后汇总结果。你的主对话保持干净。

Aaron的拆解思路

即使不用 Plan 模式,你也可以手动拆解。以「做个人网站」为例:

每一步完成后你都能审查、纠正,确保方向不跑偏。

🧠 底层逻辑:拆解的本质是降低每一步的认知负荷。Agent 处理一个小而清晰的任务,质量远高于处理一个大而模糊的任务。Plan 模式能减少约 45% 的架构错误,拆成 5-10 分钟的原子任务能减少 30% 的幻觉。

🌟 实战建议:拆完后先让 Agent 复述它的理解。Aaron踩过的最大坑——以为 Agent 理解了,结果它的理解和你想的完全不同。确认对齐再动手,省下的是后面反复返工的时间。

八、上下文管理:/clear、/compact 和新对话的艺术

Claude Code 的上下文窗口很大,但大不代表可以乱塞

Aaron发现一个规律:对话超过 20 轮,回答质量开始下滑。 不是 Agent 变笨了,是上下文里的噪音太多,干扰了它的判断。

Claude Code 的四个上下文管理工具

💡 划重点/rewind 是 2026 年新增的杀手级功能。Agent 改错了代码?/rewind 一键回到上一步,代码和对话同时回滚。比手动 git checkout 优雅得多。

什么时候该开新对话?

优雅转场:Document & Clear

开新对话不意味着从零开始。Aaron推荐 2026 年社区最流行的 Document & Clear 模式:

第一步:让 Agent 把当前进度总结写入一个文件 → 「把我们的实施计划和完成进度写到 docs/progress.md」 第二步:/clear 清空对话 第三步:新对话里直接引用文件 → 「读一下 docs/progress.md,继续下一阶段的工作」

或者更简单的前情提要法:

上一轮我们完成了个人网站的首页和关于页(HTML + CSS)。 现在进入第二阶段:添加作品集页面。 文件在 ~/my-site/ 目录下,风格和现有页面保持一致。 第一个任务:创建 portfolio.html 页面,展示 6 个项目卡片。

💬 通俗讲:这就像整理办公桌——一个项目做完了,归档资料,清出桌面。桌上堆满上个项目的文件,你怎么专心做新的?

💡 划重点:不要盲目信任自动压缩。大型任务推荐 Document & Clear——把关键决策外化到文件,比留在对话上下文里更可靠、更持久。

九、实战对比:同一个任务,新手 vs 高手怎么问

Aaron用一个真实场景,把前面所有原则串起来。

任务:你跟着教程做了一个 Python 小工具,用来批量重命名照片文件。但运行时报错了,而且重命名后的文件名不是你想要的格式。

新手的问法

第 1 轮:「Python 脚本报错了,怎么办?」 Agent:[给了一堆通用的调试方法] 第 2 轮:「不是,我是说文件重命名不对。」 Agent:[问你脚本在哪、报什么错] 第 3 轮:[粘贴了 80 行代码]「就是这个。」 Agent:[分析了半天,给了几个可能的原因] 第 4 轮:「我试了你说的方法,还是不行。」 Agent:[继续猜] …… 来回 8 轮,问题还没解决。

高手的问法

读一下 ~/tools/rename_photos.py。 这个脚本的功能是把 ~/Photos/ 下的照片按拍摄日期重命名, 格式应该是「2026-03-13_001.jpg」,但实际输出的是「None_001.jpg」。 运行命令是 python3 ~/tools/rename_photos.py,报了一个 warning 但没中断。 请帮我: 1. 运行一下看看具体报什么错 2. 分析为什么日期读取失败(照片是 iPhone 拍的 HEIC 转 JPG) 3. 修复脚本,确保能正确读取 EXIF 日期

Agent 读了脚本、跑了一下、发现是 EXIF 库不支持转换后的 JPG 格式,3 分钟修好。一轮搞定。

差异在哪?

🔑 关键点:高手和新手的差距不在技术水平,在于「给 Agent 多少有效信息」。你不需要自己会修 bug——你只需要把 bug 的「现场」描述清楚(哪个文件、什么现象、期望什么),让 Agent 去修。

总结

核心要点

  • ✅ CLAUDE.md 是你的「永久预设」——用 /init 生成初稿,根据 Agent 犯错迭代补充
  • ✅ 给路径不给描述——Claude Code 能自己读文件,别再手动粘贴代码
  • ✅ CIF 公式(Context + Intent + Format)解决 Agent 看不到的上下文
  • ✅ 截图是最高效的上下文传递方式——先截图,再提问
  • ✅ Explore → Plan → Execute 三阶段工作法,Shift+Tab 一键切换 Plan 模式
  • ✅ Subagent 并行处理子任务,保持主对话上下文干净
  • /rewind 回滚错误操作、Document & Clear 管理长任务——上下文管理是高手和新手的分水岭

最佳实践

建议先用 /init 一键生成 CLAUDE.md,然后根据 Agent 犯的错逐条补充规则。从今天开始刻意练习:提问前先给文件路径而不是粘贴代码,遇到报错先截图再开口,复杂任务用 Shift+Tab 进 Plan 模式再动手,走错方向用 /rewind 回滚而不是手动撤销。坚持一周你会发现 Agent 的回答质量明显提升,来回修正的次数大幅减少。记住:Claude Code 的上限不在它那边,在你这边。你问得越好,它就越强。

📊 本页表格(5 张,从原数据库还原)

作用内容示例
Agent 知道该用什么工具技术栈`Python + uv,禁止 pip`
输出的代码符合你的审美代码风格`中文注释,函数不超过 20 行`
Agent 知道文件放哪里项目结构`脚本放 scripts/,日志放 logs/`
避免 Agent 做你不想要的事行为规则`不要自动 git push`
告诉 Agent 你期望的写法代码示例贴一段现有代码作为参考模板
Claude Code(给路径)网页版 AI(手动贴代码)
「读一下 ~/my-app/app.py,运行报错了」「这是我的代码:[粘贴 200 行],运行报错了」
「看一下 ~/my-blog/index.html,按钮样式不对」「这是我的网页:[粘贴 HTML],样式不对」
「运行 python3 ~/my-app/app.py 报错了,帮我看看」「这是报错信息:[粘贴 50 行]」
场景为什么文字不够
终端报错红色报错信息一大堆,复制容易丢格式
网页样式问题「按钮偏了」远不如一张截图直观
安装软件失败弹窗错误信息,截图比抄写准确 10 倍
效果不对「颜色不对」「布局乱了」,截图一看就懂
这样说需求
「用表格对比 React 和 Vue 的优缺点,写到 ~/notes/对比.md」需要对比分析
「用 Python 写,带中文注释,保存到 ~/tools/rename.py」需要代码
「修改 ~/my-blog/index.html 的导航栏,加一个'作品集'链接」需要修改现有文件
「把 ~/Desktop/数据/ 下所有 CSV 转成 Excel,保持同名」需要批量操作
Agent 怎么做你怎么问步骤
输出目录树「先创建项目目录结构,列出需要哪些文件」第一步
写代码「写首页 index.html,包含导航和自我介绍」第二步
写代码「写统一样式 style.css,白底黑字简洁风」第三步
写代码「加上关于页和作品集页,复用首页的导航和样式」第四步
运行 + 调试「在浏览器里打开看看效果,有问题帮我修」第五步
作用工具什么时候用
压缩对话历史,保留关键信息`/compact`对话变长但还在同一个任务
清空当前对话`/clear`任务完成,准备开始新任务
回滚到之前的检查点`/rewind`Agent 走错方向,撤销最近的操作
全新的干净环境退出重开Agent 陷入错误思路,需要彻底重置
信号操作
一个独立任务完成了`/clear` 或退出重开
话题从前端跳到数据库开新对话,带上必要上下文
Agent 连续两轮答案不理想先试 `/rewind`,不行再退出重开
对话超过 30 轮先 `/compact`,如果还不行就退出重开
新手高手维度
靠 Agent 追问才补充开头就给齐上下文
手动粘贴代码片段给路径让 Agent 自己读和运行文件
模糊(「报错了」)精确(什么文件、什么现象、期望什么)问题
没说清楚想要什么明确列出三个输出期望
8 轮未解决1 轮搞定轮次