i陆三金
25-04-27 00:22 微博认证:AI博主

YC 油管分享 Vibe Coding 技巧,视频中 YC X25 创始人们分享了一些 Vibe Coding 技巧,Y Combinator 合伙人 Tom Blomfield 分享了详细建议。

链接:http://t.cn/A6dxB2C4

🌈 YC 创始人的 Vibe Coding 技巧

- Nicole Lu (Sieve): 如果 AI IDE 卡住或陷入循环,尝试将代码直接粘贴到 LLM 的网页界面中提问。

- Skyler Ji (Human Behavior):
🌟同时使用多个 AI 编程工具(如 Cursor 和 Windsurf),利用各自优点(Cursor 速度快,Windsurf 思考更深入)。
🌟在一个工具思考时,使用另一个工具处理其他任务(如前端修改)。
🌟可以给不同工具相同的上下文和任务,比较生成结果,择优使用。

- Sacha Servan-Schreiber (Tinfoil):
🌟将 Vibe Coding 视为一种新的编程“语言”,输入是自然语言而非代码。
🌟需要提供非常详细的上下文和信息才能获得好的结果。

- Arshad Shaikh (Leeroo):
🌟采用“反向”方法,先手动编写测试用例(Test Cases),为 LLM 提供明确的“护栏”。
🌟然后让 LLM 生成代码来通过这些测试。

- Antoni Gmitruk (Authed):
🌟在让 AI 编程工具在代码库中自由发挥前,先花时间与纯 LLM 沟通,明确项目范围和架构。
🌟确保理解要构建的目标。

- Jack Swisher (Beluga Labs):
🌟监控 LLM 是否陷入“兔子洞”(反复生成无效或奇怪的代码)。
🌟如果发现这种情况(如需要不断复制粘贴错误信息),应暂停并分析原因,可能是上下文不足。可以反问 LLM 为何失败。

🌈 Tom Blomfield 的 Vibe Coding 详细建议

1. 选择工具:
🌟新手:可从 Replit、Lovable 等具有易用可视化界面的工具开始,适合快速尝试 UI。
🌟有经验者:可直接使用 Windsurf、Cursor、Claude Code 等更强大的工具。

2. 先规划,再编码:
🌟不要期望 AI 能“一键生成”整个复杂产品。
🌟与 LLM 合作制定详细的计划(如写入 Markdown 文件),分阶段、分模块执行。
🌟过程中不断回顾和修订计划(标记完成、删除、添加待办)。

3. 使用版本控制 (Git):
🌟极其重要,将 Git 作为安全网。
🌟每次让 AI 做修改前,确保代码库是干净的(Clean Git State)。
🌟如果 AI 搞砸了,果断使用 git reset --hard 回滚,然后在干净的基础上重新尝试,甚至可以把正确的解决方案反馈给 AI。
🌟避免在错误代码上层层叠加修复。

4. 编写测试:
🌟编写(或让 LLM 编写)测试,尤其是高层级的集成测试(模拟用户端到端的操作)。
🌟测试能捕捉到 AI 修改代码时可能引入的意外回归(Regression)。

5. 修复 Bug:
🌟直接将错误信息(来自服务器日志、浏览器控制台等)复制粘贴给 LLM,通常足以让其定位并修复。
🌟对于复杂 Bug,先让 LLM 分析并提出几种可能的原因,再尝试修复。
🌟每次失败的修复尝试后,使用 Git 回滚,避免代码越来越糟。

6. 利用文档:
🌟目前 LLM 直接读取在线 Web 文档效果可能不佳。
🌟可以将相关 API 文档下载到本地项目子目录中,然后指示 LLM 读取这些本地文档。

7. 将 LLM 作为老师:
🌟让 LLM 逐行解释它生成的代码或你不熟悉的代码。
🌟这是学习新技术或语言的好方法。

8. 处理复杂功能:
🌟在干净的代码库中,将复杂功能作为一个独立的“参考实现”项目来构建。
🌟验证其工作正常后,再让 LLM 参考这个实现,将其整合到主项目中。

9. 保持模块化:
🌟小文件和模块化对人类和 LLM 都友好。
🌟代码更易于理解和维护,减少修改时的意外影响。

10. 选择合适的技术栈:
🌟成熟、约定俗成的框架(如 Ruby on Rails)效果往往更好,因为有大量高质量、一致的训练数据。
🌟较新或小众的技术栈(如 Rust、Elixir)可能效果稍差(但情况在快速变化)。

11. 使用截图:
🌟将 UI Bug 的截图或设计灵感的截图直接粘贴给 AI 编程助手。

12.使用语音输入:
🌟利用 Aqua Voice 等工具,可以通过语音输入指令,速度比打字快。AI 对转录中的微小语法或标点错误容忍度较高。

13.经常重构:
🌟当代码能工作且测试通过后,及时进行重构。
🌟可以要求 LLM 识别重复代码或提出重构建议。

14. 持续实验:
🌟AI 编程领域日新月异,每周都有新进展。
🌟不断尝试新的模型和工具,了解它们在不同任务(规划、编码、调试、重构)上的优劣。

发布于 北京