MENU

Vibe Coding 中,如何提高开发效率

September 27, 2025 • Read: 74 • 学习

AI 摘要

正在加载摘要...

Vibe Coding 中,如何提高开发效率

随着 AI 技术的发展,越来越多的开发者开始尝试 Vibe Coding ——也就是把 AI 当作“结对编程的伙伴”,通过对话的方式完成代码编写、调试和优化


一、现阶段主流 AI 工具对比

目前我常用到的 AI 模型有 GPT-5、Gemini 2.5(Pro/Flash)以及 Claude 4.x。不同工具各有优势,适合的场景也不一样。

工具优势适用场景
GPT-5语言理解和推理能力极强,支持复杂的多轮对话和跨领域问题;适合生成计划以及修复 BUG复杂项目、跨栈开发、需要较高逻辑推理的任务
Gemini 2.5 Pro上下文记忆更持久,长对话能力强,适合规划大型项目需要详细讨论和规划的长期开发
Claude 4.x编码能力极强,且 UI 方面也非常不错。Plan 模式有助于结构化开发,代码逻辑清晰需要详细规划、文档和代码整合的场景

补充

作为全栈开发,GPT-5 往往能提供更强的逻辑和上下文理解,利用其强大的理解能力,在配合上 Claude 的 Plan 模式。做到 先规划在执行 的场景,这样的开发会很流畅


二、Vibe Coding 中常见问题

在实际项目中利用 AI 开发,新手往往会遇到包括但不限于以下问题:

1. Prompt 不清晰

  • 案例:我在 xxx 项目中想加一个团队管理功能,直接对 GPT-5 说“帮我做一个团队系统”,它给我生成了一个全新的 Team 模型和用户关联,但忽略了代码或者模板本身提供的如 Jumpstart 内置的组织/用户模型结构的功能。导致结果冲突很多,花了不少时间重构。重复造轮子

2. 功能过于宽泛

  • 案例:我让 AI “帮我实现订阅功能”,它直接写了 Stripe 集成的控制器和视图,AI 可能会直接去帮你实现,但是确实按照了它的逻辑,如果你没有主动告诉 AI 你已经有部分实现的代码,那么大概率最终代码重复且冲突。

3. 缺乏计划阶段

  • 案例:让 Claude 帮我“加一个发票模块”,Claude 写的代码看似完整,但路由、前端样式和 TailwindCSS 组件完全没有和前端模板对齐,导致的后果就是,同一个项目,像是不同的人在施工,参杂了各种冗余且复杂的代码。如果在一开始有计划的先让 AI 输出“发票模块所需的字段、数据库迁移、UI 组件和权限控制”,再进入编码,效率会更高。

4. 上下文管理不当

  • 案例:在一次对话中不断添加新需求,比如“加多租户支持”“再加 API Key 管理”,但是没有维护一份需求文档。导致 GPT-5 忘记了我项目已经使用 Apartment gem 做多租户,后来又建议我用另外一种方案,冲突严重。

三、解决思路与效率提升方法

针对上述问题,总结出以下几条经验:

1. 提升 Prompt 质量

在 Vibe Coding 中,Prompt 就是需求说明书。AI 能输出什么样的结果,往往取决于你给它的输入。模糊的 Prompt 会让 AI 胡乱发挥,而一个精准的 Prompt 则能让 AI 像资深开发一样给出贴合需求的代码。

Prompt 的作用

  • 明确边界:告诉 AI 该做什么、不该做什么,避免生成多余或冲突的代码。
  • 统一风格:通过 Prompt 说明项目用的框架、依赖和代码风格(例如 Rails 8 + Hotwire + TailwindCSS + Flowbite),让 AI 始终保持一致。
  • 减少返工:当 Prompt 已经涵盖关键细节,AI 生成的结果往往能直接使用,而不是需要开发者大规模重写。

为什么好的 Prompt 能事半功倍

  • 降低沟通成本:把复杂需求转化成清晰的文字,AI 能一次性理解,大幅减少多轮交互。
  • 提高输出质量:明确的上下文信息,让 AI 生成的代码更可维护,避免“屎山代码”。
  • 提升团队效率:在多人协作时,标准化的 Prompt 能确保每个开发者和 AI 的交互保持一致,不会因为表达差异而导致风格混乱。

优秀 Prompt 的参考资源

在 GIthub 里,已经有不少优秀的 Prompt 示例可以直接拿来学习和套用:

高质量 Prompt 不仅告诉 AI 做什么,还明确了 如何做用什么技术做,结果往往能直接落地,极大提升效率。


2. 分解任务,逐步引导

在 Vibe Coding 中,最容易犯的错误就是“一股脑把需求抛给 AI”。这样做的结果往往是:AI 给出一大段貌似完整的代码,但和你的项目框架、依赖不兼容,甚至出现“屎山代码”。

解决办法有两个核心原则:

  1. 任务拆解:把大需求分成小模块,逐步实现;
  2. 计划先行:让 AI 在动手写代码前,先输出一份开发计划。

实践案例:文件下载并上传功能

  1. 模型设计

    • 添加 FileRecord 模型,字段包括 user_idfile_namestatus
    • 确认文件存储策略(本地/云存储)
  2. 下载逻辑

    • 在拿到文件直链后直接在本地服务器上使用 xxx 类中的方法进行下载。
  3. 上传逻辑

    • 使用 Active Storage 进行上传操作
  4. 测试覆盖

    • 编写 RSpec 系统测试,验证下载链接、上传逻辑和文件状态更新的正确性。

用 Plan 模式提升质量

在 Claude 或 GPT-5 中,可以直接让它先生成“计划”而不是代码,这样做的好处是:

  • 减少返工:先验证方案对不对,再让 AI 编码;
  • 方便协作:团队可以先讨论 AI 给的计划,然后再落地;
  • 保持一致性:避免不同模块之间风格和实现不统一。

总结一句话:把需求拆小,并让 AI 先写“计划书”,再写“代码”。
这样 Vibe Coding 才能真正做到高效,而不是边改边救火。


4. 维护项目记忆

可以新建一个 project_context.md 文件,记录:

  • 项目架构,功能
  • 代码风格
  • 编码前后是否要运行某些检查脚本
  • 当前开发进度

我在 project_context.md 中写清楚了这些,后续和 AI 对话时,只要贴上这份文件,它就不用再反复强调项目的事情了


四、总结(感受)

在实际项目的开发中,我最大的感受是:AI 是一个极好的生产力放大器,但前提是你必须先帮它把边界划清楚。(也就是把 AI 当作傻子看待,不要以为它能理解)

比如在实现团队订阅功能时,如果我只是简单说“帮我加订阅”,AI 生成的代码大概率和 Jumpstart 内置的结构冲突;但当我明确说明“基于 Jumpstart 的 Pay gem,在团队维度做订阅,并使用 Flowbite 组件做 UI”,AI 给的代码几乎可以直接落地

Vibe Coding 的关键不在于“AI 能写多少代码”,而在于“你能否把需求描述清楚、拆分合理,并维护上下文”。一旦这些做到位,AI 就能帮你完成大量的重复劳动,而你只需要把控架构和关键实现

从我的经验来看,Vibe Coding 更像是带着一个随叫随到的天才傻子写代码