首页 › tutorials › 新手第一句:提问与喂文件

新手第一句:提问与喂文件

概述:很多新手装好 Claude Code 后,随手敲一句"帮我改改这个项目",得到一个平庸的结果,就误以为它言过其实。问题几乎不在工具,而在怎么问和喂什么给它。本教程聚焦新手第一次上手最关键的三个动作——组织需求、引用文件、管理上下文——带你从"模糊一句话"进化到"一句话就能让 Claude 精准干活"。适合零基础开发者、第一次接触命令行 AI 编程助手、以及用了几天但觉得"不够聪明"的人。

前置条件

如果你还没装好,先在终端执行:

npm install -g @anthropic-ai/claude-code

安装完,cd 进你的项目目录,敲:

claude

首次运行会引导你登录(浏览器 OAuth 最省事)。登录成功后,你会看到一个等待输入的提示符。从这里开始,本教程才真正开始。


第一步:先搞懂它的"视野"——它只能看到当前目录

这是新手最容易忽略的一点:Claude Code 是一个项目级的智能体,它默认只"看"得见你启动它时所在的目录及子目录。它不像网页版那样需要你手动粘贴代码,也不像全局搜索那样能跨盘扫描。

# 错误做法:在 home 目录启动,然后问项目里的事
cd ~
claude
> 帮我看看 my-app 里的登录逻辑   # 它根本不知道 my-app 在哪

# 正确做法:先进项目根目录再启动
cd ~/projects/my-app
claude
> 帮我看看登录逻辑              # 它能直接读到代码

预期结果:在项目根目录启动后,它的第一条响应会准确引用到具体文件和行号;在错误目录启动,它会反问"项目在哪"或瞎猜。

常见问题:


第二步:掌握四种"喂内容"的方式

Claude Code 不是只能打字。把信息给它,有四种途径,新手至少要会用前三种:

方式 怎么用 适合场景
直接打字 正常输入框敲需求 简单指令、提问
@ 引用 看一下 @src/auth/login.ts 让它读某个文件/目录
# 记忆 # 我们用 pnpm 不用 npm 写进 CLAUDE.md 长期生效
管道喂入 cat error.log \| claude -p "分析这段错误" 喂动态输出、日志、大数据

2.1 @ 引用:最该养成习惯的动作

很多新手喜欢把代码复制粘贴到对话框里。这有两个问题:一是粘贴可能丢缩进、换行;二是占满上下文。正确做法是用 @ 让它自己去读:

读一下 @src/lib/server/inventions.ts 和对应的测试 @tests/intentions.test.ts,
然后给 @intentions.ts 加上"过期 token"的处理逻辑,并补一个测试。

@ 后面可以跟: - 文件:@package.json - 目录:@src/utils/(它会遍历读) - 图片:@docs/ui-mock.png(能看图!设计稿转代码就靠它)

预期结果:它会在回复里引用 文件名:行号,你点一下就能跳转。

2.2 # 记忆:说一次,永远记住

# 这个项目用 pnpm,测试用 vitest,禁止用 npm/yarn

输入 # 开头的一句话,Claude Code 会问你存到哪一级(项目级 CLAUDE.md、用户级、还是本地级)。确认后,这条约定从此每次会话自动加载,再也不用重复说。

2.3 管道喂入:喂它"动态的东西"

日志、命令输出、API 返回——这些没法 @ 引用的内容,用管道:

# 把报错日志直接喂给它分析
cat crash.log | claude -p "这是线上崩溃日志,帮我定位根因并给出修复方案"

# 让它先看仓库状态再回答
git diff | claude -p "审查这次改动,重点看有没有引入安全问题"

-p(print 模式)表示"问完即走,不开交互界面",特别适合一次性任务。


第三步:好问题 vs 坏问题(本教程核心)

Claude Code 的输出质量,90% 取决于你的提问质量。下面是新手最常踩的坑。

3.1 坏问题的典型特征

❌ 坏问题 1:「这个有问题,帮我修一下」
   —— 它不知道"这个"是啥,"问题"是啥
❌ 坏问题 2:「优化一下代码」
   —— "优化"可以是性能、可读性、删冗余,方向太多
❌ 坏问题 3:「加个功能」
   —— 哪个功能?加在哪?什么交互?

3.2 用"四要素公式"改写

一个好问题包含四个要素:目标 + 约束 + 参考 + 验收标准。

✅ 改写示例:

目标:给 @src/auth/login.ts 加上登录失败次数限制,连续 5 次失败锁定账号 15 分钟。
约束:用现有的 Redis 客户端 @src/lib/redis.ts 存计数,不要引入新依赖;
     保持现有函数签名不变,避免破坏调用方。
参考:错误处理的风格参照 @src/auth/signup.ts 里的 try/catch 写法。
验收:加完后跑 `pnpm test auth`,新增一个"锁定后再次登录应返回 429"的测试用例并跑通。

对比一下,第二种提问它几乎不可能跑偏,因为它知道做什么、用什么做、学谁的样子、做完怎么算成功。

3.3 一个新手必学的技巧:让它先给计划

涉及多文件、有风险的改动,别让它直接动手。先要计划:

我想重构 @src/utils/format.ts 里的日期格式化函数,拆成 3 个小函数。
先别改代码,给我一个改动计划,列出会动哪些文件、每个文件怎么改、有什么风险。

它给出计划后,你看一眼觉得没问题,再说"按这个计划执行"。这能避免它一口气改十个文件然后你发现方向错了、要全部回滚。

在 Claude Code 里,涉及实现的工作可以直接说"进入计划模式",或用 Tab 切换到 plan 模式,它只会读和规划,不会写文件,直到你批准。


第四步:上下文怎么累积,又怎么清理

这是新手从"能用"到"用得好"的分水岭。

4.1 上下文是累积的,所以连续追问很高效

> 读 @src/auth/login.ts,解释它的核心流程
(它解释完)
> 那如果用户 token 过期了,现在会走到哪个分支?
> 把这个分支单独抽成一个函数 verifyExpiredToken

后两句不用重复贴代码,因为前面已经把文件读进上下文了。这就是"对话式"相比"一次性大段提示"的优势:你可以一步步逼近目标,每步基于上一步。

4.2 但上下文有上限——该清就清

上下文窗口是有限的(虽然不小,但不是无限)。当你在同一个会话里换了一个完全不相干的任务,旧上下文反而会干扰它。判断信号:

这时果断 /clear:

/clear    # 清空当前对话,从干净状态开始(不影响你的代码文件)

4.3 不想丢进度?两个选择

命令 作用
/compact 把当前长对话压缩摘要,保留关键信息,腾出上下文空间。适合"任务还没完,但聊太久了"
/resume 之前 /clear 或关掉终端的会话,可以重新打开继续。适合"刚才那个任务还想接着做"

4.4 三个新手必会的状态命令

/cost      # 看这次会话花了多少 token / 多少钱,心里有数
/status    # 看当前登录账号、模型、工作目录
/model     # 切换模型(如切到更强或更快的模型)

养成习惯:长会话中途 /compact,换任务前 /clear,结束前 /cost 看一眼。


第五步:第一次实战——让它读懂并改进一个真实小项目

下面用一个最小可运行的项目,把前面所有技巧串起来。

5.1 准备项目

在任意目录创建 todo.js:

// todo.js —— 一个有 bug 的简易待办工具
const fs = require('fs');
const FILE = 'todos.json';

function load() {
  const raw = fs.readFileSync(FILE);   // 第一次运行会崩:文件不存在
  return JSON.parse(raw);
}

function add(task) {
  const list = load();
  list.push({ task, done: false });
  fs.writeFileSync(FILE, JSON.stringify(list));
  console.log('added:', task);
}

const cmd = process.argv[2];
const arg = process.argv[3];
if (cmd === 'add') add(arg);

5.2 启动并提问

cd 这个项目目录
claude

新手优质第一问(套用四要素公式 + @ 引用):

看 @todo.js。第一次运行 `node todo.js add 买菜` 会报错,因为 todos.json 不存在。
帮我修一下 load(),让文件不存在时返回空数组;
约束:不要改 add 的函数签名,保持同步写法;
验收:删掉(或不存在)todos.json 后,跑 `node todo.js add 买菜` 应该正常输出并生成文件,
再跑一次 `node todo.js add 写代码`,文件里应该有两条。

5.3 预期交互过程

它会: 1. 读 todo.js,定位到 load() 的 readFileSync 没有处理文件缺失 2. 给出修改(通常是加一层存在性判断) 3. 因为你的验收标准里有"跑命令验证",它会主动执行 node todo.js add ... 自测 4. 把测试结果贴给你看,确认两条待办都在文件里

关键体验:因为你把"验收标准"写清楚了,它自己跑了测试并自证成功,而不是甩给你一段代码让你自己验证。这是好提问带来的质变。

5.4 顺势追问(利用上下文累积)

接着上面,不需要重贴代码:

很好。再帮我加一个 `list` 命令,打印所有未完成的待办,格式是 `[1] 买菜` 这样的编号。

它会在已有理解上直接扩展,因为它已经知道这个文件的结构和你的风格。

5.5 把约定固化(用 #)

# 这个项目用 CommonJS(require),不要改成 ESM(import);测试方式是直接 `node todo.js` 跑。

存为项目级 CLAUDE.md。下次新开会话,它自动遵守,你再也不用叮嘱。

5.6 收尾

/cost      # 看这次大概花了多少
/clear     # 干净结束,或直接关终端,下次 /resume 能找回

整体工作流程图

flowchart TD
    A[cd 进入项目根目录] --> B[运行 claude 启动]
    B --> C{要不要读现有代码?}
    C -->|要| D[用 @ 引用文件/目录]
    C -->|不要| E[直接描述需求]
    D --> F[用四要素组织提问:目标+约束+参考+验收]
    E --> F
    F --> G{改动是否涉及多文件/有风险?}
    G -->|是| H[先要计划, 批准后再执行]
    G -->|否| I[直接让它改]
    H --> I
    I --> J[它自测并贴出结果]
    J --> K{继续这个任务?}
    K -->|是, 接着追问| L[利用上下文累积, 继续提问]
    K -->|换任务了| M[/clear 清空]
    K -->|聊太久但没完| N[/compact 压缩]
    L --> F
    M --> F
    N --> F
    F --> O[有通用约定? 用 # 写进 CLAUDE.md]

新手避坑清单

  1. 永远先 cd 到项目根再启动——这能解决一半的"它怎么不知道"问题。
  2. 能用 @ 就别复制粘贴——粘贴易出错且占上下文。
  3. 提问带验收标准——让它自己跑测试自证,比你看代码靠谱。
  4. 大改先要计划——Tab 进 plan 模式,批准了再动手。
  5. 换任务必 /clear——旧上下文是干扰源,不是资产。
  6. 重复的叮嘱用 # 记下来——一次写入,永久生效。
  7. 盯 /cost——早期建立对 token 消耗的直觉,避免烧钱无感。

延伸阅读


训练营适用性评估


参考来源

  1. Claude Code cheatsheet — Claude Help Center — 官方速查表,收录需形成肌肉记忆的全部命令(/clear、/compact、/init、/cost 等)与快捷键,本文斜杠命令清单与"打印贴在键盘旁"的建议来源于此。
  2. How to Use Claude Code (Beginner Guide) — builder.io — 新手完整指南,明确提出"大多数新手安装后敲一句模糊提示就判定它言过其实,把基础做好才能快速提效"的核心论点,本文"好问题/坏问题"框架据此展开。
  3. Referencing Files in Claude Code — Steve Kinney — 详解 @path 引用文件与目录的用法,强调"显式引用告诉 Claude 哪些文件定义了正确性",本文 @ 引用与"别复制粘贴"的建议来源。
  4. Claude Code: Complete Guide to Installation and Getting Started (2026) — neurohive.io — 2026 年安装与上手完整指南,明确 Claude Code 是"项目级"智能体(读写文件、运行命令、理解整个代码库),本文"视野=当前目录"的概念据此。
  5. CLI reference — Claude Code Docs — 官方命令行参考,本文 -p(print 模式)与管道喂入用法的权威出处。

[!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 等场景全覆盖。

51学通信知识星球海报-扫码加入