2 日常使用
本章介绍 Claude Code 的日常使用方式:如何启动、如何与它对话、如何处理项目文件、常用命令的作用,以及在执行复杂任务前先让它”说出计划”的规划模式。掌握这些,你就能把 Claude Code 变成真正的研究助手。
贯穿本章,我们以一个具体的研究项目为例:用 CGSS 2021(中国综合社会调查)数据分析省际收入不平等,项目文件夹名为 cgss2021-analysis/,核心数据是 data/cgss2021.dta,目标是用 OLS 回归检验教育年限和年龄对个人收入(取对数)的影响,并控制省份固定效应。每个操作步骤,我们都会展示你实际输入的提示词,以及 Claude Code 具体执行了什么。
本章示例涉及 R 代码(haven、ggplot2、estimatr 等)。如果你尚未安装 R,请先完成第3章的 章节 3.3 再运行示例代码;浏览示例内容本身无需 R 已安装。
2.1 启动与打开项目
你刚完成第一章的安装,面前是一个空白的 VS Code 窗口。你的研究项目——比如一份 CFPS 面板数据分析——放在电脑的某个文件夹里。第一步是让 Claude Code 找到它。
打开项目文件夹:点击菜单栏”文件”→“打开文件夹”,选择你的研究项目所在的文件夹;也可以直接把文件夹拖入 VS Code 窗口。打开后,左侧资源管理器会列出文件夹内的所有文件。
打开 Claude Code 面板:在 VS Code 左侧活动栏点击 Claude Code 图标,对话面板会在右侧弹出。你不需要在终端输入任何命令——点击图标即可开始。
推荐布局:
- 左侧:文件资源管理器,用于查看项目结构
- 右侧:Claude Code 面板,用于对话
- 下方:终端(可选,用于直接运行 R/Python 命令)
一个项目,一个文件夹:就像一篇论文的所有材料放在同一个文件夹——Claude Code 的工作范围也以文件夹为边界。一个研究项目对应一个独立文件夹,Claude Code 会自动感知这个文件夹内的所有文件。
Claude Code 只能看到当前打开的文件夹内的文件。如果你的原始数据放在其他路径,它无法直接访问。建议把分析所需的数据也放入项目文件夹,或在第一次对话时告知它数据所在位置。
以 CGSS 项目为例,打开 cgss2021-analysis/ 文件夹并启动 Claude Code 面板后,可以这样开始第一次对话:
你对 Claude Code 说: 你好,我在做一个 CGSS 2021 收入不平等研究。数据在 data/cgss2021.dta,分析脚本放在 scripts/ 目录下。请先帮我了解这份数据的基本情况:有哪些变量,缺失值比例如何。
Claude Code 做了什么: 写了一段 R 代码读取 .dta 文件,列出所有变量名和各变量的缺失值比例,并在对话框中直接展示结果。
2.2 和 Claude Code 对话
项目已打开,Claude Code 面板就绪。你想清洗一份 CGSS 数据,但从没和 AI 编程助手对话过——该怎么说?说多少?
2.2.1 核心交互循环
基本模式很简单:你用自然语言描述任务,Claude Code 读取项目文件、写出代码或修改文件,你查看结果、给出反馈。这是一个来回的对话,不是发出一条命令就完事。
大多数时候,你不需要写完美的指令。但描述得越具体,结果越接近你想要的。
2.2.2 怎么说才有效
把任务说具体,是获得好结果最有效的方式。以 CGSS 项目为例,对比同一个操作的不同表达方式:
| 效果不佳 | 效果更好 |
|---|---|
| 帮我分析数据 | 读取 data/cgss2021.dta,筛选 18–65 岁受访者,用 R 计算各省份平均收入和标准差,输出为 output/desc_stats.csv |
| 修一下这个错误 | 运行 scripts/01-clean.R,把报错信息发给我,帮我修复 |
| 做个图 | 用 ggplot2 画各省份平均收入的条形图,按均值降序排列,保存到 output/fig_income.png |
| 写个回归 | 在 scripts/02-analysis.R 里,用 lm() 做收入对教育年限和年龄的 OLS 回归,因变量取对数,控制省份固定效应 |
具体描述不是说你要写一大段话——而是告诉 Claude Code:操作哪个文件、用什么工具、输出到哪里。
2.2.3 结果不对怎么办
拿到结果发现有问题,不要说”重来”或”再做一次”——这样 Claude Code 不知道哪里出了问题。要告诉它具体什么不对:
- “回归结果里收入用的是原始值,但我说了要取对数——请修改 scripts/02-analysis.R,把 income 替换为 log(income + 1)”
- “回归表里缺少标准误,请加上”
- “图的横轴标签重叠了,请旋转 45 度”
- “数据清洗步骤把缺失值删掉了,但我需要保留——请用
NA标记而不是直接删行”
Claude Code 在同一次对话中能记住你的反馈,会根据你的说明修正之前的结果。
2.2.4 读取、编辑、创建
Claude Code 对项目文件能做三件事,你可以用自然语言要求它:
- 读取:了解现有文件的内容和结构
- 编辑:修改已有的脚本或文档
- 创建:新建分析脚本、配置文件或输出文档
这三件事可以嵌套:比如先让它读取一个数据文件了解变量,再让它创建一个新脚本来做分析。在 CGSS 项目里,这三种操作分别对应:
你对 Claude Code 说: 读取 data/cgss2021.dta,列出收入、教育年限、年龄相关的变量名,以及各变量的缺失值比例。
Claude Code 做了什么: 调用 R 读取文件,生成变量清单,直接在对话框中展示。
你对 Claude Code 说: 修改 scripts/01-clean.R,在数据筛选步骤中加入”排除缺失收入的观测值”,并在代码注释中说明原因。
Claude Code 做了什么: 打开 scripts/01-clean.R,定位筛选步骤,插入 filter(!is.na(income)) 并添加注释。
你对 Claude Code 说: 创建 scripts/02-analysis.R,用 lm() 做收入对教育年限和年龄的 OLS 回归,因变量取对数,加入省份固定效应,结果保存到 output/table_ols.html。
Claude Code 做了什么: 新建 scripts/02-analysis.R,写入完整的数据读取、模型估计和结果导出代码。
遇到 R 或 Stata 报错?直接把报错信息粘贴到 Claude Code 的对话框里。它能读懂错误代码并帮你定位问题——不需要你自己理解每一行报错信息。
2.3 文件操作
你的项目文件夹里可能有 .dta 数据、.R 脚本、导出的 .csv、还有一份 PDF 文献。Claude Code 能直接处理哪些?哪些需要先做一步准备?
2.3.1 在 VS Code 中查看文件
| 文件类型 | 直接预览 | 说明 |
|---|---|---|
.csv |
可以 | 单击即可在 VS Code 中查看内容 |
.R / .do / .py |
可以 | 直接打开编辑 |
.qmd / .md |
可以 | 直接打开编辑 |
.dta / .sav / .rds |
不可以 | 二进制格式,VS Code 无法直接预览 |
| 可以 | 单击打开,可能需要右键选择 “Open With” |
对于 .dta、.sav、.rds 等二进制格式,你不需要自己动手——可以让 Claude Code 写一段 R 代码来读取并展示文件内容,告诉你有哪些变量、基本分布是什么样。
你对 Claude Code 说: 读取 data/cgss2021.dta,列出所有变量名和变量类型,以及缺失值比例超过 10% 的变量,结果直接在对话里展示。
Claude Code 做了什么: 调用 R 的 haven::read_dta() 读取文件,计算每个变量的缺失率,筛选出缺失率 >10% 的变量,以表格形式在对话框中展示。
2.3.2 让 Claude Code 操作文件
用自然语言描述你想做的事就行:
- 读取文件:“读取 data/cgss2021.dta 并告诉我有哪些变量,以及各变量的缺失值比例”
- 编辑文件:“修改 scripts/02-analysis.R,把
lm()改成estimatr::lm_robust(),使用 HC2 标准误”(estimatr是一个提供稳健标准误的 R 包,需提前安装) - 创建文件:“创建一个新脚本 scripts/03-visualization.R,绘制主要变量的分布图并保存到 output/”
在指令中明确写出文件路径(如 scripts/02-analysis.R),可以避免 Claude Code 猜错目标文件。
2.3.3 极简项目文件结构
my-research-project/
├── data/ # 原始数据和清洗后的数据
│ ├── raw/
│ └── cleaned/
├── scripts/ # 分析脚本
├── output/ # 图表和表格输出
├── docs/ # 文档和笔记
└── CLAUDE.md # Claude Code 项目配置文件
CLAUDE.md 是一个特殊文件,用来告诉 Claude Code 你的项目背景——比如数据来源、分析目标、使用的软件版本。详见第4章。
2.4 常用命令
和 Claude Code 聊了半个小时后,你可能会发现它的回答开始变得奇怪——好像忘记了你之前说过的内容。这是怎么回事?
2.4.1 Claude Code 的”记忆”有限
Claude Code 的每次对话都有一个”上下文窗口”(context window),可以把它想象成一张工作桌——桌面空间有限,放的东西太多就得清理一些。当对话积累得足够长,早期的内容会被”推出桌面”,Claude Code 就好像忘记了之前的背景。
这是设计上的限制,不是故障。以下命令可以帮你管理这个问题:
| 命令 | 作用 | 什么时候用 |
|---|---|---|
/clear |
清空整个对话,从头开始 | 换了新任务,不想带着旧对话的包袱 |
/compact |
压缩对话历史,保留关键信息 | 对话变长了但还想继续当前任务 |
/model |
切换使用的 AI 模型 | 见下方说明 |
/help |
查看帮助信息 | 忘记命令时随时查 |
在 CGSS 收入分析项目里,当对话开始出现”失忆”时,用 /compact 可以保留你之前确认的分析方向(收入取对数、筛选 18—65 岁等),继续当前任务。如果准备换题目——比如从收入分析转向主观幸福感研究——则用 /clear 彻底清空,重新说明背景。
2.4.2 关于 /model
你可以用 /model 在不同版本的模型之间切换。Claude 目前有三个主要模型,分别对应不同的使用场景:
| 模型 | 定位 |
|---|---|
| Opus 4.6 | 最强推理能力,适合复杂分析、因果识别设计、阅读陌生代码逻辑 |
| Sonnet 4.6 | 能力与速度均衡,适合日常写代码、清洗数据、撰写报告 |
| Haiku 4.5 | 最快最轻量,适合简单问答、反复迭代的小改动 |
推荐默认使用 Sonnet 4.6,可以满足绝大多数研究任务。
两种切换方式:
/model:在对话框输入,选择想要切换的模型/fast:切换到 Fast 模式——注意这并非换用更弱的模型,而是让 Opus 4.6 以更快的输出速度运行
何时切换到 Opus? 当你遇到多步推理任务——比如从现有横截面 OLS 扩展为双向固定效应模型、评估工具变量的合理性、分析一段看不懂的 Stata 宏——可以临时切换到 Opus 4.6。任务完成后再切回 Sonnet,节省响应时间。
在对话框输入 /context 可以查看当前对话中各部分内容占用了多少上下文空间——初次使用时不必关注,但当你发现 Claude Code 回答质量下降、怀疑是上下文太长时,用这个命令可以确认问题所在。
2.5 规划模式
日常对话处理的是单步任务,但研究中有一类任务更复杂——步骤多、文件多,任何一步出错都要从头排查。规划模式就是为这种场景设计的。
在 CGSS 收入不平等项目里,你现在面临的正是这种情况:现有的横截面 OLS 要扩展为含省份固定效应的模型,同时重新生成所有输出文件。这需要修改两个脚本、更新三个输出——步骤环环相扣,任何一步出错都要从头排查。
2.5.1 什么是规划模式
规划模式让 Claude Code 在动手之前先”说出它的计划”——列出将要修改哪些文件、执行哪些步骤。你确认计划没问题后,它才开始执行。这对复杂任务特别有价值:你可以在执行前发现潜在问题,而不是事后补救。
2.5.2 如何开启
在 Claude Code 对话框中按 Shift+Tab 即可切换规划模式的开关状态。界面会出现明显提示,表明规划模式已开启。
什么时候不需要规划模式? 对于简单任务——比如”帮我看看这段代码有没有错误”或”给这个表格加一列”——直接对话更高效,不需要开启规划模式。规划模式适合高风险或多步骤的场景。
2.5.3 工作流
你输入任务需求
↓
Claude Code 输出详细计划(会修改哪些文件、执行哪些步骤)
↓
你审阅计划,可以要求调整
↓
你确认后,Claude Code 正式执行
2.5.4 适合开启规划模式的场景
高风险修改:重构已有数据清洗脚本、修改项目目录结构时,先看计划避免意外覆盖或误删。
复杂多步骤任务:多文件、多步骤的分析任务,先确认执行顺序和逻辑是否符合你的预期。
教学与学习:通过审阅计划理解 Claude Code 的操作逻辑——它打算怎么做,为什么这样做——有助于加速掌握工具能力。
2.5.5 示例
开启规划模式后:
你对 Claude Code 说: 在 scripts/02-analysis.R 中,把现有的横截面 OLS 改为含省份固定效应的模型(用 lm() 加入省份虚拟变量,或改用 fixest::feols()),同时重新生成 output/table_ols.html 和 output/desc_stats.csv。
Claude Code 会先输出类似这样的计划,而不是直接修改代码:
计划步骤:
1. 读取 scripts/02-analysis.R,确认现有 OLS 模型结构和因变量设置
2. 修改 scripts/02-analysis.R,加入省份虚拟变量(或改用 fixest::feols()),保留对数收入因变量
3. 重新生成 output/table_ols.html,注释中注明省份固定效应已控制
4. 更新 output/desc_stats.csv,确认描述统计基于清洗后的最终样本
确认后执行,还是需要调整?
你可以在这一步要求修改计划(比如”第2步用 fixest::feols(),包已安装,不需要 lm() 的虚拟变量写法”),确认后它才开始执行。
2.6 常见问题排查
| 问题 | 原因 | 解决方案 |
|---|---|---|
| VS Code 侧边栏没有 Claude Code 图标 | 插件未安装或未启用 | 按 Ctrl+Shift+X 搜索”Claude Code”,确认已安装并启用 |
| Claude Code 面板无响应 | 网络问题或未登录 | 检查网络连接;在插件面板中重新登录账户 |
| Claude Code 修改了错误的文件 | 描述不够明确,它猜了错误的目标 | 用 Ctrl+Z 撤销;下次在指令中明确写出文件路径,如”修改 scripts/02-analysis.R” |
| 回答质量突然下降,好像忘了背景 | 对话历史太长,早期内容被压缩 | 用 /compact 压缩历史;或用 /clear 重新开始,重新说明任务背景 |