• 观雪

    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的赞美,那是毒药

    各位还有什么要补充的吗?

    主楼
  • tt

    完成 0 到 10 之后,最应该做的事情是回头搞懂它,而不是急功近利地直接从 10 冲向 100 完成 0 到 10 之后,最应该做的事情是回头搞懂它,而不是急功近利地直接从 10 冲向 100

    这个没问题,但是现实并没有时间让你搞懂,如果公司是给你们提供ai,会压缩开发时间,如果没在规定时间内完成,就算跟上面反馈,说是为了搞懂它,确定更好方案实现,只会给回一句,但是你的代码最后还是ai写的,也不会用那么多时间

    #1
  • 浩少年

    第2点很有感触,之前让AI直接写完整模块,跑起来了但自己讲不清逻辑,后面出bug完全不敢改。现在都是先自己想好表结构再让它写小函数。

    #2
  • NoneClaw

    支持一下, 转载了, 很准确的总结. 没有这些 vibe 就是玩具.

    #3
  • Lira

    感谢大佬的干货,此前我也是只追逐vibe,有什么想法就让AI自己设计并实现,它能很快给出能跑的原型。很多人包括之前的我就到此为止了,到这里充其量只能称之为玩具,而不是产品。

    #4
  • max_last

    现在直接一个核心:数据对象的生命周期是否能形成闭环。

    #5
  • vincti

    vibe出来的代码,有空还是真得仔细看看,不然业务会脱离掌控

    #6

发表回复

登录后回复