AI Coding 教程第 0-4 部分学习笔记
来源依据:《尚硅谷AI Coding教程》
环境准备与开发工作台搭建
1. 这一部分真正要解决什么
第零部分不是单纯教你安装几个软件,而是在搭建 AI 编程的"工作台"。后续无论使用 Claude Code、Codex、Cursor,还是做前端、后端、知识库项目,都离不开三个基础能力:
- 会用终端发出命令。
- 有 Node.js / npm 这类项目运行与包管理工具。
- 有 Git 作为"后悔药",能在 AI 改坏代码时回退。
可以把它理解成:终端是控制台,Node.js 是很多现代 Web 项目的运行底座,Git 是项目存档系统。环境没配好,后面遇到报错时很难判断是 AI 写错了,还是电脑本身缺工具。
2. 终端:AI 编程的基本入口
终端与图形界面的区别在于:图形界面靠点击,终端靠文字命令。Claude Code 这类 Agent 工具大量依赖终端,所以初学者至少要掌握"我在哪、这里有什么、我要去哪、我要创建什么"这几类操作。
最小命令集:
bash
pwd # 查看当前所在目录
ls # macOS / Linux 查看当前目录内容
dir # Windows PowerShell 查看当前目录内容
cd Desktop # 进入 Desktop 目录
cd .. # 返回上一级目录
cd ~ # 返回用户主目录
mkdir my-project # 创建文件夹
clear # 清屏
学习终端不要追求一次记住所有命令,先形成路径意识:
"我当前在哪个文件夹?"、"我要把项目放在哪里?"、"AI 正在操作哪个目录?"
这几个问题比背命令更重要。
常见坑:
- 文件夹和文件名尽量使用英文,避免中文路径导致工具报错。
- 终端报错不代表电脑坏了,大多数只是命令拼错、路径不对或工具未安装。
- Windows 用户使用 PowerShell 时,如果遇到执行策略限制,需要根据提示调整权限。
3. Node.js:前端与 Claude Code 安装的基础环境
Node.js 是让 JavaScript 在本地电脑运行的环境,npm 是随 Node.js 一起安装的包管理器。教程中推荐安装 Node.js LTS 版本,因为它稳定、兼容性好,也满足 Claude Code npm 安装方式的前置要求。
安装后必须重新打开终端,再验证:
bash
node -v
npm -v
如果能输出版本号,说明安装成功。文档强调:如果用 npm 安装 Claude Code,Node.js 版本至少需要 v18 或更高。
安装时要注意:
- Windows 安装 Node.js 时确保勾选
Add to PATH。 - 如果
node: command not found或提示"不是内部或外部命令",通常是 PATH 没生效,需要重启终端或重新安装。 - macOS 用户可使用 nvm 管理 Node 版本,方便以后切换不同项目所需版本。
4. Git:AI 编程里的"游戏存档系统"
Git 的价值不只是团队协作,更是 AI 编程中的风险控制。因为 AI 可能会一次性修改很多文件,也可能写出能跑但不符合你预期的方案。没有 Git,改坏后只能手动找回;有 Git,就能回到之前的存档点。
首次安装 Git 后需要设置身份信息:
bash
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
最小生存命令:
bash
git init
git status
git add .
git commit -m "描述这次修改做了什么"
git push
git pull
在 AI 编程中最重要的一条纪律是:
bash
git add . && git commit -m "保存当前进度"
每次让 AI 做大改动之前,先提交一次。AI 改坏后,可以用:
bash
git checkout .
恢复到上一个提交时的状态。这个习惯比记住复杂 Git 命令更重要。
5. Python:后续项目的可选依赖
文档把 Python 标为可选,因为它主要在后续 AI 知识库类项目中使用。如果当前重点是前端和 Claude Code 入门,可以先跳过;如果后续要做数据处理、知识库、脚本自动化,建议提前安装。
验证方式:
bash
python --version
# 或 macOS / Linux:
python3 --version
pip --version
6. 环境准备完成检查
完成第零部分后,至少要达到以下状态:
- 终端可以正常打开并执行基础命令。
node -v能输出 v18 或更高版本。npm -v能输出版本号。git --version能输出版本号。- Git 已配置 user.name 和 user.email。
- 已创建一个英文路径的 AI 编程工作目录,例如
ai-coding-projects。
建议以后所有 AI 编程项目都放在统一目录里,降低路径混乱和中文路径问题。
7. 本笔记复盘问题
- 为什么 AI 编程反而更需要 Git?
pwd、cd、ls/dir分别解决什么问题?- 为什么建议项目路径使用英文?
- Node.js 和 npm 在后续 Claude Code / Web 项目里分别扮演什么角色?
AI 编程基础理论与方法论
1. AI 辅助编程的核心变化
传统编程要求人逐行写代码,重点是"怎么做"。AI 辅助编程把人的角色从代码编写者转为需求定义者、结果审查者和迭代指挥者,重点变成"做什么"和"为什么做"。
这不是说完全不需要技术理解,而是学习路径发生变化:过去是先系统学语法、算法、框架,再做项目;现在可以先用自然语言驱动 AI 做出可运行项目,再在使用中逐渐理解代码、框架和工程规范。
人的核心能力变成:
- 清楚描述需求。
- 给出足够上下文。
- 判断 AI 输出是否符合目标。
- 在错误发生时指导 AI 修复。
- 用 Git、测试、规范控制风险。
2. AI 编程的发展阶段
文档把 AI 编程的发展分成四个阶段:
| 阶段 | 代表工具 | 主要能力 |
|---|---|---|
| 智能补全时代 | GitHub Copilot、TabNine | 根据当前代码补全一行或一个函数 |
| 对话式编程时代 | ChatGPT、Claude.ai | 根据提问生成代码片段和解释 |
| 智能体编程时代 | Claude Code、Cursor Agent、Codex | 读写文件、运行命令、自主完成任务 |
| 协作工程时代 | 多 Agent 工具 | 多个智能体分工协作完成项目 |
真正的分水岭是第三阶段。对话式 AI 只能"告诉你怎么写",你还要手动复制、粘贴、运行、调试;智能体工具可以自己读项目、改文件、运行命令、根据报错继续修复。这也是后续重点学习 Claude Code 的原因。
3. Token、上下文窗口与幻觉
理解 AI 编程,必须知道三个概念。
Token 是模型处理文本的基本单位。中文约 1-2 个字符对应一个 Token,英文约 4 个字符对应一个 Token。输入内容越长、输出越多,消耗的 Token 越多,费用也越高。
上下文窗口 是模型一次能"记住"的内容量。窗口越大,AI 能同时看到的项目文件、规范文档和对话历史就越多。对编程任务来说,长上下文非常关键,因为项目级修改往往需要同时理解多个文件之间的关系。
幻觉 是 AI 一本正经地生成错误内容。例如它可能引用一个不存在的函数,或者假设项目中有某个文件。解决方式不是完全不信任 AI,而是"信任但验证":让 AI 运行测试、检查文件、给出依据;关键代码必须人工审查。
4. Vibe Coding:快速把想法变成可运行原型
Vibe Coding 的重点是"意图优先"和"快速迭代"。你不必一开始就纠结每一行代码怎么写,而是先描述想要的效果,让 AI 实现一个能跑的版本,再根据结果不断调整。
适合场景:
- 原型开发。
- 学习项目。
- 个人工具。
- UI 和前端页面。
- 不确定最终形态、需要边做边看的探索性任务。
不适合完全放飞的场景:
- 银行、医疗、支付等生产核心系统。
- 用户认证、加密、权限等安全敏感代码。
- 性能要求极高的底层系统。
Vibe Coding 不是乱来,而是把关注点从"代码细节"前移到"需求表达、体验反馈、快速迭代"。它适合启动项目,但项目变大后必须引入更工程化的方法。
5. Agentic Engineering:从感觉驱动到工程化控制
当项目变复杂,纯 Vibe Coding 会暴露问题:代码质量不可控、AI 前后实现不一致、缺乏全局架构意识、难以团队协作。Agentic Engineering 就是在 AI 编程中引入规划、规范、分工、验证和复盘。
智能体 Agent 的关键不是能聊天,而是能自主完成任务。它的工作循环是:
text
感知项目 → 推理计划 → 执行操作 → 观察反馈 → 修正方案
Claude Code 就是典型编程 Agent:它能读文件、改文件、运行命令、根据报错继续修复。
复杂项目还可以使用多 Agent 协作:
- Leader-Worker:一个领导 Agent 拆任务,多个执行 Agent 完成编码、测试、研究。
- Pipeline:需求分析 → 架构设计 → 编码 → 测试 → 部署。
- Peer Review:多个 Agent 从不同角度互相审查。
初学者暂时不需要马上使用多 Agent,但要建立意识:AI 编程不只是"让模型写代码",而是要组织一套可控的开发流程。
6. SDD:规范驱动开发
SDD(Specification-Driven Development)强调先写规范,再让 AI 执行。规范就是人和 AI 之间的合同,用来说明:
- 要做什么:PRD 产品需求文档。
- 怎么做:SPEC 技术规范文档。
- 做到什么程度:质量规范、测试规范、安全规范。
PRD 关注用户和功能。典型用户故事格式:
text
作为一个 [角色],
我希望 [功能],
以便 [价值/目的]。
验收标准常用 Given / When / Then:
text
Given:系统中已有若干文章
When:用户点击某个标签
Then:页面只显示该标签下的文章
SPEC 关注技术实现,通常包含:
- 系统架构。
- 技术选型。
- 数据模型。
- API 接口。
- 项目目录结构。
建议在项目根目录建立:
text
specs/
├── PRD.md
├── SPEC.md
├── ARCHITECTURE.md
└── API.md
这些规范文件可以直接作为 Claude Code 的上下文输入,能显著减少 AI 猜测空间。
7. 模型选择的基本思路
模型选择不应只看"哪个最强",而要看任务复杂度、成本、上下文长度、中文能力、是否需要本地部署。
文档中提到的主要模型系列:
- Claude:代码质量和长上下文强,Sonnet 适合日常开发,Opus 适合复杂规划。
- GPT:多模态和工具生态成熟,适合截图转代码、复杂推理和 OpenAI 生态任务。
- GLM:中文和代码能力均衡,国内可用性较好。
- DeepSeek:性价比高,适合预算敏感的代码任务。
- 通义千问:中文理解和阿里云生态较强。
- Gemini、Kimi、Llama、Mistral:分别适合超长上下文、中文长文档、本地部署、开源替代等场景。
实战选型可以遵循:
text
简单修改 → 便宜快速模型
日常开发 → Sonnet / DeepSeek / GLM
复杂架构或疑难 Bug → Opus / GPT / DeepSeek Pro
隐私敏感 → 本地 Ollama + 开源模型
8. 本笔记复盘问题
- AI 辅助编程中,人的角色发生了什么变化?
- Vibe Coding 适合什么,不适合什么?
- Agent 和普通聊天机器人的本质区别是什么?
- 为什么 SDD 能降低 AI 编程翻车概率?
- 简单任务和复杂任务为什么不应该用同一个模型?