乐于分享
好东西不私藏

同样一个软件,普通人 VibeCoding 为什么跟程序员 VibeCoding 的结果相差甚远?

同样一个软件,普通人 VibeCoding 为什么跟程序员 VibeCoding 的结果相差甚远?

这两天我一直在想一个问题:为什么同样是让 AI 做一个软件,有些程序员能把它一路推到上线,有些普通人做出来的东西,看起来像个产品,点几下就开始露馅。

一开始我也会把差距归因到“会不会写代码”。后来发现没这么简单。

AI 现在确实把写代码的门槛降下来了。以前要自己查语法、搭框架、改报错,现在很多步骤可以直接交给 AI 先跑一版。问题是,软件交付的门槛并没有跟着一起消失。

一个真正能用、能上线、能继续迭代的产品,背后不只是页面和按钮。它还包含需求拆解、数据结构、权限设计、异常处理、安全、部署、日志、备份、运维、版本迭代和业务决策。

普通人 VibeCoding 容易卡住的地方,往往不在“代码有没有写出来”,而在“这东西到底能不能放心用”。

对于完全不懂开发的人来说,最容易拖后腿的,其实是判断能力:

  • 不知道 AI 给出的架构是否合理;
  • 不知道数据库设计以后会不会把路堵死;
  • 不知道权限、安全、异常流程有没有漏洞;
  • 不知道这份代码是临时拼出来的,还是可以继续扩展;
  • 不知道上线以后出了问题该往哪里排查。

所以我现在觉得,普通人学习开发的目标,不一定是转型成为职业程序员。更现实的目标,是建立一套“AI 开发审稿能力”。

对产品经理或者想用 AI 做 MVP 的人来说,这个目标可以说得更具体一点:

能看懂一个软件系统的基本结构,能判断 AI 方案的大方向是否可靠,能发现明显技术风险,能给 AI 下更准确的开发指令,并能参与验收。

为什么要学习一点开发

1. 把产品需求变成 AI 能执行的任务

产品经理通常擅长理解用户、业务流程、场景和优先级。但 AI 开发还需要你把这些信息继续拆下去,拆成页面结构、用户角色、权限规则、数据表、接口列表、状态流转、异常场景和验收标准。

如果只是告诉 AI:“帮我做一个客户下单系统”,它大概率会先把主流程做出来。能注册、能下单、能查看订单,页面看起来也像那么回事。

但真实业务里麻烦的地方往往藏在边角:

  • 用户重复点击提交怎么办;
  • 支付失败以后订单状态怎么变;
  • 客户取消订单后,库存和金额怎么处理;
  • 普通员工能不能看到别人的客户数据;
  • 数据要不要备份,出了问题怎么恢复。

这些问题如果你不提,AI 很可能不会主动补全。它会优先交出一个“能演示”的版本。

学习开发的意义,就是让你能把一句口语化需求,翻译成 AI 更容易执行的技术任务。

2. 判断 AI 写出来的东西能不能继续用

AI 现在生成代码很快,但它经常为了先跑起来,选择短期写法。

常见情况包括:

  • 代码堆在一个文件里;
  • 数据表设计不利于扩展;
  • 权限只在前端限制;
  • 异常流程没有兜底;
  • 错误日志不足;
  • 环境变量和密钥处理不规范;
  • 功能能演示,但很难真正商用。

如果完全不懂开发,就只能看页面是否能点。按钮能点,列表能显示,就觉得差不多了。

但程序员看同一个系统,会多看几层:数据库怎么存,接口怎么拆,权限在哪里校验,失败以后有没有回滚,日志能不能定位问题,部署以后怎么更新。

这就是普通人和程序员 VibeCoding 结果差很多的原因。AI 没有给谁偏心,差别在于两个人给它的约束、检查和追问不一样。

3. 和 AI 形成更稳定的协作关系

AI 更像一个执行能力很强的开发助手。你问得清楚,它能跑得很快。你问得模糊,它也会跑,但方向可能越来越偏。

学一点开发以后,你可以更好地指挥 AI:

  • 先让 AI 设计方案,再决定要不要写代码;
  • 先审查数据结构和权限,再开发页面;
  • 先拆 MVP 范围,再考虑复杂功能;
  • 先写验收标准,再让 AI 自测;
  • 出错时按模块排查,避免一上来整段重写。

这时候你和 AI 的关系就变了。它会从“帮我生成代码”的工具,变成一个可以被你拆任务、被你审查、被你反复校准的协作者。

为什么建议先从网站入手

网站、APP、小程序是不同产品形态,但底层开发逻辑大致相通。

大多数软件产品都绕不开几层东西:

  • 前端界面:页面、按钮、表单、交互;
  • 后端接口:登录、查询、提交、修改、删除;
  • 数据库:用户、订单、文件、权限、状态;
  • 权限体系:谁能看、谁能改、谁能审批;
  • 第三方服务:支付、短信、地图、AI 接口;
  • 异常处理:失败、重复提交、断网、超时;
  • 安全机制:鉴权、防越权、防泄露、防接口滥用;
  • 部署运维:上线、日志、备份、监控、版本更新。

网站适合作为第一站,是因为开发和部署链路最清楚,调试方便,资料多,AI 工具也很擅长辅助。尤其是后台系统、管理系统、SaaS、AI 工具类产品,本来就很适合先用网站形态练手。

你先把“需求 → 页面 → API → 数据库 → 权限 → 部署”这一条链路跑通,再看小程序和 APP,就不会被产品形态带偏。

小程序需要额外补平台规则,比如微信或支付宝登录、支付、审核、页面跳转限制、用户隐私授权、包大小限制。

APP 需要额外补设备和应用商店规则,比如 iOS 和 Android 适配、推送通知、手机权限、离线缓存、版本升级、性能、相机、定位、蓝牙等原生能力。

所以比较适合普通人的学习顺序是:

网站开发基础
  ↓
小程序平台规则
  ↓
APP 设备能力和应用商店规则

学到什么程度就够了

这套学习的目标,不必设成传统意义上的全栈工程师。至少在第一阶段,我更关心下面几种能力:

  1. 1. 看懂一个软件系统由哪些部分组成。
  2. 2. 能把产品需求拆成页面、接口、数据、权限、状态和异常。
  3. 3. 能判断 AI 给出的技术方案有没有明显漏洞。
  4. 4. 能识别数据库、权限、安全、部署上的常见风险。
  5. 5. 能用 AI 做出一个小型 MVP,并完成基本验收。
  6. 6. 能和开发者、AI 工具进行更高质量的沟通。
  7. 7. 能判断一个产品只是“能演示”,还是具备继续商用迭代的基础。

如果能做到这些,已经比单纯会写几段提示词强很多。

第一阶段技术栈怎么选

我会建议先选一套简单、现代、适合 AI 辅助开发的技术栈。不要一上来追求“技术含量最高”,先追求能把完整链路跑通。

比较适合入门的一套组合是:

  • Next.js:前后端一体,适合快速做网站和管理系统;
  • TypeScript:比纯 JavaScript 更容易发现低级错误;
  • React:主流前端框架,资料多,AI 支持好;
  • Supabase:快速实现数据库、登录、权限和文件存储;
  • PostgreSQL:主流关系型数据库;
  • Vercel:适合快速部署网站;
  • Git:管理代码版本;
  • Docker:后期用来理解本地环境、数据库、Redis、端口和环境变量。

有些东西暂时不用一开始就学:

  • C/C++;
  • Java 底层;
  • 算法刷题;
  • Kubernetes;
  • 微服务;
  • 高并发架构;
  • 复杂 CI/CD;
  • 云原生全家桶。

这些当然有价值,但普通人用 AI 做 MVP 时,优先级没那么高。先把小系统做完整,比先啃一堆大词更重要。

一个 4 周学习路径

第 1 周:建立 Web 开发全局认知

目标:搞懂一个网站是怎么跑起来的。

重点学习:

  • HTML 是页面结构;
  • CSS 是页面样式;
  • JavaScript 是页面交互;
  • HTTP 是前后端通信方式;
  • API 是前端调用后端的接口;
  • JSON 是常见数据传输格式;
  • 数据库负责持久保存业务数据;
  • Git 负责记录代码变化;
  • 部署是把本地代码放到线上环境运行。

本周验收标准:

  • 能说清楚用户点击按钮后,数据如何从页面提交到后端,再保存到数据库;
  • 能看懂一个简单页面的代码结构;
  • 能理解前端、后端、数据库分别负责什么;
  • 能用 AI 解释一段代码的大概作用。

第 2 周:做一个真实 CRUD 小系统

目标:用 AI 辅助做出一个简单但完整的小系统。

可以从自己熟悉的业务里选题,比如:

  • 客户资料管理系统;
  • 订单录入系统;
  • 文件上传与人工校验系统;
  • 报价表管理系统;
  • 任务审批系统。

这个系统至少要包含登录、新增、查询、编辑、删除、不同角色权限、基础错误提示和数据库保存。

本周验收标准:

  • 能说清楚核心数据表有哪些;
  • 能说清楚页面分别对应哪些数据操作;
  • 能知道哪些功能属于前端,哪些属于后端;
  • 能让 AI 输出 API 列表和数据表设计;
  • 能发现明显缺失的异常场景。

第 3 周:补数据库、权限和异常处理

目标:从“能跑”提升到“基本可靠”。

重点学习:

  • 数据表之间的关系;
  • 主键、外键、唯一约束;
  • 状态字段设计;
  • 用户角色和权限;
  • 后端鉴权;
  • 防止越权访问;
  • 防止重复提交;
  • 表单校验;
  • 错误码;
  • 日志;
  • 上传失败、网络失败、接口失败的处理。

本周验收标准:

  • 能判断权限是否只做在前端;
  • 能检查用户是否可能看到别人的数据;
  • 能识别重复提交、状态错乱、数据丢失等风险;
  • 能让 AI 按异常场景补充代码;
  • 能要求 AI 输出测试用例和验收清单。

第 4 周:部署、环境变量和线上运维

目标:理解一个产品从本地运行到线上使用的全过程。

重点学习:

  • 本地环境和线上环境的区别;
  • 环境变量;
  • API key 和密钥安全;
  • 数据库连接;
  • Vercel 部署;
  • 域名;
  • SSL;
  • 日志查看;
  • 错误排查;
  • 数据备份;
  • 版本回滚;
  • Docker 的基础概念。

Docker 暂时只需要理解几个词:image、container、port、volume、environment、network、Dockerfile、Docker Compose。

本周验收标准:

  • 能把一个小项目部署到线上;
  • 能知道环境变量在哪里配置;
  • 能知道密钥不能写在前端代码里;
  • 能查看基础错误日志;
  • 能理解数据库为什么需要备份;
  • 能让 AI 根据线上报错定位问题。

我建议的 AI 开发协作流程

以后不要一上来就让 AI 写代码。可以按这个顺序来。

第一步:先让 AI 拆需求

先不要写代码。请根据我的需求输出:
1. 功能模块拆分
2. 用户角色和权限表
3. 核心数据表设计
4. 主要业务流程
5. 异常场景清单
6. API 列表
7. 安全和部署风险
8. MVP 第一版范围

第二步:让 AI 审查方案

请站在资深架构师角度审查这个方案,指出:
1. 后期最容易重构的地方
2. 数据库设计风险
3. 权限漏洞
4. 并发和重复提交风险
5. 哪些功能不适合第一版做
6. 哪些地方必须补充验收标准

第三步:再让 AI 开发

请按照已经确认的 MVP 范围开发。
要求:
1. 先说明目录结构
2. 再说明每个模块负责什么
3. 数据库变更要单独列出
4. 关键权限必须在后端校验
5. 每完成一个模块后给出自测方法

第四步:让 AI 自测和修复

请根据以下维度自测:
1. 正常流程
2. 空值和错误输入
3. 重复提交
4. 权限越权
5. 网络失败
6. 数据库写入失败
7. 页面刷新和返回
8. 移动端适配

请列出测试结果、发现的问题和修复方案。

每次 AI 写完代码后,至少检查什么

可以直接按下面这份清单过一遍。

需求完整性

  • 是否只实现了主流程?
  • 是否遗漏异常流程?
  • 是否有清晰的 MVP 边界?
  • 是否有验收标准?

数据库设计

  • 核心对象是否拆清楚?
  • 表之间关系是否合理?
  • 是否有唯一约束?
  • 状态字段是否清晰?
  • 删除数据是否会影响历史记录?

权限安全

  • 是否区分不同角色?
  • 权限是否在后端校验?
  • 用户是否可能访问别人的数据?
  • 密码是否加密?
  • API key 是否暴露在前端?

接口设计

  • API 输入输出是否清晰?
  • 参数是否校验?
  • 错误返回是否明确?
  • 是否处理重复请求?
  • 是否有日志方便排查?

代码结构

  • 是否所有代码都堆在一个文件里?
  • 页面、接口、数据库操作是否分开?
  • 公共逻辑是否复用?
  • 新增字段或角色是否容易修改?

异常处理

  • 上传失败怎么办?
  • 网络失败怎么办?
  • 支付失败怎么办?
  • 数据库保存失败怎么办?
  • 用户重复点击怎么办?
  • 页面刷新后状态是否正确?

部署运维

  • 环境变量是否配置清楚?
  • 日志在哪里看?
  • 数据如何备份?
  • 出错后如何回滚?
  • 是否有线上和本地环境差异?

适合普通人练手的项目

优先选自己熟悉业务的小型系统,不要从陌生行业开始。

我会推荐这几类:

  1. 1. 客户资料管理系统
  2. 2. 订单录入和状态跟踪系统
  3. 3. 文件上传、AI 识别、人工校验系统
  4. 4. 报价单生成系统
  5. 5. 内部任务审批系统
  6. 6. 文档规则校验系统
  7. 7. 简单知识库和搜索系统

这些项目都能训练页面、表单、数据库、权限、文件上传、AI 接口、状态流转、异常处理和部署。

如果你的主业里刚好有类似场景,最好就从主业里找。因为熟悉业务的人更容易发现 AI 漏掉了什么。

最后

学习开发的最终目标,并不在于把所有代码都改成自己手写。

对普通人来说,更有价值的是形成一套判断力:看到一个软件产品,能拆出前端、后端、数据库、权限、接口、部署和风险点。

达到这个程度后,再看网站、APP、小程序,就不会只盯着外壳。它们只是不同的交付容器,真正决定产品能不能继续走下去的,是背后的系统能力。

数据怎么设计,流程怎么运转,权限怎么控制,接口怎么拆分,异常怎么兜底,上线后怎么维护,后续怎么迭代。

这些问题看起来不性感,但会直接决定一个 AI 做出来的 MVP,是只能录个演示视频,还是能真的交给用户试用。

所以我现在对普通人 VibeCoding 的建议很简单:先从网站入手,学完整软件系统的基本结构,再用一个小项目训练 AI 协作和技术验收。

你不需要先成为程序员,但需要慢慢成为一个懂技术边界、懂架构风险、懂交付链路的产品负责人。