DeepFloodbeta

Vibe Coding 指南

与 AI 结对编程,就像拥有了一位才华横溢却偶尔“走神”的实习生。它能在一小时内完成过去需要一周的工作,但有时也会在核心代码里埋下“惊喜”。
如何驾驭这位强大的伙伴?以下是多位创始人总结出的实用“AI 协作编程指南”。


规划流程

  • 制定周详计划:先和 AI 在 Markdown 文件里写下实施计划。
  • 评审与精简:删掉不必要的部分,把复杂功能标记为“暂不开发”。
  • 控制范围:设立“未来想法”区,集中注意力。
  • 小步快跑:分阶段实现,避免一次性上全部功能。
  • 追踪进度:完成部分后标记“已完成”。
  • 频繁提交:确保每个能正常工作的部分都提交到 Git。

版本控制策略

  • Git 是生命线:不要依赖工具的撤销功能。
  • 干净起点:每开发新功能前保持 Git 工作区干净。
  • 果断重置:代码混乱时立即执行 git reset --hard HEAD
  • 避免雪球效应:别在错误代码上继续堆砌。
  • 清爽实现:找到方案后,从干净版本重新实现。

测试框架

  • 优先高层测试:注重端到端的集成测试。
  • 模拟用户行为:通过模拟真实点击操作来验证功能。
  • 捕获回归问题:避免 AI 修改代码时破坏其他功能。
  • 先测试,再前进:新功能前确保现有测试通过。
  • 测试即护栏:先写测试用例,给 AI 明确目标。

高效修复 Bug

  • 善用错误信息:直接把错误日志交给 AI。
  • 先分析再修复:让 AI 提出可能原因,再动手。
  • 失败即重置:每次失败后回到干净代码再试。
  • 添加日志:帮助理解代码运行。
  • 切换模型:一个模型卡住时换另一个。
  • 清爽修复:找到根源后在干净版本中实现修复。

AI 工具优化

  • 创建指令文件:如 cursor.rulesclaude.md
  • 本地文档:下载 API 文档放在项目中。
  • 多工具协作:结合 Cursor、Windsurf 等。
  • 各取所长:前端快速用 Cursor,复杂任务用 Windsurf。
  • 货比三家:生成多个方案,择优采用。

复杂功能开发

  • 独立原型:在新代码库中构建核心原型。
  • 提供范例:让 AI 学习已能运行的示例。
  • 明确边界:保持 API 一致,内部灵活调整。
  • 模块化架构:清晰边界的服务式架构优于庞大 monorepo。

技术栈的选择

  • 成熟框架更佳:如 Rails 拥有更多惯例与训练数据。
  • 训练数据关键:新兴语言如 Rust、Elixir 支持稍弱。
  • 模块化优先:拆分文件利于理解与处理。
  • 避免巨型文件:单文件数千行会成为噩梦。

编码之外的妙用

  • DevOps 自动化:配置服务器、DNS、托管。
  • 设计辅助:生成 favicon 等设计元素。
  • 内容创作:产品文档与营销文案。
  • 私人教师:让 AI 逐行解释代码。
  • 利用截图:调试界面或借鉴设计。
  • 语音输入:工具如 Aqua 提高输入效率。

持续改进

  • 定期重构:完善测试后可大胆频繁重构。
  • 发现改进:让 AI 提出可优化部分。
  • 紧跟潮流:尝试新模型,了解进展。
  • 认识特长:不同模型适合不同任务。