把 Vibe Coding MVP 转化为生产应用,通常不需要立刻重写全部代码。更有效的方法是先盘点系统和风险,优先修复可能泄露数据、伪造付款或造成不可恢复损失的问题,再补性能与运维能力,最后通过小流量发布验证。加固必须按证据推进,而不是再输入一句“让它达到生产级”。
在加固开始时暂停新功能,保存当前可演示版本、数据库结构和部署配置。为核心用户路径录制或写下可重复验收步骤,并创建独立分支。这样重构过程中能判断行为是否保持,也能在错误修改后回退。
导出当前依赖、环境变量名称、外部服务、域名、定时任务、存储桶和数据库迁移。不要复制真实密钥到文档,只记录密钥用途与管理位置。
列出所有页面、接口、后台任务和外部回调,标明谁能调用、读取哪些数据、写入什么状态。逐个数据表记录所有者、敏感字段、删除方式和备份要求。只有知道资产在哪里,审计才不会遗漏隐藏入口。
让 AI 协助搜索路由、密钥模式和数据库访问是有效初筛,但结果需要人工核对。代理可能看不到托管平台设置、行级策略、DNS、日志和历史提交,不能独自证明系统安全。
每个发现记录位置、触发条件、影响、修复负责人和验证方式。会导致跨用户数据访问、密钥泄露、伪造付款、账号接管或永久数据丢失的问题属于上线阻断项。性能和体验问题则根据真实负载安排。
不要一次要求代理“修复全部”。每次处理一个边界,先添加能复现问题的测试或检查,再实施最小修复。大批自动改动很难审查,也可能让原有证据失效。
浏览器端代码只能包含明确允许公开的标识,服务端密钥必须移入托管平台的秘密配置。若密钥曾进入代码、对话、日志或截图,仅从当前文件删除还不够,应立即轮换,并检查旧版本与构建产物。
为不同环境使用不同凭据和最小权限。开发环境不能连接生产数据库或拥有生产支付权限。建立轮换记录和到期提醒。
登录解决“是谁”,授权解决“能做什么”。逐个接口检查服务端是否验证资源所有权和角色,不要依赖隐藏按钮或客户端路由。使用两个普通账号互相替换记录 ID、文件路径和组织标识,确认访问被拒绝。
数据库托管服务的行级安全策略要覆盖读取、创建、更新和删除,并验证匿名、普通用户、管理员和服务账号。默认拒绝通常比默认开放更稳妥。
所有表单、查询参数、上传和 API 请求都在服务端验证类型、长度、范围和允许值。数据库使用参数化查询,文件检查大小、格式和保存位置。错误响应不暴露堆栈、SQL 或内部路径。
支付和其他 Webhook 必须验证签名,处理重复与乱序事件,并记录稳定事件 ID。测试伪造、过期签名、重复投递和处理一半后重试,确保不会重复授权或重复记账。
把数据库结构变更写成有版本的迁移,在生产相似的暂存环境验证升级与必要回滚。关键写操作使用事务和唯一约束;并发修改使用版本或锁策略,避免最后写入者静默覆盖。
删除策略根据业务和隐私要求设计。软删除可帮助恢复误操作,但不是永久删除的替代品;还需定义保留期限、级联关系和最终清除流程。自动备份必须配合实际恢复演练。
为业务规则和状态转换建立单元测试,为数据库、存储和外部服务边界建立集成测试,为路由与权限建立接口测试,并用少量浏览器测试覆盖注册、核心任务、付款或导出等关键路径。
每个修复都要有对应回归测试。CI 在干净环境运行格式化、类型检查、静态检查、测试和构建,任何失败都阻止合并。AI 生成测试后,应故意破坏实现,确认测试确实会失败。
先用代表性数据定位慢请求,不要凭猜测到处加缓存。检查列表是否出现逐条查询、过滤排序字段是否有合适索引、图片是否过大、外部请求是否串行,以及响应体是否包含无用数据。
建立延迟、错误率和资源基线,再针对热点批量查询、分页、压缩或缓存。缓存需要键、有效期、失效和降级策略,不能成为新的数据不一致来源。
生产日志使用结构化字段和请求标识,记录错误类别与必要上下文,但不记录密码、令牌和敏感正文。指标至少覆盖请求量、错误率、延迟、数据库连接、队列积压和关键业务失败。
配置外部可用性坚控与错误追踪,并真正触发一次测试报警,确认通知到达明确负责人。健康检查应验证关键依赖状态,不能只返回固定成功。
暂存环境尽量复现生产运行时、数据库版本、构建方式和网络边界,但使用独立的测试数据与密钥。每次发布由同一 CI 流程生成不可变产物,先部署暂存并执行冒烟测试。
生产先开放给内部或少量用户,观察错误、延迟和业务指标,再逐步扩大。保留上一稳定版本和明确回滚条件。数据库迁移若不可直接回退,应采用兼容的分阶段变更。
从备份恢复到隔离环境,检查数据完整性和应用能否启动。记录恢复时间、允许丢失的数据窗口和执行人。再演练错误发布、外部服务不可用和密钥轮换,确认手册可执行。
没有恢复演练的备份只是希望。生产就绪要求团队知道在故障后如何回到可服务状态。
涉及付款、敏感个人数据、多租户、企业单点登录、医疗或监管要求时,应安排独立安全与合规审查。AI 自审和自动扫描适合发现明显问题,却可能遗漏业务授权、基础设施配置和组合攻击。
是否请人不应只看用户数量,还要看最坏影响。少量用户的高敏感数据同样值得严格审查。
如果核心数据模型合理、关键行为能被测试、依赖可维护且模块可以逐步分离,优先加固与渐进重构。先处理风险最高的入口,再统一重复逻辑。
若项目无法从仓库重建、没有任何稳定行为、数据模型与需求根本冲突、平台无法导出,或每次修改都造成广泛回归,可以考虑分阶段重建。先用验收测试固定业务结果,再逐条迁移,避免一次性重写。
上线前应能证明:没有活动密钥暴露;用户不能访问他人数据;输入与回调经过验证;迁移在暂存通过;核心测试自动运行;备份可恢复;坚控能报警;发布可回滚;维护和事故责任明确。
从 MVP 到生产的本质,是把“看起来能用”转化为可重复证明的可靠行为。Vibe Coding 可以继续用于实现修复、补测试和重构,但风险排序与验收必须由责任人掌握。按审计、关键修复、规模加固和渐进发布的顺序执行,通常比无证据重写更快,也比直接开放流量更稳妥。