1、AI 有一个“健忘症”问题
你有没有过这种体验:和 AI 聊得好好的,代码写得正顺,突然它开始“胡言乱语”——用了你已废弃的旧 API、忘了你之前说的项目结构、或者建议了一个跟你现有架构完全不搭的方案。
这不是 AI 变傻了。是它的上下文窗口有限。
上下文窗口,就是 AI“一次能记住多少东西”的上限。想象 AI 只有一块小黑板——你每说一句话,对话越长,黑板上的旧内容就被擦掉一部分。对话到了一定长度,AI 就“忘了”你在开头说过什么。
在 Vibe Coding 里,这意味着:聊了 20 轮之后,AI 可能已经忘了你的项目用的是 React 17 还是 React 18,忘了你的数据库是 MySQL 还是 PostgreSQL,忘了你说过的“不要用任何第三方库”。
理解这个限制,然后想办法绕开它,就是上下文管理的核心。
2、把关键信息“钉”在 AI 能看到的地方
既然 AI 会忘,最简单的策略就是:每次对话开始的时候,把最重要的信息重新告诉它。
不需要每次都写长篇大论。一个简单的方法是准备一段“项目速览”,需要的时候直接贴给 AI:
项目概况:
- 技术栈:React 18 + TypeScript + Ant Design 5
- 状态管理:Zustand
- 后端 API:RESTful,base URL 是 /api/v1
- 代码规范:ESLint + Prettier,2 空格缩进
- 文件结构:src/components/(组件)、src/utils/(工具函数)、src/api/(API 调用)
这段不到 50 个字。但它消除了 AI 可能犯的大部分架构建模错误——不用猜你用什么框架,不用猜你的目录结构,不用猜你的 API 前缀。
很多 AI 编程工具现在支持 Project Rules 或 自定义指令——你可以把这段信息配置进去,每次对话自动带上。相当于给 AI 配了一本“项目说明书”,随时可以翻阅。
3、@文件引用:比你描述一万句都管用
这是 Vibe Coding 里最被低估的技巧。
当你告诉 AI“帮我修改用户列表页面”的时候,AI 脑子里对这个页面的理解完全靠猜。但如果你 @引用实际的代码文件,AI 看到的是真实的、确定的代码——它生成的修改会精准得多。
实际操作起来很简单:
"@UserList.tsx 这个组件的加载状态现在是一个转圈图标,改成骨架屏。参考 weibo 那种效果。"
AI 读了 UserList.tsx 的代码,看到了你现有的组件结构、props 定义、状态管理方式。它改出来的代码,大概率风格一致、接口兼容。
同样的道理适用于:
- 改一个函数时,@引用那个文件
- 新增 API 时,@引用现有的 API 文件让 AI 参考格式
- 需要了解项目约定的命名规则时,@引用一个典型的文件作为范例
记住这个原则:给 AI 看代码,永远比给 AI 描述代码更有效。
4、README 不是摆设——它是 AI 的入职培训
很多人觉得 README 是给其他开发者看的。在 Vibe Coding 时代,README 有了一个新用途:给 AI 看的项目说明书。
一个好的 README,对于 AI 来说就是一次“入职培训”。它应该包含:
- 项目是做什么的(一句话)
- 技术栈和关键依赖
- 本地如何跑起来(
npm install && npm run dev) - 项目的目录结构和各目录的职责
- 关键的架构决策和约定(为什么用这个方案)
当 AI 读到这些信息,它就像一个了解了项目背景的新同事——至少不会犯方向性的错误。
举个实际的例子。假设你的项目 README 里有这一行:
“API 响应格式统一为
{ code: 0, data: ..., message: '' },code 为 0 表示成功。”
AI 在写 API 调用代码时,会自动处理 res.data.data 这种嵌套结构。因为 README 给了它这个约定。
没有这个约定,AI 会假设 API 直接返回数据,然后你的代码就会在一个不起眼的地方悄悄报错。
5、控制对话节奏:一次一件事
很多人用 Vibe Coding 时容易犯一个错误:一口气说太多。
“帮我做用户管理模块,包括列表页、详情页、新增表单、编辑表单、删除确认弹窗,列表要支持搜索和分页,表单要做校验。”
AI 收到这个请求,会尝试一次性生成所有代码。结果往往是一大堆代码,看起来都有了,但每个部分都很粗糙——因为你的需求太“大”,AI 的注意力被分散了。
更好的方式是拆分:
第一轮:“先做用户列表页,后端接口我稍后给你,先做一个静态的页面框架,表格用 Ant Design 的 Table 组件。”
第二轮(列表页有了):“在列表上加一个搜索框,搜索用户名,前端做防抖处理。”
第三轮(搜索有了):“现在做新增用户的表单,弹窗形式,字段包括用户名、邮箱、角色。邮箱做格式校验。”
每一轮对话聚焦一个小目标。AI 在每一轮里能给出高质量的代码,你也更容易审查和调整方向。
这不是效率低——这是真正的高效。 就像你不能让一个实习生同时做 5 件事还指望每件都做得好。专注做一件事,效果最好。
6、总结:四个核心习惯
回头看看这四篇文章,Vibe Coding 的核心其实可以归结为四个习惯:
- 说清楚:别让 AI 猜。你想要什么、用什么技术、有什么约束,说得越清楚越好。
- 给上下文:让你的代码、README、项目规则替你说。文字描述不如直接给 AI 看代码。
- 不盲信:AI 写的代码都是草稿。每个外部输入都检查,每个错误路径都想一遍,写测试验证。
- 分步走:大需求拆小,一次聚焦一件事。AI 在小的、明确的任务上表现最好。
掌握这四个习惯,你就能从“AI 生成的代码经常不能用”的困境走出来,进入“AI 写的代码 80% 不用改”的状态。
Vibe Coding 不是魔法,它是你和 AI 配合的方式。方式对了,效率翻倍;方式不对,还不如自己手写。
Vibe Coding 系列到这里就结束了。但 AI 编程的世界变化极快——也许明年这个时候,这些内容有一半已经过时了。但底层的原则不会过时:清晰表达、保持审查、逐步迭代、善用上下文。
每天前进一小步,就是一个新的高度!