大力Thinking
返回全部视频

同样用 AI 写代码,为什么有人做出玩具,有人做出产品?

同样用 AI 写代码,为什么做出来的项目差别这么大?这期聊聊 Vibe Coding 的第一步:先选好语言和框架,再让 AI 实现功能。从框架的作用、技术选型到迭代流程,结合我的个人网站案例,分享如何让项目更规范、更容易持续维护。

随着 AI 能力越来越强,越来越多的人加入了 Vibe Coding 的阵营。不管之前是不是做技术的,都可以通过 Vibe Coding 的方式,做自己的工具或者产品。

但很多没有写过代码的朋友,第一次用 AI 做 Vibe Coding 时,往往会脱口而出:“帮我做一个任务管理系统”“帮我做一个博客系统”。所以今天想跟大家聊聊,Vibe Coding 的第一步到底是什么。

为什么直接让 AI 做系统,容易得到一个玩具?

同样是让 AI 帮我们做软件,可能会得到两种完全不同的结果。

第一种,是直接跟 Claude Code、Codex 说:“帮我做一个某某系统。”这样得到的往往只是一个玩具,而且结果很像抽卡:换一个模型,甚至只是再生成一次,质量都可能不一样。

第二种,是先确定语言和框架,再让 AI 基于这个框架逐步增加功能。这样做出来的程序,才更有机会真正用于生产,并且持续迭代。

我遇到过很多朋友,一上来就让 AI 做一个任务管理系统,再给系统加一个用户登录。以现在的模型能力,这些功能确实能实现。但这个项目往往没有清晰的架构,AI 也不一定会按照良好的规范组织项目文件。

所以我认为,Vibe Coding 的第一步,是先选语言和框架。

先选语言,再选框架

首先要选择开发语言。我们要开发的是网页、客户端应用,还是后端服务?不同的场景,适合的语言并不一样。

语言确定以后,还要继续选择框架。同一种语言通常也会有很多框架,有的适合做前端网站,有的适合做 App,有的更适合后端服务。

选定框架后,再让 AI 开始干活,就不需要基于一种语言从头搭架子。

这和传统开发是一个道理。程序员做项目,也不是每次都从 Hello World 开始写,而是基于成熟框架和社区组件继续开发。现成的路由、中间件等能力安装好以后,我们直接在上面迭代应用,做出来的才更像一个企业级、可持续迭代的产品,而不是毕业设计级别的 Demo。

框架到底提供了什么?

1. 约定项目目录

框架会规定项目的基本目录结构,避免 AI 把不同文件随意放在零散的目录里。项目越大,这种约定越重要。

2. 标准化的抽象层

成熟框架通常会提供 ORM、中间件、依赖注入等能力。

例如,ORM 是程序操作数据库的一种标准方式。我们可以用程序对象读写数据库,而不是在业务代码里到处直接拼写 SQL。

3. 内置的工程化能力

数据库迁移、测试框架、应用打包和各种项目管理能力,很多都已经包含在框架的工具链里。AI 不需要每次重新设计一套,项目也更容易保持一致。

4. AI 对成熟框架更熟悉

这个好处并不是框架本身直接提供的,而是 AI 时代带来的。

AI 在训练过程中,不只学习了各种编程语言,也学习了大量优秀框架的代码和文档。如果选择知名、社区繁荣的框架,AI 往往已经非常熟悉它的使用方式,写起代码也会更加游刃有余。

怎么选择语言和框架?

如果自己不懂技术选型,不妨在和 AI 开始干活之前,先跟它聊一聊。

把业务需求、使用场景、自己的技术能力,以及对技术的了解程度,都开诚布公地告诉 AI。它可以根据这些信息,帮你设计一套更适合当前项目的技术栈。

所以,下次做 Vibe Coding 时,不要把第一句话说成“帮我做一个博客系统”。先讨论技术架构,再明确地告诉 AI:“请用某某技术,帮我实现某某功能。”

一个更完整的 Vibe Coding 工作流,可以是:

  1. 讨论需求,选择语言和框架。
  2. 用框架初始化项目,确定目录和基本规范。
  3. 定义数据模型与程序流程。
  4. 让 AI 按照约定生成代码,并放到正确的位置。
  5. 运行测试、验证结果,再进入下一轮迭代。

这里的关键原则是:

你负责架构和方向,让 AI 负责实现和填充。

框架也不是万能的

如果只是做一个简单的数据处理,或者很明确的一次性工作,并不需要一上来就设计复杂架构,让 AI 直接完成就可以。

技术选型还要考虑团队的熟悉程度。你本身是 Java 工程师,就没有必要为了追求新潮强行换成 Rust;如果你熟悉前端和 Node.js,也不必仅仅因为“Java 性能更好”就改变整个技术栈。大多数时候,你最熟悉的技术,才是最适合你的技术。

选择框架时,也不要只看 Star 数。还要看看代码提交频率、Issue 的数量和处理情况,从多个维度判断一个框架是否成熟、是否仍在持续维护。

我自己的个人网站,就是一个真实案例

这两天,我刚好做了一个自己的个人网站。开始时,我并没有直接跟 AI 说“帮我做一个个人网站”。

我先把 Obsidian 里的文档和相关内容交给 AI,再告诉它我喜欢哪些技术栈、偏好什么风格。AI 根据这些信息分析后,认为这个网站适合使用静态网站生成器。

我还告诉它自己喜欢 shadcn 的设计风格,并把相关链接发给了 AI。最终,AI 基于这些信息和现有内容,帮我初始化了网站框架。之后,我不断跟 AI 沟通和调整,才一步步把现在这个网站做出来。

这个网站具体是怎么完成的,我在《这个网站,是我和 ChatGPT 一路聊出来的》里有更详细的介绍,感兴趣的话可以继续看看。

总结

下次开始 Vibe Coding 之前,先选框架,再 Coding。

AI 是一个放大器。框架决定了它放大的,是你的工程能力,还是项目里的混乱。