第1课

实用技巧 — 知道这些就能指挥AI

安装 Claude Code 只需一行命令。

打开终端(黑色屏幕),粘贴下面这一行就行了。搞定。

对智能体说:“curl -fsSL https://claude.ai/install.sh | bash”

Windows用户需要先安装WSL(Linux环境)。在PowerShell中运行"wsl –install",然后重启。

指挥AI的5个核心关键词

  1. API — 程序之间对话的规范。“帮我做个API”
  2. 前端 — 眼睛看得到的界面。“用React做个界面”
  3. 数据库(DB) — 存储数据的地方。“存到DB里”
  4. 提交(commit) — 保存当前状态的存档点。“提交一下”
  5. 部署 — 放到互联网上。“部署一下”

这五个词足以指明方向。AI会搞懂其余的。

AI的记忆靠3个文件管理

  • CLAUDE.md — 项目规则。AI在每次会话开始时自动读取。在里面写上"我们团队是这样工作的"
  • 需求文档.md — 你做过的决策记录。把"VIP折扣率10%“这样的业务决策连同日期写下来
  • 进度文档.md — 目前做到哪里了。让新会话中说"接着做"能管用

三个文件都是Markdown格式。不会写代码的人也能读写。

指挥AI的对话技巧

  • 一次只交代一件事。“先做登录API"比"把登录、注册和仪表板全做了"效果好
  • 出错时Claude Code会自动检查并修复。不需要你手动复制粘贴
  • 对话超过100轮时AI质量会下降。开新会话,但先更新上面那3个文件

快速体验

安装Claude Code并进行第一次对话。5分钟就够。

  1. 在终端创建项目文件夹并启动Claude Code

对智能体说:“mkdir -p ~/projects/my-first-app && cd ~/projects/my-first-app && claude”

  1. 在浏览器中登录(只需一次)

  2. 开始第一次对话

对智能体说:“在这个文件夹里创建一个Go Gin服务器。一个在端口8080返回Hello, World的API。”

AI会创建文件、启动服务器,甚至帮你验证。在浏览器中打开 http://localhost:8080 看看。


为什么要这样指挥

你已经试过用语言让AI做东西了。界面出来了,按钮能点了,数据也存上了。但有一个问题大概还悬在心里。

“这样继续往下做,真的没问题吗?”

要回答这个问题,首先要看清我们现在站在哪里。有什么工具,用什么词汇,以什么模式在工作。第1课就是展开地图的时间。从第2课开始,我们在这张地图上修路。

AI编程工具的格局

用语言指挥就能写代码的工具有好几种。大致分为两类。

编辑器类工具 — AI内嵌在代码编辑器中。

工具特点
Cursor基于VS Code的AI编辑器。一边看代码一边指挥AI修改
GitHub CopilotVS Code/JetBrains插件。自动补全和对话
Windsurf与Cursor类似的AI编辑器

编辑器类工具擅长边看边改代码。对程序员很好。但对不看代码的人来说,屏幕上的代码只是无意义的字符。

终端智能体 — AI在终端(黑色屏幕)中自主判断并执行。

工具特点
Claude CodeAnthropic开发的终端智能体。使用Claude模型
Codex CLIOpenAI开发的终端智能体。使用GPT/o模型

终端智能体不仅编辑代码,还能自主判断执行命令、确认测试、创建文件。你说"做个界面”,它就创建文件、启动服务器,出错就修复,再确认。这个自主验证循环是与编辑器类工具的决定性区别。

为什么选Claude Code

本课程以Claude Code为基准。

Claude Code目前在终端智能体中自主处理复杂多文件任务的能力最为出色。Token是AI读取的文字块单位。200K(20万)大约相当于一本小说,1M(100万)大约相当于五本小说。Claude Code基础支持200K token上下文,Opus 4.6模型最高支持1M token,可以一次掌握整个项目,同时修改多个文件。你说"做这个功能”,它就找到相关文件、写代码、跑测试、修bug,自动循环往复。Cursor等编辑器的智能体模式也做类似的尝试,但在文件搜索范围和自主判断深度上,终端智能体更胜一筹。

Codex CLI呢? OpenAI的终端智能体,概念与Claude Code相同。程序本身开发速度快,且包含在ChatGPT订阅中,门槛较低。不过作者没有在生产环境使用过,因此本课程不做介绍。掌握了Claude Code的原理,同样适用于Codex CLI。工具不同,方法论相同。

安装Claude Code

本课程以Ubuntu(或WSL)环境为基准。Mac用户的命令大部分也通用。

前提准备

  1. Anthropic账号:在 https://console.anthropic.com 注册
  2. 订阅方案:Claude Pro($20/月)或Max($100/月或$200/月)。Max的使用量限制更宽松
  3. Ubuntu或WSL:Windows用户需要先安装WSL(Windows Subsystem for Linux)

Windows用户:安装WSL

以管理员身份打开Windows PowerShell,运行以下命令。

wsl --install

这一行命令搞定WSL功能启用、Linux内核下载和Ubuntu安装。重启后Ubuntu会自动打开并询问用户名和密码。输入小写的短名称。

注意: 之后所有操作都在Ubuntu终端中进行。在PowerShell或CMD中安装Claude Code会报"Windows is not supported"错误。

方法一:原生安装(推荐)

不需要Node.js的最简单方法。

curl -fsSL https://claude.ai/install.sh | bash

安装完成后验证。

claude --version

显示版本号就成功了。

方法二:通过npm安装

这是给已有Node.js经验的人准备的。新手用方法一。

已经在用Node.js或需要版本管理时使用。

第1步 — 安装Node.js(需要18以上)

# 安装nvm(Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# 关闭终端重新打开,或者执行下面的命令
source ~/.bashrc

# 安装Node.js LTS
nvm install --lts

# 验证
node --version   # v22.x.x 以上就OK
npm --version    # 10.x.x 以上就OK

第2步 — 安装Claude Code

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

注意: 不要用sudo npm install -g。会引发权限问题和安全风险。

首次运行和认证

# 进入项目文件夹(没有就创建)
mkdir -p ~/projects/my-first-app
cd ~/projects/my-first-app

# 运行Claude Code
claude

首次运行时浏览器会打开请求Anthropic登录。登录后认证完成,之后自动连接。

WSL提示: 项目必须放在Linux文件系统(/home/用户名/)下。放在Windows那边(/mnt/c/)文件读取会极其缓慢。

安装验证清单

  • claude --version能输出版本号吗
  • 运行claude能出现提示符吗
  • 认证完成了吗(浏览器登录成功)

指挥时用的关键词 — 完整词典

不读代码也能指挥AI,但需要知道最基本的关键词。不需要学全部编程术语。能指明方向就够了。

现在不用背。 下面的表是词典。浏览一遍,以后AI说了你不懂的话时回来查就行。

后端 — 看不见的引擎

用户看不到的服务器端程序。接收、处理、存储、返回数据。

"用Go Gin做个API"
"用FastAPI做后端"
"做个Node.js Express服务器"
术语含义类比
API程序之间对话的规范餐厅的点单表
端点(Endpoint)API中每个功能的地址点单表上的每个菜品
服务器24小时运行、处理请求的程序厨房
GoGoogle开发的编程语言。快速简洁
Gin用Go做API的工具(框架)
FastAPI用Python做API的工具。易学
Node.js用JavaScript做服务器的环境

前端 — 看得见的界面

用户看到并点击的界面。在浏览器中运行。

"用React做个界面"
"做个登录页面"
"把列表用表格显示"
术语含义类比
React做界面的JavaScript工具。目前使用最广泛
组件(Component)界面的碎片(按钮、输入框、列表等)乐高积木
SPA不刷新页面、界面就变化的应用。像微信聊天一样,页面不重新加载,只是内容在变
CSS定义界面外观(颜色、大小、布局)的语言室内装修

数据库 — 记忆装置

数据永久存储的地方。即使关掉服务器,数据也会保留。

"建个PostgreSQL数据库"
"建个用户表"
"存到DB里"
术语含义类比
PostgreSQL最受信赖的开源数据库保险库
表(Table)数据按行和列整理的结构Excel工作表
DDL定义表结构的语言设置Excel的列标题
CRUD创建(Create)、查询(Read)、修改(Update)、删除(Delete)Excel行的增/查/改/删
SQL对数据库下命令的语言

部署 — 发布到世界

把做好的东西放到互联网上,让其他人能访问的过程。

"用Docker部署"
"放到AWS上"
"连接域名"
术语含义类比
Docker把程序装进箱子、在哪里都一样运行的工具搬家集装箱
AWSAmazon的云服务。服务器、存储、域名等出租大楼
部署(deploy)把代码放到服务器上运行开店
CI/CD代码变更后自动测试和部署的流水线自动配送系统

其他常见术语

术语含义类比
Git管理代码版本的工具。存档点游戏存档
提交(commit)保存当前状态的行为按存档按钮
GitHub把Git仓库放到互联网上的服务云存档
终端用文字给电脑下命令的黑色屏幕用短信指挥助理
目录/文件夹分类文件的容器文件柜抽屉
JSON交换数据的标准格式。在{ }里用名称:值的方式书写快递面单格式
环境变量把密码和配置值保存在代码之外的方法放在保险箱里的钥匙

这些术语不需要背。指挥AI时即使说"就是那个,存数据的那个"它也能听懂。但要理解AI回复的内容,这些最好认识。

知道了关键词,下一个问题就是:每次指挥AI都要解释这些吗?项目变大了AI还记得之前做过的事吗?这就要讲到上下文管理了。

上下文管理 — 驾驭AI的记忆

如果问AI最重要的是什么,大多数人会说"聪明的模型"。错了。是上下文

上下文(context)是AI当前记住的所有信息。你说的话、AI说的话、项目文件、规则——这一切都是上下文。问题是这个记忆有上限。

AI会遗忘

对话一长,AI就会忘记前面说过的话。你说"之前做的登录功能不是有吗",它却回问"哪个登录功能?"——上下文消失了。

开新会话就是完全的白纸状态。昨晚熬夜聊的内容全部蒸发。“接着做"行不通的原因就在这里。

那怎么办?把记忆外部化到文件中。

CLAUDE.md — 项目的宪法

CLAUDE.md是放在项目文件夹中的特殊文件。Claude Code在每次会话开始时自动读取这个文件。不需要你每次解释,AI从一开始就知道项目的规则。

可以把它想象成给新入职团队成员第一天早上做的简报文件。“我们团队这样工作,这些不能做,重要的东西在这里。”

下面是CLAUDE.md中写什么的示例。不是现在执行的,是写在文件里让AI每次都读的。

# CLAUDE.md

## 项目概述
待办事项应用。Go Gin后端 + React前端 + SQLite。

## 命令
- `go run main.go` — 启动服务器(8080端口)
- `cd frontend && npm run dev` — 启动前端

## 规则
- API响应始终为JSON
- 错误消息用中文
- 添加新功能时确认现有功能不会坏

## 结构
- `main.go` — 服务器入口
- `internal/handler/` — API处理器
- `internal/model/` — 数据模型
- `frontend/src/pages/` — 界面文件

这个文件最重要的特性:不会写代码的人也能读写。 Markdown是用#做标题、用-做列表的简单书写格式。文件用这种格式,内容是自然语言。

需求文档.md — 决策记录

你让AI"用户登录后显示仪表板”,AI做了。一周后你说"把登录后的首页换成设置页面"。AI不知道原来的决策是什么。你可能也忘了。

把决策记录到文件里。

# 需求文档.md

## 认证
- 只支持Naver OAuth登录
- 登录成功后跳转到仪表板(2026-05-20决定)
- 没有找回密码功能(因为是OAuth)

## 待办管理
- 待办事项有标题、内容、截止日期、优先级
- 已完成的待办不删除,标记为已完成(2026-05-21决定)
- 优先级分高/中/低三级(2026-05-21决定)

标注日期的原因是,以后要追溯"为什么这样做的?"

进度文档.md — 当前位置标记

# 进度文档.md

## 已完成
- [x] 项目初始设置
- [x] 用户表创建
- [x] 登录API
- [x] 待办CRUD API

## 进行中
- [ ] 前端待办列表界面

## 计划中
- [ ] 优先级筛选
- [ ] 截止日期提醒

当你对AI说"接着做"时,有这个文件它就能准确知道做到哪里了。

为什么是文件

不会写代码的人在长期项目中控制AI的核心就在这里。代码读不了,但文档能读。打开CLAUDE.md确认"这条规则对吗?",在需求文档.md里添加新决策,在进度文档.md里了解当前进度。

不要把AI的记忆交给AI管。把它提取到文件里,握在你自己手中。

氛围编程模式

氛围编程(vibe coding)这个词是Andrej Karpathy最先提出的。凭感觉(vibe)写代码。不读代码。在界面上点击和输入来验证。出错就把错误信息复制给AI。(Claude Code自动化了这个过程——它检测到错误并自己尝试修复。)

你已经在做的就是氛围编程。系统化整理是这样的。

基本流程

想法 → 指挥AI → 确认结果 → 请求修改 → 重复

实际对话是这样的。

第1步:从数据结构开始

"看看这个Excel。设计一个存储这些数据的DB表。"

AI会提出表结构方案。你指出"这列不需要"、“日期格式这样改"来修正。

第2步:做API

"给这个表做CRUD API。"

API做好了。这是存储和查询数据的功能。此时没有界面。但AI会在终端直接测试。

第3步:做界面

"做一个调用这些API的React界面。要能列表、添加、修改、删除。"

在浏览器中确认。列表出来了,有添加按钮,输入就能保存。

第4步:添加功能

"加个搜索功能。"
"加个只显示已完成的筛选按钮。"
"按优先级排序。"

到这里就是氛围编程的黄金时间。3个功能以内像魔法一样快。

如何验证

不读代码的话,验证结果只有一种方法:亲自试用。

  • 在浏览器中打开界面点点看
  • 输入数据看是否保存了
  • 在列表中查询看看
  • 修改和删除试试

出错了?Claude Code自动检测错误并尝试修复。不需要你手动复制粘贴。

AI自己修复。

这种模式的局限

氛围编程快得惊人。但超过5个功能,奇怪的事就开始发生了。加了新功能,原有功能坏了。让AI修,别的地方又坏了。打地鼠游戏开始了。

为什么会这样?答案在第2课。现在只需要记住这个模式能用、但有局限就够了。

Claude Code使用指南 — 实战教程

装好了就来用吧。学习基本用法。

启动和退出

# 在项目文件夹中启动
cd ~/projects/my-first-app
claude

# 在Claude Code中对话
# 要退出:
/exit

基本对话

在Claude Code中用自然语言说就行。

> 在这个文件夹里创建一个Go Gin服务器。一个在端口8080返回"Hello, World"的API。

AI会创建文件、安装必要的包、编写代码。中间会问"可以创建这个文件吗?"、“可以执行这个命令吗?“允许后继续。

实用命令

在Claude Code中可以用斜杠(/)开头的命令。

命令功能
/exit退出Claude Code
/clear清空对话记录(重置上下文)
/compact总结对话以节省上下文
/help帮助

对话技巧

  1. 一次交代一件事。 “先做登录API"比"把登录、注册和仪表板全做了"结果更好。

  2. 具体地交代。 “出错时给用户显示红色消息"比"做得更好"更有效。

  3. 错误由Claude Code自动处理。 出错时Claude Code自动检测并尝试修复。不需要你复制粘贴。

  4. 中间确认。 每2-3个功能就在浏览器中确认,比一次要求10个最后再看更安全。

  5. 上下文太长就重新开始。 对话超过100轮AI回答质量会下降。用/clear重置或在新终端重新运行claude

实操:做一个待办事项应用

理论够了。动手做吧。

目标

在一个Claude Code会话中做出待办事项应用,添加3个功能。总耗时30-60分钟。

准备工作

开始实操前需要安装以下内容。还没有的话让Claude Code来装。

  • 安装Go:告诉Claude Code "帮我装Go"
  • 安装Node.js:告诉Claude Code "帮我装Node.js LTS"
  • 确认Claude Code运行claude --version能用吗

提示: 安装过程中遇到不懂的也别慌。问Claude Code"这个怎么弄?“它会帮你搞定。

准备

# 创建项目文件夹
mkdir -p ~/projects/todo-app
cd ~/projects/todo-app

# 运行Claude Code
claude

Step 1:做基本应用

在Claude Code中输入以下内容。

做一个待办事项Web应用。

技术栈:
- 后端:Go + Gin
- 前端:React
- 数据库:SQLite(文件DB,不需要安装)

功能:
- 添加待办(标题、内容)
- 查看待办列表
- 标记待办完成
- 删除待办

前端简洁一点。全部在一个页面显示。
后端服务器同时提供前端页面。

AI开始工作。自主进行文件创建、包安装、代码编写。出现许可提示时批准。

完成后启动服务器并在浏览器中确认。

启动服务器。告诉我访问地址。

在浏览器中打开http://localhost:8080。添加待办、标记完成、删除试试。

Step 2:添加功能 — 优先级

给待办添加优先级。高/中/低三级。
- 添加时能选择优先级
- 列表中显示优先级
- 高=红色,中=蓝色,低=灰色

在浏览器中确认。选择优先级添加一个待办试试。

Step 3:添加功能 — 截止日期

给待办添加截止日期。
- 添加时从日历中选择日期
- 列表中显示截止日期
- 过期的用红色背景高亮

在浏览器中确认。看看截止日期设为昨天的待办是否显示红色背景。

Step 4:添加功能 — 搜索

添加待办搜索功能。
- 列表上方放搜索输入框
- 筛选标题或内容包含搜索词的待办
- 输入时实时筛选

在浏览器中确认。添加多个待办后输入搜索词看筛选效果。

Step 5:创建CLAUDE.md

记录刚做好的项目状态。

为这个项目创建CLAUDE.md文件。包含项目概述、运行命令、目录结构、功能列表。

打开生成的CLAUDE.md读一读。明天在新会话中说"接着做"时,这个文件就是AI的记忆。

Step 6:创建需求文档.md

自己动手做。不要让Claude Code来做,用文本编辑器打开需求文档.md写上以下内容。

编辑器指南(WSL用户):

  • 在终端直接编辑:nano 需求文档.md(保存:Ctrl+O → Enter,退出:Ctrl+X)
  • 用VS Code编辑:code 需求文档.md(如果安装了VS Code,WSL会自动连接)
# 需求文档.md

## 待办管理
- 待办事项有标题、内容、优先级(高/中/低)、截止日期
- 已完成的待办不删除,标记为已完成
- 过期的待办用红色背景高亮

## 搜索
- 在标题和内容中搜索
- 实时筛选

## 技术
- 数据库用SQLite文件DB
- 后端同时提供前端页面

这个文件是你自己写的,不是AI。这很重要。决策由你来做,记录也由你来做。


第1课总结

本课涵盖的内容:

  1. 工具格局:分为编辑器类(Cursor、Copilot)和终端智能体(Claude Code、Codex CLI)
  2. Claude Code:自主验证循环、大规模上下文、多文件编辑,目前最强大的终端智能体
  3. 安装curl -fsSL https://claude.ai/install.sh | bash 一行搞定
  4. 关键词:后端、前端、DB、部署——能指明方向就够
  5. 上下文管理:用CLAUDE.md(规则)、需求文档.md(决策)、进度文档.md(状态)将AI的记忆外部化
  6. 氛围编程模式:Excel → DB设计 → API → 界面 → 添加功能。3个以内如魔法,5个开始裂缝

下一课预告:“为什么在5个功能时崩溃。” 在第1课做的应用上连续添加5个功能。大约在第3个时亲眼目睹已有功能崩坏的瞬间。然后从结构上剖析原因。


作业

完成第1课实操后,再尝试以下内容。

  1. 再添加2个功能:什么都行。分类、暗黑模式、待办排序等。观察到哪里还顺利,从哪里开始出问题。

  2. 完善CLAUDE.md:自己打开AI创建的CLAUDE.md读一读。有不理解的部分吗?有缺失的信息吗?自己动手修改。

  3. 在新会话中接着做:退出Claude Code再启动。说"接着做进行中的功能”。观察有CLAUDE.md和没有CLAUDE.md时的差异。


Reins Engineering 全部课程

课程标题
第1课如何指挥AI
第2课如何不信任AI
第3课不会崩溃的应用
第4课将决策移出代码
第5课有缰绳的AI
第6课通过就锁定
第7课翻转谄媚
第8课智能体的工厂
第9课代码之外的自动化
第10课数据的法则