这篇文章是 Vibe Coding 系列的第二篇。它不讨论某个工具的按钮怎么点,而是给有计算机基础的学生一条可执行的练习路线:从小脚本开始,逐步过渡到页面、接口、课程项目、完整 MVP 和科研实验。
系列导航
- Vibe Coding 系列导读:给计算机学生的 AI 协作开发路线
- 学习路线:Vibe Coding 学习路线:计算机学生如何从 0 到 1 上手 AI 辅助开发
- Cursor、Codex、Claude Code 怎么选:AI 编程工具链入门
- 从 Prompt 到可提交代码:Vibe Coding 的工程闭环
- 上下文工程:AGENTS.md、项目规则和可复用 Skills
- 实战篇:用 Vibe Coding 做课程项目、个人工具和科研复现
先明确目标:你不是在学偷懒
很多人第一次接触 Vibe Coding,会把目标设成“以后是不是不用学编程了”。这个目标很诱人,但对计算机学生来说方向是错的。
更合理的目标是:
我已经懂一些计算机基础,现在要学会把 AI 当成开发搭档,用它加速实现、调试、阅读和整理,同时保留自己的判断力。
这条路线不要求你已经是成熟工程师,但至少要有三个基础:会用命令行运行程序,能看懂一种主力语言的基本代码,知道 Git 的 add、commit、diff 是做什么的。如果这些还不熟,AI 也能帮你学,但你需要把“补基础”列入计划,而不是跳过去。
Vibe Coding 的学习路线可以分成六个阶段。每个阶段都有一个核心练习目标:先让 AI 帮你写小代码,再让它帮你连接模块,最后让它参与完整项目。
阶段一:从小脚本开始
第一个阶段不要做网页、App、全栈系统。先做脚本。
脚本的好处是反馈快,边界清楚,失败成本低。你可以从这些任务开始:
- 批量重命名文件;
- 统计一个 CSV 文件里的数据;
- 把 Markdown 目录生成出来;
- 把实验日志整理成表格;
- 批量压缩图片或转换格式。
这类任务适合训练三个能力:描述输入输出、提供样例数据、运行并反馈报错。
一个比较好的 Prompt 可以这样写:
1
2
3
4
5
6
7
8
我想写一个 Python 脚本,读取当前目录下的 scores.csv,统计每个学生的平均分,并输出 average_scores.csv。
要求:
1. 输入文件第一行是表头:name,course,score
2. score 可能是字符串,需要转成数字
3. 如果某一行 score 为空,跳过并在终端打印警告
4. 请先给出实现计划,再写代码
5. 最后告诉我如何运行和如何验证结果
注意这里不是说“帮我处理成绩”。你给了输入格式、异常情况、输出格式和验收方式,AI 才有稳定发挥的空间。
这个阶段的验收标准很简单:你能独立运行脚本,能看懂主要逻辑,能根据报错让 AI 修复,能用 2-3 个样例文件确认结果正确。
阶段二:做一个小页面
第二个阶段可以进入前端页面,但不要一开始就做复杂系统。选择一个没有后端的小页面,比如番茄钟、课程表、待办清单、阅读记录、简易计算器。
这个阶段练的是“从功能描述到交互页面”。你需要学会描述页面结构、状态变化和用户操作,而不只是描述视觉效果。
例如做一个待办清单,不要只说“做一个好看的 todo 页面”。可以这样描述:
1
2
3
4
5
6
7
8
9
10
请用 HTML、CSS、JavaScript 写一个单文件待办清单页面。
功能:
1. 可以新增任务;
2. 可以标记完成;
3. 可以删除任务;
4. 刷新页面后任务仍然保存在 localStorage;
5. 页面需要适配手机宽度。
请先列出状态数据结构,再实现。
这里的关键是让 AI 先说数据结构。前端不是只有样式,真正决定页面能不能维护的是状态组织。即使只是小页面,也要习惯问:
- 数据存在哪里?
- 哪些操作会改变数据?
- 页面如何从数据渲染?
- 刷新后如何恢复?
这个阶段的验收标准是:你能用浏览器打开页面,能手动测试新增、完成、删除、刷新保留,能读懂主要事件处理逻辑。
阶段三:写一个后端接口
第三个阶段开始接触后端。目标不是掌握所有框架,而是理解一个最小接口服务的结构。
可以选择 Node.js + Express、Python + FastAPI、Java + Spring Boot 中你熟悉的一种。项目可以很小:任务管理 API、图书收藏 API、课程签到 API、实验记录 API。
这个阶段要练的是“接口契约”。你不能只说“帮我写后端”,而要写清楚:
- 有哪些资源;
- 每个接口的 URL 和方法;
- 请求体字段;
- 响应格式;
- 错误情况;
- 数据暂时存内存、文件还是数据库。
一个最小接口说明可以这样写:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
我要做一个任务管理 API,使用 FastAPI。
资源 Task:
- id: string
- title: string
- done: boolean
- created_at: string
接口:
- GET /tasks 返回全部任务
- POST /tasks 创建任务,请求体包含 title
- PATCH /tasks/{id} 修改 done
- DELETE /tasks/{id} 删除任务
第一版先用内存数组保存数据,不接数据库。请先给项目结构和测试方式。
这个阶段不要急着接登录、权限、部署。先把接口跑通,再用 curl、Postman 或浏览器请求验证结果。你要能看懂路由、数据模型、异常处理和启动命令。
阶段四:做一个课程项目
当你能做小页面和接口,就可以进入课程项目级别。这里的重点从“写代码”变成“管理项目”。
课程项目通常会有这些特点:时间有限、功能不算太复杂、需要展示、需要文档,可能还要小组协作。Vibe Coding 在这里非常有用,但前提是你要先写一份简短的需求说明。
建议每个课程项目都先写 SPEC.md,内容包括:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 项目目标
用一句话描述系统解决什么问题。
# 用户角色
列出学生、教师、管理员等角色。
# 核心功能
只列第一版必须完成的功能。
# 非目标
明确第一版不做什么。
# 验收标准
用可测试的方式描述完成状态。
然后再让 AI 根据 SPEC.md 拆任务。不要让它一次写完项目,而是按功能推进:先搭项目结构,再做数据模型,再做第一个页面,再接第一个接口,再补测试和文档。
课程项目最容易犯的错误是“前两天让 AI 写了一堆代码,最后三天没人知道哪里坏了”。为了避免这种情况,每完成一个模块都要提交一次 Git,并写清楚提交信息。哪怕项目很小,也要养成 git diff 和 git status 的习惯。
阶段五:做一个完整 MVP
MVP 和课程项目的区别在于:MVP 更接近真实使用。它不一定功能多,但必须有一个完整闭环。
比如一个个人记账工具,完整闭环不是“有页面”,而是:
- 用户能新增一笔支出;
- 支出能保存;
- 用户能按月份查看;
- 用户能修改和删除;
- 错误输入有提示;
- 数据不会轻易丢失。
这个阶段需要引入更多工程问题:数据持久化、表单校验、错误处理、部署、日志、备份、权限。AI 可以帮助你实现这些细节,但你需要控制范围。
建议用一张任务表推进:
1
2
3
4
5
| 模块 | 目标 | 验收方式 | 状态 |
| --- | --- | --- | --- |
| 数据模型 | 定义 Account 和 Transaction | 能创建测试数据 | done |
| 记账表单 | 新增支出记录 | 手动输入并保存成功 | doing |
| 月度统计 | 按月份汇总金额 | 用样例数据核对结果 | todo |
这张表可以放在 progress.md。每次和 AI 开新会话时,先让它读 SPEC.md 和 progress.md,再继续当前任务。这样不会把项目记忆完全寄托在聊天上下文里。
阶段六:进入科研和实验项目
科研项目中的 Vibe Coding 价值很大,但也更需要边界。
AI 很适合做这些事情:
- 阅读仓库结构并解释入口文件;
- 整理环境安装步骤;
- 写数据预处理脚本;
- 帮你定位报错;
- 把训练日志整理成表格;
- 写可视化脚本;
- 生成实验记录模板。
AI 不适合替你决定这些事情:
- 论文结论是否成立;
- 实验设计是否公平;
- 指标变化是否有统计意义;
- 某个模型是否真的优于 baseline。
科研项目的最小流程可以是:
- 让 AI 读 README 和目录,解释如何跑通 demo。
- 先跑原始 baseline,不改代码。
- 把环境问题、命令、日志写进
progress.md。 - 只改一个变量或一个模块,记录实验条件。
- 用脚本整理结果,但自己判断结论。
这比“直接让 AI 复现论文”慢一些,但可靠得多。
如何判断自己进入下一阶段
不要用“我看了多少教程”判断进度,而要用可交付结果判断。
你可以这样检查:
- 小脚本阶段:我能给出输入输出样例,并确认脚本结果正确。
- 小页面阶段:我能描述状态结构,并测试主要交互。
- 后端接口阶段:我能用请求工具验证接口响应。
- 课程项目阶段:我能维护一份需求说明和进度表。
- MVP 阶段:我能处理保存、校验、错误和部署问题。
- 科研阶段:我能区分工程复现和科研判断。
每个阶段都可以用 AI 帮忙,但不能把验收交给 AI。验收是人的责任。
本篇 Checklist
- 我是否选择了一个足够小的第一个项目?
- 我是否能写清楚输入、输出、异常和验收标准?
- 我是否让 AI 先计划,再实现?
- 我是否能独立运行代码并复制真实报错?
- 我是否用 Git 保存每个稳定阶段?
- 我是否把项目规则和进度写到文件里,而不是只放在聊天里?
参考资料
- tukuaiai/vibe-coding-cn
- Vibe Coding AI 工作流指南 2026
- Vibe Coding Best Practices - roadmap.sh
- Claude Code: Best practices for agentic coding
修改记录
- 新增 Vibe Coding 学习路线文章。