YC大佬分享的 10 个 vibe coding技巧,看完收获巨大
1、当 AI 卡住的时候切换战场。
问题:
当你在使用 cursor claude code 这样的 AI 编程工具,在编程的时候,如果遇到 AI 无法实现某个功能或者无法修复某一个错误,并且反复尝试都失败(陷入逻辑死循环)
技巧:
这时候就不要在工具里面死磕了,直接复制你的代码和问题,打开大语言模型的官方网页版(比如 ChatGPT),把代码和问题直接粘贴进去,再问一遍同样的问题。
通常 Web 界面能够提供在集成工具中得不到的、更具有创造性的解决方案。【gzh:和平本记】
2、并行使用多种AI工具
问题:
不同的 AI 模型各有优劣,有的速度快,有的思考的深入,有的前端界面做的好看。
技巧:
1)利用不同工具的特性
那你可以在同一个项目上同时启动多种 AI 编程工具。利用不同工具的特性来提供效率。
比如说你现在有 ABC 三个功能。当你完成 A 功能的开发,准备 B 功能开发的时候,我们知道 claude code 非常擅长开发前端 UI 界面,Codex 擅长 review 代码。
那此时你就可以让 claude code 去开发 B 功能的前端界面,同时让 Codex 去 review 刚开发完的 A 功能的代码。
2)提高时间利用率
当 claude code 在开发大功能模块的时候,为了避免等待,你就可以使用 cursor 或者 augment 去小修小补。
3)生成不同方案进行比较
这种就更绝了,针对同一个需求,让不同的 AI 编程工具分别去实现,最后看哪个工具实现的好,就留哪一个版本。
怎么做?
比如我们现在想对比一下,针对同一个需求,claude code 和 Codex 哪一个实现方案更好?
1️⃣ 创建分支
从主开发分支(如 develop)上,创建两个新的实验分支,例如 feature/login-codex 和 feature/login-claude。
2️⃣ 在不同的分支上工作【gzh:和平本记】
在 feature/login-codex分支上,让AI工具 Codex 来完成整个登录功能的开发,并提交代码。
然后切换到 feature/login-claude 分支,让 AI工具 Claude Code 用不同的方式实现同样的功能,并提交。
3️⃣ 完全隔离比较
现在,这两个实现版本被完全隔离在不同的分支里。开发者可以随时切换分支,完整地运行和测试这两个方案,进行深入比较。
4️⃣ 合并最优解
当决定哪个版本更好后,可以将那个分支(比如 feature/login-codex)合并回主开发分支,然后将另一个实验分支 (feature/login-claude) 删除。
3、采用测试驱动的编程方法
问题:
AI 在写代码的时候,最大的一个问题就是他可能会随意发挥,给出来的结果很有可能不是你想要的,或者跟你预期的有差距。
技巧:
我们采用测试先行,先定义好成功的标准,再让 AI 去实现。
首先,编写详细的测试用例(Test Cases)。一旦高质量的测试用例准备就绪,就相当于为AI设定了强有力的规则或护栏 。
AI可以在这些明确的约束下自由地生成代码,其目标就是通过这些预设的测试。
当 AI 生成的代码能够让所有测试用例显示为绿色(即全部通过)时,开发工作就完成了。
4、与 AI 协作先制定详细的计划
如果你之前写过代码,或者对代码稍微有点了解,那你可以直接从cursor、 claude code 上手。
当你选好编程工具之后,第一步不是立刻开始写代码,而是和大语言模型一起先制定一个全面的计划,然后把它保存成 MD 文件,放到项目的文档目录下面,这样你可以随时回过头来参考。
要产出这份文档,需要你自己先整理一份结构化讨论框架,通过这份结构化讨论框架,你可以跟 AI 去进行讨论,把产品从想法到落地,这中间的过程落到一份文档中,然后按照这份文档去进行实施。
解释一下这里的结构化讨论框架:
因为你想要做一个产品,一开始可能只有一个模糊的想法,那你不可能跟 AI 东一句西一句的讨论,这样最后只能得到漫无目的的碎片。
你需要遵循一定的框架,一步一步循序渐进的跟 AI 讨论。逐渐把一个想法落地成一个产品。
比如说你需要先和 AI 讨论
- 项目的核心价值,目标用户、商业模式。
- 然后讨论项目的应用架构,比如 API 接口怎么设计?数据库怎么设计?
- 再然后跟 AI 讨论用户界面和 UI 设计
- 最后再讨论一些执行过程中的细节
把以上所有的讨论都整理到一份 MD 文件中,当你完成这份初稿之后,自己认真的在从头到尾看一遍,把那些你认为不需要或者不喜欢的内容给它删掉,比如针对一些特别复杂的内容,我们起步阶段就可以放弃开发。
以上的过程你和 AI 讨论的越细,你对产品的掌控感就越强,最后我们执行的时候也是参考这份 MD 文件去执行。
不少人使用 AI 编程的时候,会先让 AI 生成一个需求文档,然后直接就让 AI 根据这份需求文档去生成代码。这种方式也可以,但是对项目整体的掌控感就会相对来说弱一点。因为 AI 针对需求去开发,那 AI 具体怎么去实现,对你来说相当于是黑盒。
5、使用版本控制
很多的 AI 编程工具都有回退功能,但是最专业、最好用的还是 Git。
每次开始开发一个新功能的时候,都要确保从一个稳定的、干净的 Git 版本开始,这样,万一 AI 突然发疯,你可以直接恢复到上一个稳定版本。
有的时候你开发一个新功能或者修复一个 bug,你需要跟 AI 来回拉扯四五轮,最终才能把这个问题搞定。【gzh:和平本记】
那在这个过程中 AI 其实会产生非常多冗余的代码,最好的办法是先搞清楚解决方案是怎么样的,然后把代码回退到上一个版本,最后把解决方案应用到这个稳定版本上,这样你的项目就会少非常多的垃圾代码。
6、编写测试
你可以直接让 AI 帮你写测试,AI 在这方面很擅长,但是他们大部分生成的都是单元测试。
但是更推荐让 AI 去编写高层级的测试。
什么是高层级的测试?举个例子:
1)模拟用户真实行为
模拟一个真实用户如何与你的网站或者应用交互。比如测试一个用户从注册登录到浏览商品,最终下单支付的整个过程。而不是单独测试去验证邮箱是否正确这样的一个单元测试
2)端到端的功能验证
确保整个功能链条从头到尾是畅通的,能从头到尾正常工作。这种测试不关心内部某个函数的具体实现细节,只关心整体功能是否到达预期效果。
3)捕捉意外副作用
AI 在修改代码的时候,常常会无缘无故的修改其他毫不相关逻辑的代码。
如果只有单元测试,你可能无法发现这种跨模块的、意料之外的错误。而高层级的集成测试,因为它测试的是完整的用户流程,所以当 AI 无意中破坏系统中某个功能的时候,这个测试就会运行失败,能帮你提早发现问题。
7、处理非编码任务
AI 编程工具除了可以写代码之外,你还可以用它来处理一些非编码任务。
比如已经有人用 claude code 去发 Twitter 发小红书。AI 在这方面也很强,不要忘记他在这方面的功能。
8、bug 修复
对于一些比较复杂的 bug,可以让大模型先列出3~4种修复方案或者 bug 引起的原因。然后再让他写代码去修复。【gzh:和平本记】
当你遇到一个 bug,修复多次都没有能修复成功的时候。失败一次你就把代码回退一次,然后重新尝试修复。这样你的项目不会积累一层又一层的垃圾代码。
9、关于文档
如果你在开发过程中需要让 AI 参考一些文档,虽然可以通过一些 MCP 工具去访问在线文档,但是如果你发现 AI 理解不准确的时候,可以把在线文档下载下来,直接放到项目的文档目录,本地化的文档更容易让 AI 去理解。
10、关于复杂功能
如果你开发一个新功能,但是这个功能实现起来非常的复杂。你可以把它作为一个独立的项目,在完全干净的代码库中进行开发,等开发好了之后,再让 AI 参考你开发的这个代码,去完成你需要的功能。
有的时候 GitHub 上会有已经写好的功能代码,我们可以直接拿过来用,然后我们在一个完全干净的代码库中把要开发的功能开发好了之后,再让原项目参考我们刚刚开发好的代码,完成最终功能的实现。
YC大佬分享的 10 个 vibe coding技巧,看完收获巨大的更多相关文章
- 10个jQuery小技巧
收集的10个 jQuery 小技巧/代码片段,可以帮你快速开发. 1.返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而不需要使用其他插件. $('a.top' ...
- 提升你的开发效率,10 个 NPM 使用技巧
对于一个项目,常用的一些npm简单命令包含的功能有:初始化一个文件夹(npm init),下载npm模块(npm install),创建测试(npm test) 和自定义脚本(npm run).但是, ...
- 人人必知的10个jQuery小技巧
收集的10个 jQuery 小技巧/代码片段,可以帮你快速开发. 1.返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而不需要使用其他插件. // Back t ...
- 偏执却管用的10条Java编程技巧
本文由 ImportNew - LynnShaw 翻译自 javacodegeeks.欢迎加入翻译小组.转载请见文末要求. 经过一段时间的编码(咦,我已经经历了将近20年的编程生涯,快乐的日子总是过得 ...
- 10个CSS简写技巧让你永远受用
转自:http://blog.bingo929.com/10-css-shorthand-tips.html 前言: CSS简写就是指将多行的CSS属性声明化成一行,又称为CSS代码优化.CSS简写的 ...
- 10个 jQuery 小技巧
10个 jQuery 小技巧 -----整理by: xiaoshuai 1. 返回顶部按钮 可以利用 animate 和 scrollTop 来实现返回顶部的动画,而不需要使用其他插件. // Bac ...
- Vim新手节省时间的10多个小技巧
Vim新手节省时间的10多个小技巧 Vim 是很多开发者的首选编辑器,通过设置正确的命令和快捷方式,它可以帮你更快的完成工作.这篇文章我们为 Vim 新手提供一些快捷键等方面的小技巧,帮你提升工作效率 ...
- 人人必知的10个 jQuery 小技巧
原文地址:http://info.9iphp.com/10-jquery-tips-everyone-should-know/ 人人必知的10个 jQuery 小技巧 收集的10个 jQuery ...
- 《死磕 Elasticsearch 方法论》:普通程序员高效精进的 10 大狠招!(完整版)
原文:<死磕 Elasticsearch 方法论>:普通程序员高效精进的 10 大狠招!(完整版) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链 ...
- 分享一个自己画div的技巧
分享一个自己画div的技巧 笔者是小白,前端不是很懂.现在想总结下自己画div布局的小技巧和思路. 先对着设计图把div给好好框选出来 我个人觉得这一步是很重要的,要先分析大局,再细节处理.一定要先决 ...
随机推荐
- ado.net基础(一)
什么是ado.net 使用.net技术操作数据库的一套类库. 命名空间 system.data:描述数据的命名空间 system.data.sqlclient:专门针对sqlserver的命名空间 四 ...
- mac os清除U盘分区
起因 在window下把u盘搞成装机系统启动盘了想再mac下恢复u盘实际容量,怎么办因为装成系统盘后,mac用 磁盘工具显示的容量很小,只有几十MB.正常情况下 用任何一款pe(老毛桃.大白菜)都可以 ...
- 使用密钥登录Linux服务器
我使用的是Xshell生成密钥,再上传到Linux服务器上的. 到工具标签栏,选择[新建用户密钥生成向导] 设置密钥的密码 最后将其保存为文件就好了. ======================== ...
- iga 入门之 有限元解题步骤
简介 摘自 流体力学数值方法 步骤 写出积分表达式 根据变分原理或方程余量与权函数正交化原理,建立起微分方程初边值问题等价的几分表达式.这和Ritz-Galerkin法解题时的第一步是完全一致的,即写 ...
- Skill Discovery | LGSD:用描述 state 的语言 embedding 的距离,作为 metra 的 d(x,y) 距离约束
ICLR 2025,8 8 6 6 poster. arxiv:https://arxiv.org/abs/2406.06615 pdf:https://arxiv.org/pdf/2406.0661 ...
- POLIR-Society-Organization-Communication: 交流: 组织/社会化的沟通: 首先确定对方姓名+Role/身份+判断其目的、立场和认知
要用适合沟通对方的Role/身份,容易理解和舒服的方式,达成我们的目标 POLIR-Society-Organization-Communication: 交流: 组织/社会化的沟通: 首先确定对方 ...
- Linguistics-English-区分 that Vs. which + 定语(refine限定主句)从句 Vs. 同位语(expand扩展补充主句)从句
英语的"语法"适配"含义" 英语是一门语言,有丰富的含义: "语法结构" 是与 "含义"适配使用的,而不只是背语法规则: ...
- SciTech-Mathmatics-Advanced Algebra-LinearAlgebra: 矩阵的相抵、相似与合同
https://www.math.pku.edu.cn/teachers/baozq/algebra/alg1.htm 矩阵的相抵.相似与合同 基本概念: 相抵, 相抵标准形 相似, 对角化, 迹, ...
- 题解:Luogu-P8624 [蓝桥杯 2015 省 AB] 垒骰子
复习了一遍矩阵快速幂,感谢 @naroto2022 的讲课和分享的好题. 本题是一道动态规划结合矩阵加速的好题. 读完题考虑设计状态,记 \(f_{i,j}\) 为第 \(i\) 个骰子点数 \(j\ ...
- 领域驱动设计(DDD)在分布式系统中的架构实践
在分布式系统设计中,随着业务复杂度提升,传统 "面向技术" 的架构设计难以应对业务变化.领域驱动设计(Domain-Driven Design, DDD) 以业务领域为核心,通过建 ...