上次写了一篇关于AI编程的文章,有网友反馈说写得还是太简单,想要了解得更深入一点,今天黄啊码就以个人经历将我的过往梳理一遍,希望对大家有用。
AI编程火了之后,我曾经同时开4个编程任务,一天内完成4个新功能开发,全程Vibe Coding,不看文档、不查API,也不怎么思考逻辑,全靠AI生成代码后直接粘贴。当时的我对着屏幕上的代码思考不禁感叹,程序员以后都得失业了,焦虑感不断涌现。

结果到了第二天,我盯着那些AI写出来的代码,发现自己连数据库表结构都记不清了,就算是写了需求文档、优化了代码框架结构并且写了 一大堆的注释也没用。因为bug一旦出现,你就得先了解整个项目,不然你就得找AI工具帮忙,但是这个忙是不是倒忙就不得而知了。

到底谁在主导开发?
如果我不先在脑子里理清思路,就给不出精准的Prompt, 就像上个月开发消息推送系统,我花了30分钟在纸上画数据流图,确定了从用户行为触发到消息队列异步处再到多渠道分发的架构,接着我把这张纸截图发给AI,让它生成代码,这整个过程如果缺少我,AI Coding根本无法完美执行
另一个问题就是是等待时间令人挺尴尬的,AI生成代码通常需要1-2分钟,这段时间不长不短,网上冲浪会让思维断裂,看技术文档又不够专注。有次我等AI生成订单结算代码时,顺手刷了技术博文,等回过神来,完全忘了自己刚才想做些啥了。

后来我学乖了,准备了一沓草稿纸,在看AI执行输出代码时,边把AI执行的结果用草稿纸记下,这居然让我找回了以前写代码的专注感。
经过三个月的磨合,我终于摸索出和AI编程相处的边界,有些事AI确实无可替代,但有些坑踩过一次就再也需要碰了。
AI编程可以做的事:解决Bug
0 1
上周生产环境突然出现用户登录后数据加载失败的问题,我把错误日志丢给cursor,它30秒就定位到是Redis缓存过期时间设置错误,这换做以前的我,不得每个代码页翻个遍才行,毕竟这代码不是我写的。
0 2
还有修改UI样式、生成单元测试、注释API用法,众所周知:程序员写UI是缺乏美感的,这个不用跟我杠,不然就不会有UI设计师、产品经理的岗位,哈哈哈。所以既然把AI当助手,助手就要有助手的样子,自己不会的、简单的、重复的,全部交给它。
绝对不能做的事:让AI主导核心架构
0 1
我试过让AI设计数据库表结构,结果它为了规范化,把用户表拆成了5张,查询时要关联8次,性能直接掉了40%,最恶心的是,如果你在等待AI生成代码时去网上冲断,思维一旦断了,重构时花时间是你省下来时间的双倍甚至更多。

敲黑板:经验总结
保持每天手写代码的习惯
-
上个月我把cursor的使用频率逐步地降低,反而效率更高了,关键核心功能人工干预,该自己手写就自己手写。这不是倒退,而是找到了平衡,就像当年从汇编到高级语言,从命令行到IDE,工具始终是辅助,真正的核心还是人的思考能力。
理清逻辑
-
现在我的开发流程是:如果不包含UI设计,我会先用草稿纸或思维导图之类的设计核心逻辑,然后丢给AI分析需求生成需求文档,再用AI生成具体代码,最后逐行review并修改。
这怎么有点像工作流?一点都不Vibe Coding。工作流咋了?逻辑结构的理清就是Vibe Coding的基础,然后你的能力才会是Viable Code

或许未来的AI能完全理解我的想法,生成完美的代码。但至少现在,我理解的最好的AI编程模式是:你先成为优秀的程序员,再让AI成为你的助手。毕竟,代码的本质是解决问题,而解决问题的能力,永远属于那个会思考的人。
我是黄啊码,码字的码,如果觉得受用,欢迎一键三连,另外如果想进入私人交流群一起交流学习。