张大妈

YC 官方 Vibe Coding 开发实践手册

源自新浪微博:默庵·超级个体

02-01 19:21

面对日益普及的 AI 辅助编程,开发者常常感到混乱和低效。这份来自 YC 的实践指南,系统性地整理了从项目规划到调试维护的全流程方法论,旨在帮助开发者建立一套清晰、高效的 Vibe Coding 工作流,最大化 AI 的生产力,同时保持代码质量和项目可控性。

YC 官方 Vibe Coding 开发实践手册智能速览

  • 项目启动前应先让 AI 生成详细计划,并严格控制范围。

  • 使用 Git 时应保持代码库整洁,失败后果断重置。

  • 优先进行端到端集成测试,而非过度关注单元测试。

  • 创建专门的指令文件并下载本地 API 文档以提升 AI 准确性。

  • 选择如 Ruby on Rails 等成熟框架,因其训练数据更完善。

  • 将 DevOps、设计和文档等非核心任务也交由 AI 处理。

YC 官方 Vibe Coding 开发实践手册精华内容

所谓的“Vibe Coding”并非混乱尝试,而是一套有章可循的系统性工程。以下将从核心环节拆解这套高效开发方法,帮助构建稳健的工作流程。

规划与版本控制

项目启动阶段,应首先与 AI 协作制定一份详细的实现计划,并以 Markdown 文件形式记录。随后需严格审查,删除非必要功能,对过于复杂的功能标记为“暂不实现”,以控制项目范围,避免需求蔓延。建议单独维护一个想法清单,保持当前任务的专注度。

在版本控制上,明智地使用 Git,切勿过度依赖 AI 工具的内置回退功能。每次开发新功能时,都应从一个干净的代码状态开始。一旦 AI 的方向跑偏,应果断使用 `git reset --hard HEAD` 命令重置。多次失败的尝试会产生大量无用代码,及时清理至关重要。当找到最终解决方案后,推荐彻底重置并在干净的状态下重新实现。

质量保障策略

测试环节应优先进行端到端的集成测试,通过模拟真实用户的点击行为来验证核心功能,单元测试则居于次要地位。大语言模型在修改代码时,时常会意外改动不相关的逻辑,因此集成测试是防范此类风险的关键。务必确保当前功能的所有测试通过后,再开始下一个功能的开发。

调试时,直接将完整的错误信息复制粘贴给 AI,通常就能快速定位问题。在尝试修复前,可先让 AI 分析多种可能的失败原因。每一次不成功的调试尝试后,都必须回到干净的代码状态,避免问题累积。必要时,可通过增加战略性日志输出来监控程序内部运行状况,若思路卡壳,不妨切换至另一个 AI 模型寻求新思路。

AI 工具优化

为了提升 AI 工具的协作效率,可以在项目中创建专门的指令文件,如 `cursor.rules` 或 `claude.md`,详细写入项目规范和上下文。同时,将相关的 API 文档下载至本地项目文件夹,能有效提高 AI 对接口的理解准确性。

部分开发者会同时使用 Cursor 和 Windsurf 进行开发,利用工具间的特性互补。例如,Cursor 在前端开发上速度更快,而 Windsurf 在后端逻辑思考上更为深入。面对复杂功能,可以先在隔离的干净代码库中构建独立原型,或者让 AI 参照现有的示例代码进行实现,明确内外接口边界,能大幅降低开发复杂度。

技术选型与架构

技术栈的选择直接影响 AI 辅助编程的成效。建议优先选择成熟的框架,例如拥有 20 年稳定性的 Ruby on Rails,其丰富的训练数据能让 AI 更好地理解和生成代码。相比之下,Rust 或 Elixir 等较新的语言,可能因训练数据不足而影响 AI 表现。

在架构设计上,应坚持模块化优先原则。小而独立的文件不仅便于人类阅读和维护,对 AI 来说也更容易理解和操作。要坚决避免产生数千行的巨型文件,这会显著增加 AI 理解和修改的出错概率。基于服务的模块化架构相较于单体应用,长期来看更易于维护和扩展。

精选参考来源

YC 竟然编写了一份 《Vibe Coding 最佳实践指南》,内容如下:规划流程- 制定详细计划:先让 AI 帮你写一个详细的实现计划,分步骤进行- 审查和优化:删除不必要的功能,如果太复杂就标记为"暂不实现"- 控制项目范围:单独建一个想法清单,保持专注,避免需求蔓延- 分步实现:一个功能一个功能地做,不要想着一口吃成胖子- 跟踪进度:让 AI 标记已完成的部分,便于后续开发- 定期提交代码:确保每个可工作的版本都提交到 Git,避免前功尽弃版本控制策略- 明智使用 Git:不要过度依赖 AI 工具的回退功能- 保持代码整洁:每次开发新功能都从干净的状态开始- 及时重置:如果 AI 跑偏了,果断用 git reset --hard HEAD 重来- 避免累积问题:多次失败尝试会产生代码垃圾,要及时清理- 彻底重构:找到解决方案后,重置并干净地重新实现测试框架- 优先集成测试:重点做端到端集成测试,单元测试其次- 模拟用户行为:通过模拟用户点击操作来测试功能- 防范意外修改:大语言模型经常会误改不相关的代码逻辑- 先测试再继续:确保测试通过了再开发下一个功能- 用测试定边界:有些创始人建议从测试用例开始,明确功能边界高效调试- 善用错误信息:直接复制粘贴错误信息通常就能让 AI 解决问题- 编程前先分析:让 AI 考虑多种可能的原因- 失败后重置:每次不成功的尝试后都要回到干净状态- 增加日志输出:添加战略性日志来了解程序运行状况- 尝试不同模型:卡住时换个 AI 模型试试- 彻底重构:定位问题后,重置并在干净的代码库上重新实现AI 工具优化- 创建指令文件:在合适的文件中写详细的 AI 指令(cursor.rules、windsurf.rules、claude.md)- 本地文档:将 API 文档下载到项目文件夹中提高准确性- 多工具配合:有些创始人会同时用 Cursor 和 Windsurf 开发同一个项目- 工具分工:Cursor 前端开发更快,Windsurf 后端思考更深入- 对比方案:生成多个解决方案然后选择最佳的复杂功能开发- 先做独立原型:在干净的代码库中构建复杂功能- 使用参考实现:让 AI 参照现有示例来开发- 明确接口边界:保持外部 API 一致,内部可以随意调整- 模块化架构:基于服务的架构比单体应用更容易维护技术栈建议- 选择成熟框架:Ruby on Rails 因为有 20 年的稳定性而表现很好- 考虑 AI 训练数据:新语言如 Rust 或 Elixir 的训练数据可能较少- 模块化优先:小而模块化的文件对人类和 AI 都更友好- 避免巨型文件:不要搞几千行的大文件编程之外- DevOps 自动化:用 AI 配置服务器、DNS 和托管- 设计辅助:生成网站图标和其他设计元素- 内容创作:起草文档和营销材料- 教学工具:让 AI 逐行解释实现原理- 视觉分享:用截图分享 UI 问题或设计灵感- 语音输入:像 Aqua 这样的工具可以实现每分钟 140 字的语音输入持续改进- 定期重构:测试到位后,经常重构代码- 发现重构机会:让 AI 找出可以重构的地方- 保持更新:尝试每个新发布的模型- 发挥优势:不同模型在不同任务上各有所长#微博新知#人工智能#AI创造营##微博兴趣创作计划#
内容由AI生成

精选参考来源

YC 竟然编写了一份 《Vibe Coding 最佳实践指南》,内容如下:规划流程- 制定详细计划:先让 AI 帮你写一个详细的实现计划,分步骤进行- 审查和优化:删除不必要的功能,如果太复杂就标记为"暂不实现"- 控制项目范围:单独建一个想法清单,保持专注,避免需求蔓延- 分步实现:一个功能一个功能地做,不要想着一口吃成胖子- 跟踪进度:让 AI 标记已完成的部分,便于后续开发- 定期提交代码:确保每个可工作的版本都提交到 Git,避免前功尽弃版本控制策略- 明智使用 Git:不要过度依赖 AI 工具的回退功能- 保持代码整洁:每次开发新功能都从干净的状态开始- 及时重置:如果 AI 跑偏了,果断用 git reset --hard HEAD 重来- 避免累积问题:多次失败尝试会产生代码垃圾,要及时清理- 彻底重构:找到解决方案后,重置并干净地重新实现测试框架- 优先集成测试:重点做端到端集成测试,单元测试其次- 模拟用户行为:通过模拟用户点击操作来测试功能- 防范意外修改:大语言模型经常会误改不相关的代码逻辑- 先测试再继续:确保测试通过了再开发下一个功能- 用测试定边界:有些创始人建议从测试用例开始,明确功能边界高效调试- 善用错误信息:直接复制粘贴错误信息通常就能让 AI 解决问题- 编程前先分析:让 AI 考虑多种可能的原因- 失败后重置:每次不成功的尝试后都要回到干净状态- 增加日志输出:添加战略性日志来了解程序运行状况- 尝试不同模型:卡住时换个 AI 模型试试- 彻底重构:定位问题后,重置并在干净的代码库上重新实现AI 工具优化- 创建指令文件:在合适的文件中写详细的 AI 指令(cursor.rules、windsurf.rules、claude.md)- 本地文档:将 API 文档下载到项目文件夹中提高准确性- 多工具配合:有些创始人会同时用 Cursor 和 Windsurf 开发同一个项目- 工具分工:Cursor 前端开发更快,Windsurf 后端思考更深入- 对比方案:生成多个解决方案然后选择最佳的复杂功能开发- 先做独立原型:在干净的代码库中构建复杂功能- 使用参考实现:让 AI 参照现有示例来开发- 明确接口边界:保持外部 API 一致,内部可以随意调整- 模块化架构:基于服务的架构比单体应用更容易维护技术栈建议- 选择成熟框架:Ruby on Rails 因为有 20 年的稳定性而表现很好- 考虑 AI 训练数据:新语言如 Rust 或 Elixir 的训练数据可能较少- 模块化优先:小而模块化的文件对人类和 AI 都更友好- 避免巨型文件:不要搞几千行的大文件编程之外- DevOps 自动化:用 AI 配置服务器、DNS 和托管- 设计辅助:生成网站图标和其他设计元素- 内容创作:起草文档和营销材料- 教学工具:让 AI 逐行解释实现原理- 视觉分享:用截图分享 UI 问题或设计灵感- 语音输入:像 Aqua 这样的工具可以实现每分钟 140 字的语音输入持续改进- 定期重构:测试到位后,经常重构代码- 发现重构机会:让 AI 找出可以重构的地方- 保持更新:尝试每个新发布的模型- 发挥优势:不同模型在不同任务上各有所长#微博新知#人工智能#AI创造营##微博兴趣创作计划#

0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章