1、一个万能的心智模型
如果你只能记住 Vibe Coding 的一个技巧,那就记住这个:把 AI 当成一个新来的实习生。
你想想,一个刚入职的实习生是什么样的:
- 能力很强,学东西很快,什么都会一点
- 但不了解你的项目,不知道你们的代码规范,不知道业务的来龙去脉
- 你给的任务如果太模糊,他会猜——猜错的可能性很大
- 你给的任务如果足够清晰,他做得又快又好
- 做完之后你需要检查,因为新人容易漏掉边界情况
是不是和 AI 一模一样?
这个心智模型的好处是:你不需要学什么 Prompt 工程的黑话,你就想想如果是带实习生,你会怎么布置任务,然后对 AI 也这么说就行了。
2、模糊的需求 vs 清晰的需求
来看两组对话。
差的需求:
“写一个登录功能。”
实习生拿到这个任务,脑子里全是问号:用什么框架?用户名是邮箱还是手机号?要不要验证码?密码规则是什么?token 存哪里?session 过期多久?
AI 也一样。它猜了一个实现,大概率不是你想要的。
好的需求:
“用 Express.js + JWT 实现一个简单的登录接口。用户输入邮箱和密码,后端验证后返回一个 JWT token。密码用 bcrypt 加密存储。token 有效期 7 天。邮箱格式要做基本校验(@符号前后有内容就行)。”
实习生拿到这个任务,立刻就知道怎么做了。
看,区别不在于需求的长短,而在于你的需求是否排除了歧义。每少一个歧义,AI 多对一分。
3、一个好的 Prompt 长什么样
不需要什么神秘公式。一个好的 Prompt 通常包含这几个要素:
目标:我要做什么?(一个函数 / 一个页面 / 一个接口) 输入:会收到什么数据?什么格式? 输出:期望得到什么结果?什么格式? 约束:用什么技术?有什么限制?不能做什么? 上下文:这段代码会在什么环境运行?和项目里的哪些部分有关系?
举个例子,我想做一个数据脱敏函数:
目标:写一个数据脱敏工具函数
maskSensitive输入:两个参数 ——
data(对象)、fields(需要脱敏的字段名数组)输出:返回一个新的对象,指定字段的值被替换为
***约束:
- 用 TypeScript 写
data不能是 2 层以上的嵌套(只处理data.field这种一层嵌套)- 如果
data中某个字段不存在,直接跳过,不要报错- 不要用 lodash 等第三方库
这个 Prompt 不复杂,但信息密度很高。AI 几乎不需要猜任何东西,所以生成的代码大概率符合预期。
4、迭代式对话:先粗后细
不用一开始就把 Prompt 写到完美。更实用的方式是先粗后细。
第一轮(粗):“用 React 写一个计数器组件,有加和减两个按钮。”
AI 生成代码。你一看:
- 数字能小于 0 吗?不想让它变成负数。
- 好像少了点什么……对了,加一个重置按钮。
- 样式太丑了,至少对齐一下。
第二轮(细):“不能减到小于 0。加一个重置按钮,点了归零。三个按钮水平排列,数字显示在中间。”
AI 修改。基本满意了。你再想想:
- 能不能把当前数值存到 localStorage?刷新页面还在。
第三轮(更细):“把当前数值存到 localStorage,页面加载时读出来。key 用 counter_value,注意处理 JSON 解析失败的情况。”
这就是 Vibe Coding 的真实节奏。你不是在写需求文档,你是在和 AI 对话。 一次说太多反而容易乱,分几轮对话,每轮解决一个问题,效果更好。
5、让 AI 看到你的代码才是最好的 Prompt
很多人不知道一件事:给你的代码比给你的描述更有效。
比如你说:
“帮我加一个导出 CSV 的功能,格式参照表格里的数据。”
AI 可能猜半天。
但如果你说:
“帮我在这个页面加一个导出 CSV 的功能。”(然后把当前页面的代码也贴进去)
AI 看到你的真实数据结构、现有组件的写法、你用的框架版本——生成的代码几乎不需要修改。
这就是为什么很多 AI 编程工具(Cursor、CodeBuddy、Copilot)都支持 @文件引用——让 AI 直接读到你的项目代码,比任何文字描述都精准。
6、一个反常识的技巧:对 AI 说“不”
当 AI 做得不对的时候,很多人的第一反应是自己手动修改代码。这其实浪费了 Vibe Coding 最大的优势。
更好的做法是:告诉 AI 哪里不对,让它自己改。
比如 AI 写的代码里用了一个你已经废弃的工具函数:
不要说“算了我自己改”。要说:
“
formatDate函数已经废弃了,我们用dayjs替换。请改用dayjs(date).format('YYYY-MM-DD')。”
这个习惯一旦养成,你会发现自己越来越懒——但代码产出越来越快。因为你在训练 AI 理解你的项目,而不是每次都从头解释。
下一篇文章,我们聊一个关键的安全意识:为什么 AI 写的代码不能盲信?它会犯哪些典型错误?
每天前进一小步,就是一个新的高度!