如果你过去半年常刷技术社区,肯定对 Vibe Coding 这个词不陌生。这阵风刮起来之后,到处都是“用大白话让 AI 帮我写了个应用”的帖子,有人用它五分钟生成了一个小工具,有人用它聊出了整个项目的骨架,看起来编程这件事真的变成了“想到什么说什么”。我一开始也这么干,而且翻车翻得很彻底:项目跑了两天,想加个小功能,结果整个页面崩了;让 AI 修 bug,它越修越多,最后连它自己都说不清代码里那几段历史遗留逻辑是谁写的。
后来我才意识到,Vibe Coding 真正的分水岭不是“会不会聊”,而是“会不会把需求说清楚”。这篇文章就是我作为深度玩家的幸存笔记,前后折腾了几个月,在无数次翻车现场里磨出一套从“盲目对话”到“意图掌控”的方法。它不仅适合没写过代码的新手,也适合那些已经在用 AI 写业务项目、但总觉得代码越改越不可控的开发者。我会把翻车原因、上下文档案、需求表达模板、迭代节奏、回滚策略,以及一套可以直接抄走的案例全部分享出来。
1. 先认清这件事:Vibe Coding 翻车,通常不是 AI 不行
1.1 什么叫真正的 Vibe Coding
Vibe Coding 这个概念从兴起至今,含义已经被稀释得很厉害。最初的意思是:写代码时不纠结语法细节,把风格和“感觉”交给 AI 去发挥,开发者在旁边把握方向,像给一张照片调滤镜一样调代码。后来它慢慢演变成“用自然语言和 AI 聊天,让 AI 写代码”的泛称,ChatGPT、Claude、Cursor、Copilot 甚至国内各类 AI 编程助手,都被算进这个范畴。
我观察下来,实际使用的人大概分成三类:
- 零基础玩家:打开对话框,从空文件夹开始让 AI 生成一个完整应用,自己能看懂大概但改不动代码。
- 有经验的开发者:把 AI 当结对编程搭子,让它补全函数、写单元测试、重构模块,自己负责审查和决策。
- 接需求做原型的人:拿 AI 生成的 demo 去跟老板或客户对需求,对上了继续叠功能,直到叠出事故。
不管是哪一类,本质都是把一部分编程意图交给模型去理解和实现。问题恰恰出在这个“意图”上——你脑子里的意图是完整、具体的,但你说出来的往往只有半句话,剩下的全靠 AI 猜。
1.2 “幸存者”这个说法是怎么来的
我见过太多晒 Vibe Coding 成果的帖子,第一版总是特别漂亮,评论区一片“好强”。但很少有人展示后续:加了三个真实业务需求之后,代码已经乱成一个没人敢动的毛线球;AI 每次修复都会碰坏另一个地方;最后要么推倒重来,要么默默弃坑。
这里有一个很隐蔽的真相:LLM 特别擅长生成“看起来像样的第一版”。因为它见过海量高频需求的标准答案,比如 todo list、个人博客、数据看板,你一说要做这些东西,它就能吐出结构清晰的代码。可一旦进入你的真实业务,需求开始变得琐碎具体,什么状态流转、异常分支、权限边界、兼容性细节,AI 就露出了原形——它只能基于既有代码里的残缺上下文不断打补丁,然后越补越乱。
所以“幸存者”不是那个会背几句 Prompt 模板的人,而是理解“怎么把话说明白”的人。这个能力的核心,就是把一切可能被 AI 误解的模糊地带,提前用信息和规则填平。
2. 盲目对话的三个致命陷阱,越早避开越好
2.1 陷阱一:你说的“需求”只是半句话
大多数人第一次跟 AI 提需求时,说得像给朋友发微信:“帮我做一个待办清单。”这句话从语法上没毛病,但从工程角度信息量几乎为零——数据存在哪里?刷新后要不要保留?任务能不能编辑?优先级怎么排?子任务支不支持?AI 当然不会追问,它会直接从训练数据里挑一个“最常见的待办清单”结构给你。
问题出在第二轮的迭代。你让它加一个“截止时间提醒”,它大概率会在这个预设结构上打补丁。如果最初的假设里根本没有“任务截止时间”这个字段,它就得现加,加的时候可能还要顺便改列表渲染逻辑、存储结构、甚至 UI 布局。改完这轮看起来没问题,但等你再加“按日期筛选”,另一个埋着的隐患又爆了。
这里面的道理跟盖房子一样:你跟施工队说“给我盖个房子”,没说层数、结构、要不要院子,施工队按标准图集干完,你看着觉得哪都不对。你不能怪施工队水平差,是你根本没给图纸。跟 AI 协作,你的自然语言描述就是图纸,哪怕只有几句话,也是图纸。
2.2 陷阱二:你以为 AI 在“听懂”,它其实在“猜”
这个认知如果不建立,后面所有方法都学不进去。LLM 的本质是一个超大的概率模型,它接收到你的文字后,做的事情是预测“接下来最可能出现的 token 序列”。当你给出的描述模糊时,它会基于训练数据中的统计规律,给出一个“最可能”的答案。
注意,这个“最可能”不是针对你的项目,而是针对全人类所有类似问题的答案。所以你会发现 AI 生成的方案总是“看起来合理但哪里不对劲”,它给的是一个平均人的平均理解,不是你的具体需求。就像一个朋友听你说“随便吃点”,然后带你去了他最常去的火锅店,你爱吃不吃。
理解了这一层,方法论就清晰了:AI 在猜,我们的工作就是减少它的猜测空间。描述越精确,模型的预测范围就越窄,输出就越接近你要的东西。这就是“意图掌控”的本质——不是说一堆命令控制 AI,而是用信息剪掉那些错误的可能性。
2.3 陷阱三:每轮对话都是一次“失忆”重启
即使你第一轮就把需求说得很好,走到了第十轮,AI 可能已经把前面的约定忘光了。上下文窗口有上限,新旧信息会互相挤占;更常见的是你一个顺手就开了新对话,前面所有约定全部作废。
你可以做一个实验:连续聊二十轮之后,问它“我们当初约定的变量命名规则是什么”,它大概率想不起来。这时候你如果直接丢一个新需求给它,它就会按照自己的惯性来,生成一段跟项目风格完全不搭的代码。这就像团队里每两周换一个新人,每个人的代码习惯都不一样,项目越做越像缝补出来的百家被。
所以 Vibe Coding 到后期,拼的完全不全是对话技巧,而是信息管理能力和上下文组织能力。你得有一套办法,让 AI 在每一轮都能稳定地看到它需要知道的关键信息。
3. 意图掌控第一步:把项目上下文写成 AI 能用的档案
3.1 项目简报:让 AI 第一轮就知道自己在做什么
我现在的习惯是,任何项目启动的第一件事,不是写代码,也不是直接跟 AI 说“开始做”,而是先写一份项目简报。这份简报不会很长,但结构清晰,包含以下内容:
- 一句话定位:这个东西是干嘛的,给谁用。
- 目标用户:使用场景是什么,用户的计算机水平大概什么样。
- 核心功能清单:按优先级排序,一定要排,因为 AI 会根据优先级去分配代码的复杂度。
- 明确“不做什么”:这一步很多人忽略,但特别重要。AI 非常擅长“自作多情”地加功能,你提前说清楚不做推荐系统、不做用户系统、不做付费模块,它能少给你制造一堆没用的代码。
- 技术栈和运行环境:用什么语言、什么框架、跑在什么系统上。
举个例子,我最近做字幕提取工具时写的简报长这样:
项目简报: - 一句话定位:本地视频转字幕文本的小工具,给不懂编程的媒体同事用。 - 目标用户:剪辑师、内容运营,使用 Windows 电脑,不会装复杂环境。 - 核心功能(按优先级): 1. 选择视频文件后自动提取字幕; 2. 输出带时间轴的 srt 文件和纯文本 txt; 3. 支持只处理视频前 N 分钟。 - 明确不做:不做前端复杂界面、不做账号系统、不做云端转写、不做多语言翻译。 - 技术栈:Python 3.10+,使用 faster-whisper 做本地识别,命令行交互。这份简报一旦写完,你后面开的每一个新对话,都可以把它放在最前面。AI 在生成任何代码之前就先看到了这条边界,它就不会一上来给你整一个 React 项目加 MongoDB,因为简报里根本没提那些。
3.2 技术约束与设计偏好
AI 默认选型的时候有个特点:谁热门选谁。你跟它说“写个网页”,它默认给你 React + Tailwind;你说“做个后端服务”,它默认给你 FastAPI + PostgreSQL。这些方案不是不好,但它不一定适合你的场景。
比如我那个字幕提取工具,如果用 React 写前端、FastAPI 写后端、再配个数据库,把这个工具交给不会装环境的媒体同事,基本就是灾难。所以我必须把技术约束写死在档案里。
在实际项目档案里,我通常会再加一个“技术约束”段落:
技术约束: - 语言版本:Python 3.10,不允许用 3.12 的新特性; - 依赖管理:使用 requirements.txt,不引入 poetry; - 界面形式:优先命令行交互,不引入 Web 框架; - 命名规范:函数用 snake_case,类用 PascalCase; - 输出文件:srt 和 txt 统一放在 out/ 目录下。这段内容看起来琐碎,但作用非常大。AI 每一轮生成代码时都会参考它,就不会出现“上一轮还是 Python 脚本,下一轮突然给你塞一个 Flask 服务”这种离谱情况。你如果希望 AI 按某种风格写代码,就在这里写清楚,它比你在对话里反复强调一百遍都管用。
3.3 把档案变成对话的“固定前缀”
档案写好了不能只放在本地文档里,你得让它成为每次对话的固定前缀。我现在的工作流很简单:开新对话时,把项目简报和技术约束直接复制到对话框最前面,然后紧接着写本轮任务。
这样做的本质,是让 AI 的每一次生成都基于完整的项目上下文。它不需要猜测你的技术栈,因为档案里写明了;不需要猜测需求边界,因为“不做什么”列得清清楚楚;不需要猜代码风格,因为命名规范已经定义了。
我见过很多人抱怨“AI 换了个对话就不认账”,其实问题不是 AI 记性差,而是你从未给它一个稳定的身份认同。固定前缀这件事,就是给项目一个“记忆锚点”,让 AI 无论在哪一轮对话里,都能第一时间进入状态。
4. 意图掌控第二步:把任务描述翻译成 AI 听得懂的结构
4.1 一个万能的六要素模板
项目档案解决了“AI 知道项目背景”的问题,但每一轮具体任务,仍然需要一个清晰的描述结构。我用了很久之后,把任务描述沉淀成了一个六要素模板,每次照着填,基本不会再出现“AI 答非所问”的情况。
这六个要素是:
- 角色(可选但推荐):你是一个精通 Python 的脚本开发专家。
- 背景:基于现有代码继续开发,现有代码在 ./main.py,核心函数是 transcribe()。
- 任务:一句话说清楚要做什么,越具体越好。
- 输入/输出:输入是什么、输出什么,最好给样例数据。
- 约束:不能改哪些部分、必须用哪个库、要兼容什么版本。
- 验收标准:什么情况下这个任务算完成了,描述可观察的结果。
我通常把它们组织成下面这个格式,直接贴进对话框:
基于项目简报继续开发。 本轮任务: - 背景:main.py 中已实现 transcribe(),可以输出完整视频的 srt 文件。 - 我要实现:增加一个参数 start_minutes,只处理视频从第 N 分钟开始的片段。 - 输入:视频路径 + start_minutes,例如 2.5 表示从第 2 分 30 秒开始。 - 输出:仍输出 out/result.srt,但内容只包含 N 分钟之后的字幕。 - 约束:不要改动原 transcribe() 的整体流程,只在它内部增加分段逻辑;风格保持一致。 - 验收标准:输入一个 10 分钟的视频,start_minutes=5 时,输出的 srt 第一行时间应该大于等于 00:05:00。这套模板看起来像写需求文档,但它最大的价值是让 AI 在动代码之前就拿到了完整的验收条件。有了验收标准,AI 在写代码时就会主动检查自己的输出是否满足要求,而不是写完了就甩给你。
4.2 “模糊说法”和“明确说法”的大对比
有经验的开发者可能一看就懂,但对新手来说,最困难的是不知道自己的描述有多模糊。我整理了一个对照表,都是我在实操里真实遇到过的对比:
| 模糊说法 | 明确说法 |
|---|---|
| 做个好看点的登录页 | 登录页宽度 480px,水平居中,支持暗色模式,样式跟随全局 CSS 变量 |
| 速度太慢了,优化一下 | 首屏接口 P95 延迟要求 < 800ms,当前是 1.2s,先定位瓶颈再优化 |
| 给列表加个删除功能 | 在列表页每条记录右侧加“删除”按钮,点击后弹二次确认框,确认后调用 DELETE /api/items/{id},成功后刷新列表 |
| 把代码改得优雅一点 | 重构 format_time() 函数:提取公共逻辑,保持对外参数和返回值不变,并补充单元测试 |
| 换一种存储方式 | 把当前 JSON 文件存储换成 SQLite 数据库,保持外部 API 不变,数据表名为 items |
左边这些说法不是不能跟人交流,但跟 AI 交流时,它会默认选择它认为的“标准方案”,而这个方案通常不是你的方案。右边的说法把边界条件、输出格式、验收标准都封装进去了,AI 能执行得更接近你的真实预期。
4.3 示例与反例:同样一句话,AI 的两种表现
我拿一个真实经历举例。最开始我做字幕提取工具时,第一轮需求只写了一句:“帮我做一个视频转文字的工具。”AI 给我生成了代码,但它默认用了 OpenAI 的云端 API,还建议我用 GPU 服务器。这跟我预期的本地运行完全相反,因为同事的电脑根本没有外网依赖条件。
后来我改用结构化的六要素模板描述,把“本地运行”“不需要外部 API”“支持 CPU 推理”这些约束写进去,AI 生成的第一版就已经非常接近可用的状态。这前后差别不是 AI 变聪明了,而是我的描述把它的猜测空间压缩到了一个很小的范围。它不再需要替我决策“该用哪条技术路线”,因为我已经替它把路选好了。
5. 意图掌控第三步:用迭代节奏和验证机制给 AI “上锁”
5.1 一次只改一件事,别让 AI 当“万能补丁工”
很多人用 AI 的时候有一个习惯:把几个需求攒在一起,一次性丢给它。“帮我加个排序功能,顺便把样式改成深色,再加一个导出按钮。”看起来省事,实际上是在给自己埋雷。如果 AI 一次性改了三个地方,代码出了问题,你根本不知道是哪个改动引入的。你只能把报错信息丢给它,它又开始新一轮的修改,这一轮可能又碰坏别的地方。
“一次只改一件事”这条规则,是调试领域最朴素也最有效的原则。它把问题的定位范围从“整个项目”缩小到“一个功能点”,你回滚、排查、验证的成本都大幅下降。我刚开时也不信这个邪,觉得多跟 AI 说几个需求它能一起做,效率更高。实际踩过坑之后发现,效率最高的方式反而是小步快跑:一个需求,一轮对话,一次测试,一个提交。
5.2 让 AI 先讲方案再动手
有一种很常见的翻车场景:你提了一个需要改多个文件的需求,AI 二话不说就开始改,改完之后你发现它把很多不相干的地方也顺手“优化”了,甚至改变了现有的函数签名,导致其他功能跟着报错。为了避免这种失控,我现在会给 AI 加一个前置约束:
在开始改代码之前,先回答三个问题: 1. 这个需求要动哪些文件? 2. 每个文件大概怎么改?涉及哪些函数? 3. 你认为哪些地方有风险?为什么? 等我说“开始”之后你再动手。这一步看起来多花了时间,实际上非常高性价比。AI 在“思考模式”下会先暴露它对项目结构的理解,你可以在它真正动代码之前就纠正那些错误认知。如果它说“我要改 core.py 里的几个核心函数”,而你本来只希望它改一个辅助函数,那么你这时候打断它,成本几乎为零;如果等它改完才发现跑偏,恢复成本就高多了。
5.3 小步提交,给每个版本留“后悔药”
我见过不少用 AI 写代码的新手,项目从头到尾只有一个文件,而且是靠“另存为”手动维护版本。说实话,这不是不能跑,但在 Vibe Coding 场景下非常危险,因为你不知道 AI 下一轮会把代码改成什么样。
我现在的习惯是每个项目都先用 Git 做版本管理,每轮 AI 改完代码,我必须做三件事:
- 先跑一遍测试或直接运行看效果;
- 用 diff 快速看一遍改动范围,确认 AI 没有偷偷改不该动的地方;
- 通过 git commit 提交一个版本,提交信息写清楚这一轮改了什么。
这套流程的意义在于,你的项目随时有一个“最近可用版本”。如果下一轮 AI 的修改不满意,一句git checkout .就能回到上一版,然后重新跟 AI 说需求。没有这个退路,你就只能陪着 AI 在错误代码里打补丁,直到代码彻底不可维护。
5.4 不信任代码,只信任测试
这是我最想强调的一点。AI 生成的代码,看着没问题不代表真的没问题。唯一能约束 AI 不把旧功能改坏的方式,就是让核心逻辑有测试保护。
在字幕提取工具的例子里,我让 AI 在写完format_time()这个时间格式化函数后,顺手补了三个测试用例:毫秒转标准时间、跨整点进位、异常输入处理。这之后我再让它改功能,每个版本跑一下测试,只要测试全绿,我就知道最基础的时间逻辑没有被破坏。如果测试挂了,我直接把报错丢给 AI,它就能很精准地修复,不需要我人工去猜是哪里出了问题。
这等于给 AI 的每一次修改都上了一道锁定:不通过测试,就代表改动有风险,需要继续修;通过测试,这个版本才能被接受。这样一种反馈机制,把模糊的“感觉对了”变成了客观的“测试过了”。
6. 一个真实案例:从“给我做个工具”到三小时稳定交付
6.1 需求背景:给同事做一个本地视频转文字的小工具
前段时间团队里有人需要把会议录音和培训视频转成文字稿,但外部工具要么收费,要么需要上传云端,敏感内容不方便。我决定用 Vibe Coding 快速做一个本地工具,正好用这套方法实践一遍。
这个工具的核心功能很明确:输入一个 mp4 或 mov 视频文件,输出两个文件,一个是带时间轴的 srt 字幕,一个是纯文本 txt。技术选型方面,我用本地运行的faster-whisper做语音识别,因为它是开源模型,离线运行,对 CPU 推理有一定优化,装在一台普通 Windows 电脑上也能跑得动。
6.2 第一轮:提交上下文档案,拿到可运行版本
第一轮对话,我先把项目简报和技术约束贴上去,然后写了一个简单的任务描述,让 AI 生成最基础的版本。这个过程是在一个干净的新开对话里完成的,确保上下文里没有之前聊乱的信息。
AI 用了几分钟生成了一个 150 行左右的 Python 脚本,核心逻辑分为三步:读取输入视频路径、调用 faster-whisper 模型进行识别、把结果写进 srt 和 txt。我在本地跑了一下,确实能出结果,但速度很慢——一个 12 分钟的视频,在一台没有独显的办公笔记本上跑了将近 15 分钟。这算是模型推理的正常表现,但同事未必能接受,所以下一步要优化体验,而不是优化识别速度本身。
6.3 第二轮:加进度显示和纯文本输出选项
第一版虽然能跑,但有问题:输出界面是黑乎乎的终端,进度完全看不到。同事以为程序卡死了,差点关掉重来。这轮需求就很具体:加一个可视化的进度显示;同时把 txt 输出逻辑和 srt 输出分离开来。
我把它拆解成了两个小任务,分两轮对话完成。第一轮是加进度显示:因为 faster-whisper 在推理时会逐段返回结果,所以我在 prompt 中要求 AI 使用回调函数来打印当前处理到的时间点。第二轮才是调整输出格式:要求“纯文本输出时不要包含时间轴,只要说话内容”。
这里就能看出“一次只改一件事”的好处:进度显示改完并验证之后,我再让它动输出逻辑,万一有什么问题,我知道问题只会出现在输出模块,排查范围很小。
6.4 第三轮:一次典型的翻车与补救
最典型的翻车发生在加“只处理前 N 分钟”这个功能时。我在 prompt 里写了“支持只处理视频前 N 分钟”,AI 自作主张地加了一个“自动跳过静音片段”的设置,理由是“这样更高效”。
从代码角度来说,它写得并不差,但功能边界完全跑偏了——跳过静音会让输出的字幕时间轴和原始视频对不上,同事拿去剪辑时发现字幕跟画面是错位的。我当时没有马上回滚,而是先问 AI 为什么要加这个功能。它给出的解释是“为了提升处理速度”。这个理由单独看合理,但它违背了项目简报里“明确不做”的部分,破坏了输出时间轴的一致性。
处理方法是这样的:先通过 Git 回滚到上一轮可用的提交,然后重新开了一个对话,把项目简报重新贴一遍,并且把需求改成了更明确的表述:“只接受一个 start_minutes 参数,表示从第 N 分钟开始处理;不要加入任何自动剪辑、静音检测、片段跳过功能。”这次 AI 老老实实地按需求改了,没有越界。
这件事给我留下很深印象,因为 AI 真的会在你没指定的地方自己发挥,它以为那是锦上添花,但对你的业务来说可能是事故现场。所以项目档案里“明确不做”那一栏,不是摆设,它是你给 AI 画的边界线。
7. 翻车瞬间怎么办:问题排查与补救实操速查
7.1 常见翻车现场速查表
我把这段时间遇到的典型问题整理成了一个速查表,方便你在遇到状况时快速定位原因和应对方向:
| 现象 | 核心原因 | 排查思路 | 预防做法 |
|---|---|---|---|
| AI 在上一轮还记得,这一轮全忘了 | 上下文丢失或超限 | 把关键约定重新贴给它,必要时回滚版本重做 | 每次对话开头贴项目档案 |
| 越修越坏,改 A 崩 B | 改动目标模糊,AI 在猜 | 回滚到最近一次可用版本,重新用六要素描述需求 | 一次只改一件事,验收标准写清楚 |
| 生成了一堆你没要的功能 | 需求边界没有约束 | 明确告诉 AI 这些功能不需要,评估是否回滚 | 在“明确不做”里写清楚边界 |
| 代码风格和原来差异很大 | 缺乏风格约束 | 用代码规范文档校准,让 AI 重写相关部分 | 在技术约束里写明命名和结构规范 |
| AI 给你列了好几个方案让你选 | 任务里没有指定决策权 | 让它按约束自行决策并说明理由 | 描述任务时写明“直接实现” |
| 生成的代码跑不起来 | 环境假设错误 | 把完整报错原样贴给它,让它按项目档案整改 | 档案里写明语言版本和依赖安装方式 |
7.2 几个让我少走很多弯路的个人习惯
最后再分享几个我自己的小习惯,不算什么高深理论,但对实际体验的提升巨大。
第一个习惯是跟 AI 少谈心,多贴代码和报错。有时候你大段描述“我觉得这里逻辑有点乱”,AI 反而一头雾水;直接贴出当年的函数代码,再补充一句“这段逻辑在前四行做了修改,导致列表顺序变了”,它反而能迅速定位。AI 不擅长读懂你的情绪,但它很擅长读文本。
第二个习惯是中文描述还是英文描述的选择。描述需求和逻辑时,用中文完全没问题,因为大模型对中文的理解已经足够好。但遇到报错信息时,保持报错原文,不要把整段英文报错翻译成中文再发过去,那样反而让 AI 不好定位。代码和报错保持原文,描述和意图用中文,这是我在实操里总结出来的最优组合。
第三个习惯是建立自己的“有效提示词仓库”。每当我发现某个 prompt 让 AI 输出质量特别高,我就会把它存下来,记下它适合什么样的问题场景。下次遇到类似需求时,直接改细节,不用从零开始构思。这样的提示词积累了几十条之后,你会觉得自己的效率不比写代码的老手差多少。
8. 给新手的快速上手路径:第一周应该怎么练
如果你看完前面的内容,正准备开始自己的第一个 Vibe Coding 项目,我建议你不要直接上手做“一个完整的应用”。这个目标太大,对话次数太多,中间容易失控。更好的路径是先用一个极小的需求跑通整套流程,感受一下每个环节会踩的坑。
我的建议是这样拆:
- 第一天:不写代码,先写项目简报。打开一个空白文档,用三十分钟写下你要做的东西是什么、不做是什么、技术边界在哪里。这步练的是把模糊想法转成结构化描述的能力。
- 第二天:丢给 AI 一个最小可运行版本。只保留一个核心功能,不要加任何额外的东西。这步练的是“让 AI 从 0 到 1”的能力,你也会第一次看到结构化描述的力量。
- 第三天到第五天:每天只加一个功能,每加一个功能就提交一个 Git 版本。如果不用 Git,至少把可运行版本备份一份带日期。这步练的是“增量迭代”的节奏感。
- 第六天和第七天:复盘你过去几天跟 AI 的对话记录,把你反复解释过、它反复理解错的地方找出来,改写进你的项目档案里。这其实就是把跟 AI 磨合出的经验沉淀成规范。
这套路径不需要你懂太多编程知识,但它必须配合动手。Vibe Coding 跟所有技能一样,光看指南学不会,要在失误中反复校正自己的表达方式。前几次翻车很正常,关键是你能不能在每一个翻车现场,往回走一步,找到那句导致问题的描述。
我自己的体会是,使用 AI 写代码几个月之后,最大的变化不是代码写得快了,而是我描述问题的能力变强了。以前我想什么都是模糊一团,现在随便给我一个任务,我脑子里会自动拆成背景、输入、输出、约束、验收标准几个格子。这个习惯不只对 AI 有用,跟同事协作、写文档、评审方案的时候,都能感受到它带来的好处。
工具一直在变,今天流行这个模型,明天出来那个 IDE,但“把意图说清楚”这件事是永恒的核心。你能不能让 AI 少猜一点,决定了你能不能在 Vibe Coding 这条路上活下来,并且活得比传统开发方式更轻松。