最近半年,我的编程方式发生了一场悄无声息的革命。
过去写一个页面,我需要逐行构思 HTML 结构、计算 CSS 布局、调试 JS 逻辑,光是一个按钮的 hover 动画就得改五六次;而现在,我打开 AI 编辑器,敲下一句 “帮我做个科技感十足的登录页,按钮要有脉冲光效,背景用渐变色网格”,不到 10 分钟,一套能直接跑的代码就出现在眼前。
这种不再纠结于 “具体怎么写”,而是专注于 “想要什么感觉” 的编程方式,被我称为「Vibe Coding(氛围编程)」。它不是某种技术框架,而是 AI 时代催生的全新开发范式 ——用模糊的意图驱动精确的实现。
今天这篇文章,不仅要讲清楚 Vibe Coding 的核心逻辑,更要分享「可直接落地的实操技巧、Prompt 模板、工具配置」,让你看完就能用它提升 3 倍开发效率。
一、Vibe Coding 核心:如何让 AI 精准 “get” 你的氛围?
很多人用 AI 写代码时会遇到 “说半天 AI 还不懂” 的问题 —— 核心原因是「氛围描述不够具象化」。Vibe Coding 的关键不是 “随便说感觉”,而是「用 “关键词 + 场景 + 细节偏好” 的结构,把模糊感觉转化为 AI 可解析的指令」。
1. 氛围描述的 “黄金公式”
plaintext
核心风格 + 功能需求 + 细节偏好 + 技术约束
- 核心风格:用 1-2 个关键词定义氛围(如 “赛博朋克”“极简北欧风”“科技感未来风”)
- 功能需求:明确核心功能(如 “登录页”“数据卡片”“表单提交逻辑”)
- 细节偏好:补充视觉 / 交互的具体感觉(如 “按钮 hover 时有呼吸光效”“滚动时元素淡入”“颜色偏冷色调”)
- 技术约束:指定技术栈 / 工具(如 “用 Tailwind CSS”“兼容移动端”“Vue3 语法”)
2. 不同场景的 Prompt 模板(直接复制用)
场景 1:UI 组件设计(最常用)
plaintext
帮我实现一个【核心风格】的【组件名称】,核心功能是【功能描述】。
视觉细节:【颜色偏好】、【动画效果】、【布局要求】;
交互细节:【hover/click状态】、【响应式表现】;
技术约束:【技术栈】、【兼容要求】。
示例(科技感按钮) :
plaintext
帮我实现一个【科技感未来风】的【提交按钮】,核心功能是【表单提交时显示加载状态】。
视觉细节:底色#0F172A、边框1px solid #10B981(荧光绿)、圆角8px;
交互细节:默认有轻微呼吸动画(opacity 0.8→1循环),hover时边框发光(box-shadow 0 0 15px #10B981),点击后变成加载中(旋转图标+文字“提交中”);
技术约束:Tailwind CSS v3、兼容Chrome/Firefox、无额外依赖。
AI 生成的代码(可直接跑) :
html
<button id="techBtn" class="relative px-6 py-3 bg-[#0F172A] text-white rounded-2xl border border-[#10B981] shadow-md hover:shadow-[0_0_15px_rgba(16,185,129,0.7)] transition-all duration-300 animate-pulse">
提交
<span class="hidden absolute right-4 top-1/2 -translate-y-1/2 w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin" id="loadingIcon"></span>
</button>
<script>
document.getElementById('techBtn').addEventListener('click', function() {
const btn = this;
const loadingIcon = document.getElementById('loadingIcon');
// 切换加载状态
btn.disabled = true;
btn.textContent = '提交中';
loadingIcon.classList.remove('hidden');
// 模拟接口请求(2秒后恢复)
setTimeout(() => {
btn.disabled = false;
btn.textContent = '提交';
loadingIcon.classList.add('hidden');
}, 2000);
});
</script>
场景 2:Bug 修复(氛围化描述预期效果)
plaintext
现有代码存在【问题现象】,我希望修复后达到【预期氛围/效果】:
【具体的预期表现】(如“表单提交失败时提示框柔和不刺眼”“列表滚动不卡顿”);
请帮我:1. 定位bug原因;2. 修复代码;3. 优化交互体验,符合【风格偏好】。
示例(表单提交 bug) :
plaintext
现有代码点击提交按钮后无任何反馈,即使接口报错也没提示。
我希望修复后达到【柔和友好】的效果:
成功时显示淡入淡出的绿色提示框(文字“提交成功!”),失败时显示红色提示框(文字“提交失败,请重试”),提示框3秒后自动消失,不阻塞用户操作;
请帮我:1. 定位bug原因;2. 修复代码;3. 优化提示框的视觉和动画,符合【极简风】(无多余边框,圆角12px,背景半透明)。
AI 修复思路(不仅修 bug,还优化体验) :
- 定位 bug:原代码未处理
fetch的then/catch回调,无状态反馈; - 修复:添加响应拦截,成功 / 失败时创建动态提示框;
- 优化:用 Tailwind 实现半透明提示框,添加
opacity+transform淡入动画。
场景 3:逻辑实现(用意图替代步骤)
plaintext
帮我实现【功能名称】的逻辑,核心意图是【用户场景】:
【具体场景描述】(如“用户滚动到页面底部时自动加载下一页数据,避免手动点击”);
体验要求:【交互氛围】(如“加载时不卡顿”“无数据时提示友好”“重复滚动不重复请求”);
技术约束:【技术栈】(如“原生JS”“React Hooks”)。
示例(无限滚动) :
plaintext
帮我实现【列表无限滚动加载】的逻辑,核心意图是【用户浏览文章列表时,滚动到底部自动加载下一页,不用点击“加载更多”】;
体验要求:加载时显示柔和的骨架屏(不是转圈加载),无更多数据时显示“已到底啦~”的提示(颜色#9CA3AF,居中显示),滚动速度快时不重复触发请求(防抖);
技术约束:原生JS、无框架依赖、兼容移动端。
二、Trae 进阶:把 AI 变成 “懂你” 的专属编码搭档
在众多 AI 编辑器中,Trae 的「Agent 模式」和「.trae/rules 配置」是让 Vibe Coding 沉浸感拉满的关键 —— 它能让 AI 长期记住你的编码习惯,不用每次都重复描述偏好。
1. .trae/rules 深度配置(分场景示例)
.trae/rules是 Trae 的核心配置文件,支持 YAML 格式,可按「风格、逻辑、性能、规范」四大维度预设规则,让 AI 生成的代码直接符合你的习惯。
完整配置示例(直接复制到项目根目录的.trae/rules 文件) :
yaml
# 全局风格规则(视觉/交互统一)
style:
- 优先使用Tailwind CSS v3,禁止写原生CSS(除非必要)
- 主色调:深色模式#0F172A,浅色模式#FFFFFF;强调色#10B981(荧光绿)、#3B82F6(蓝)
- 圆角统一:按钮/卡片圆角8px,输入框圆角4px,弹窗圆角12px
- 动画统一:过渡时长300ms,动画曲线ease-out,禁止使用linear曲线
- 响应式断点:sm(640px)、md(768px)、lg(1024px),移动端优先
# 逻辑编码规则(语法/结构统一)
logic:
- JS代码必须使用ES6+语法,优先用const/let,禁止var
- 异步操作必须用async/await,禁止.then()链式调用
- 函数必须加JSDoc注释(参数、返回值、用途)
- 循环优先用forEach/map,复杂场景用for...of,禁止for循环(性能场景除外)
- 表单验证必须有实时反馈(输入时提示错误,不是提交后)
# 性能优化规则(AI自动优化)
performance:
- 生成DOM操作代码时,必须用documentFragment批量插入(避免频繁重排)
- 滚动/resize事件必须加防抖(延迟200ms),禁止直接绑定
- 图片必须加loading="lazy",设置width/height避免布局偏移
- 避免生成嵌套超过3层的回调函数(用Promise.resolve拆分)
# 兼容性规则(适配场景)
compatibility:
- 支持Chrome 90+/Firefox 88+/Safari 14+,无需兼容IE
- 移动端适配:禁止使用fixed定位(底部导航除外),优先用flex/grid布局
配置后效果:
- 你只需说 “帮我做个登录表单”,AI 会自动用 Tailwind、指定色调、圆角、响应式断点生成代码;
- 生成的 JS 逻辑自带 async/await、防抖、DOM 优化,不用再手动调整;
- 甚至会自动添加图片懒加载、表单实时验证,完全符合你的预设规则。
2. Trae Agent 模式的进阶用法
Trae 的 Agent 模式不是 “被动执行指令”,而是 “主动预判你的需求”,分享 3 个提升效率的技巧:
技巧 1:用「参考链接」让 AI 精准匹配风格
如果有喜欢的 UI 风格(比如某网站的按钮、某组件库的卡片),可以在 prompt 中加入参考链接,Trae 会分析其风格并复用:
plaintext
帮我实现一个和这个按钮风格一致的“取消按钮”:https://xxx.com/example(目标按钮链接)
核心功能:点击后弹出确认框,确认后返回上一页;
技术约束:Tailwind CSS,和参考按钮的颜色、动画、圆角保持一致。
技巧 2:用「否定指令」排除不想要的效果
有时候 “说不想要什么” 比 “说想要什么” 更高效,比如:
plaintext
帮我做个科技感数据卡片,不要太花哨的动画(禁止闪烁效果),不要深色背景(用浅灰#F9FAFB),不要复杂边框(1px solid #E5E7EB)。
技巧 3:开启「协作模式」让 AI 主动提建议
在 Trae 中输入/collab即可开启协作模式,AI 会在你描述需求后,主动补充优化建议:
- 你:“帮我做个注册表单”
- AI:“好的!基于你的 rules 配置,我会用 Tailwind 实现,补充几个优化点:1. 密码输入框添加眼睛图标(显示 / 隐藏密码);2. 手机号输入自动格式化(3-4-4 分隔);3. 提交按钮在输入不完整时置灰。需要调整吗?”
三、Vibe Coding 避坑指南:AI 生成代码的 3 个常见问题及解决方案
Vibe Coding 不是 “AI 生成代码就完事”,而是要「用 AI 提效,同时把控质量」。分享 3 个高频坑及解决方法:
1. 坑:AI 生成的代码有性能问题(如频繁 DOM 操作、无防抖)
原因:AI 默认优先满足功能,可能忽略性能优化;解决方案:
- 在.rules 中添加性能约束(如前面的 performance 规则);
- 在 prompt 中明确提到 “性能要求”(如 “避免频繁重排”“添加防抖”);
- 校验方法:用 Chrome DevTools 的「Performance」面板录制,查看是否有长任务、频繁重排。
2. 坑:视觉风格不一致(比如这次的按钮圆角和上次不同)
原因:每次 prompt 描述可能有偏差,AI 无法记住历史风格;解决方案:
- 用 Trae 的.rules 统一风格配置(如前面的 style 规则);
- 项目中创建「风格手册」(如一个 HTML 文件,包含常用按钮、卡片、颜色),让 AI 参考;
- prompt 中加入 “和项目现有风格一致” 的约束。
3. 坑:AI 生成的代码有隐藏 bug(如边界条件未处理)
原因:AI 可能忽略极端场景(如空数据、错误输入、网络异常);解决方案:
- 在 prompt 中补充 “边界场景”(如 “无数据时显示空状态”“输入非法字符时提示”);
- 用 Vibe Coding 的方式描述测试场景:“帮我补充测试用例,覆盖空数据、错误输入、网络超时三种场景,让代码更健壮”;
- 关键逻辑(如支付、登录)必须手动 review,重点看条件判断、异常捕获。
四、工具对比:不同 AI 编辑器的 Vibe Coding 适配度
| 工具 | 核心优势 | 适合场景 | 不足 |
|---|---|---|---|
| Trae | Agent 模式、.trae/rules 配置、风格统一 | 长期项目(需要统一编码风格) | 免费版功能有限,部分高级功能付费 |
| Cursor | 集成 VS Code、支持本地代码分析 | 习惯 VS Code 的开发者、修改现有项目 | 氛围描述的精准度不如 Trae |
| Claude Code | 支持长文本 prompt、逻辑理解强 | 复杂逻辑实现(如后端接口、算法) | UI 生成的视觉氛围把控较弱 |
| CodeLlama | 开源免费、可本地部署 | 对隐私敏感的项目、离线开发 | 需自行配置,用户体验不如商用工具 |
个人推荐:
- 前端 UI 开发:优先 Trae(风格统一 + 视觉精准);
- 现有项目修改:Cursor(集成 VS Code,直接操作本地文件);
- 复杂逻辑 / 后端:Claude Code(逻辑理解更深)。
五、Vibe Coding 进阶:训练 AI 适应你的 “专属风格”
如果想让 AI 更懂你,除了配置.rules,还可以做「个性化训练」:
- 收集 3-5 个你写的优质代码片段(如组件、工具函数);
- 在 Trae 中输入
/train,上传代码片段并提示:“学习这些代码的风格(命名规范、注释方式、布局逻辑),后续生成代码时完全对齐”; - 之后再用 Vibe Coding 描述需求,AI 会自动复用你的编码风格(如变量命名、注释格式、函数结构)。
最后:Vibe Coding 不是 “偷懒”,而是 “聚焦核心”
很多人觉得 “用 AI 写代码是偷懒”,但实际体验后会发现:Vibe Coding 让我从 “写代码” 的执行者,变成了 “定义体验” 的设计者。
过去我花 80% 的时间在 “怎么实现”(如调试 CSS 布局、写重复的逻辑代码),现在只需要花 20% 的时间描述清楚 “想要什么感觉”,剩下的交给 AI,而我可以专注于 “这个功能是否符合用户需求”“体验是否足够流畅”。
未来的前端开发,拼的不再是 “谁敲码更快”,而是 “谁能更精准地定义