AI编程避坑经验总结
1. 数据是业务的根基,必须自己掌握
任何一个业务想要跑起来,背后一定有数据的交互。因此最重要的事情是:
- 了解自己业务中数据的来源以及作用
- 熟悉自己业务对应的表结构——至少要清楚每张表是做什么的、有什么用、未来会在哪些业务场景中被用到
这是最基本、任何时候都不可或缺的要求。人对属于自己的东西一定要了解并掌握,纯 vibecoding 出来的产品,对所有人(包括开发者自己)都是一个黑盒。
2. 对实现方式要知其所以然
针对自己业务的每一项实现,都需要清楚:
- 是通过什么方式怎么实现的
- 数据从哪里来,数据源的引用是不是最优解
- 表结构的设计是否正确(当然实习时应该不会涉及到sql表的设计)
这些是最基本的要求,不能因为 AI 写出来能跑就默认它是对的,或许在表中有同样一个字段可以更好的更健壮的实现同样的功能
3. 先吃透 0 到 10,再谈 10 到 100
vibecoding的作品最擅长的是从 0 到 10——快速搭建起一个能跑的原型。但这个阶段恰恰是整个项目里最关键的部分。
使用者在快速搭建的过程中容易只享受"体验感",却没有真正理解:
- 这个业务逻辑为什么能实现
- 背后的原理是什么
- 如果我想要添加一个功能那么需要改动什么
- 在前端出了什么问题最有可能是哪个文件的问题
完成 0 到 10 之后,最应该做的事情是回头搞懂它,而不是急功近利地直接从 10 冲向 100。 缺了这一步的"空中楼阁",大概率会在后续不了了之。根据自己项目的业务实际情况,在关键业务的实现上本人必须掌握,必须掌握,必须掌握。
4. 增删改查也要有工程化的实现方式
实际工作中,大多数功能本质上都是增删改查,但在实现形式上,依然需要按照工程化的标准去做,而不是能跑就行。特别是实现形式上要保证健壮性。
5. 具备拆解问题的能力(工程化思维)
要有把大问题拆分成小问题、逐步实现和解决的能力,这也叫工程化思维。
之前在 vibecoding 的过程中经常会看到"可拓展、可靠、可维护的系统"这类描述,但这些往往只是停留在口号层面,就算在提示词里面强调工程化,也不会真正的很健壮 AI 不会替你面面俱到地规划设计。
- 想要实现的功能模块,是一个大方向
- 如何把这个大方向拆分成一个个小模块、逐一实现、再彼此联动
- 如果你把所有都交给AI,他会在看到实现了A和B之后就开始夸赞你,但是实际上还需要C
- 警惕所有AI的赞美,那是毒药
各位还有什么要补充的吗?