一次普通的需求开发,一段跟同事的微信对话,让我后背发凉。
一个普通的下午
今天我接到一个产品需求:支付宝小程序支付完成后,要接入一个半屏小程序广告。
看完需求文档,我的第一反应不是「我该怎么实现」,而是熟练地打开了 AI 对话窗。
把需求一贴,AI 几分钟就给我整理出了实施方案、找到了项目里的接入点、写好了三个文件的代码、考虑了基础库判断、横屏判断、同订单去重、埋点上报……
我跑通了。
跑通的那一刻应该是开心的,但我盯着屏幕看了很久——
我看不懂我自己刚提交的代码。
不是字面意义的「看不懂」,每一行在做什么我都能读出来。但如果你现在抽走 AI,让我从零再写一遍,我做不到。
跟同事的一段对话
我打开微信,发给同事:
我:很吓人
我:我刚刚意识到了
同事:怎么了?发生什么事了
我:AI 会做不等于我会做
我:之前公司 AI 欠费了,然后我改 bug
我:发现好多地方无从下手
我:现在只能原始办法了
我:很吓人
同事:搞点 GPT 或者国模给你用
我:兄弟,不是模型不模型,是自己的能力问题
我:不会的东西永远只能通过 AI 实现功能
我:而不是自己去获取知识
我:这才是最可怕的
打完最后那一句,我盯着这段对话看了很久。
「不会的东西永远只能通过 AI 实现功能,而不是自己去获取知识」——这句话是我自己打出来的,但打完我才真的看见它。
AI 给我的成就感,不属于我
过去一年我用 AI 写了很多代码。每一次跑通都有一种「我做到了」的成就感。
但今天我意识到:
这个成就感是 AI 的,不是我的。
我只是个搬运工。AI 给我答案,我贴进项目,跑通了我开心。但如果你问我:
- 「为什么要这么写?」
- 「如果需求换成 XXX,你打算怎么改?」
- 「这段代码哪里可以更好?」
我答不上来。
我以为自己在「用 AI 提效」,实际上我是在「被 AI 喂养」。两者的区别是:
- 用 AI 提效:我知道做什么,AI 帮我加速
- 被 AI 喂养:AI 替我决定做什么,我变成执行工具
我已经悄悄滑到第二种了,自己却没察觉。
我换了一种用 AI 的方式
意识到这件事之后,我重新打开 AI,但这次我跟它说:
「别给我代码,反问我。」
接下来发生了一件让我惊讶的事。
同一个问题——「如果只有特定设备类型才弹广告,代码加在哪里」——AI 没有直接给答案,而是反问我:
「你打算加在哪?」
我答:在工具函数 openEmbeddedMini 里加 if (slotKey === ...)。
AI 没有说「错」。它问我:
「
openEmbeddedMini这个函数的职责是什么?现在你让它做的事,是它的职责吗?」
我愣了一下。
工具函数的职责是「调用 SDK 拉起半屏」。我让它判断「哪个广告位该弹」——这是业务决策,不是工具函数的事。
AI 让我重新答。
第二轮:在组件 adVideoForPaySec 里加 if (设备类型 === 1)。
AI 又反问:
「这个组件被 7 个页面在用。其中有些页面根本没有『设备类型』这个概念。你这个 if 写下去,会污染所有页面。」
第三轮,我终于答对了:
「页面层判断 → setData → 通过 props 传给组件 → 组件做最后一道判断。」
这个答案不是我背出来的,是我自己推出来的。
那一刻的感觉,跟「AI 帮我写完代码跑通了」完全不一样。
跑通代码的成就感会随时间消失,但「我自己想通了一个问题」的感觉,会变成我的一部分。
我从这次对话里拿到的几个工具
整个推导过程里,我意识到一些一直被我忽略的原则。我用自己的话讲一下:
1. 单一职责
一个函数只为「一件事」改。如果一个函数因为多种不同的原因被改,它就是被污染的。
2. 决策上移
业务规则的判断(VIP、设备类型、订单数)不要写在通用工具里,要写在业务层。每往上抬一层,影响范围就小一格。
3. 谁的规则谁负责
业务规则 → 业务层;全局规则(灰度暂停所有功能)→ 底层。
单一职责不是教条「永远不要在底层加 if」,而是「按职责归属决定 if 加在哪」。
4. 安全默认值
当数据还没拿到时,默认值该选什么?
标准不是「哪个更方便」,是 「哪个错了代价小」。
- 默认弹广告 → 错了:给不该弹的用户弹了(违规、投诉)
- 默认不弹 → 错了:错过一次曝光(用户无感)
选后者。
这是计算机科学里一个有名字的原则,叫 Fail-Safe Default——「凡是做了就改不回去的操作,默认值一律选『不做』」。
这四条,AI 在我每次答错的瞬间一句句逼出来。每一条都是我自己推到的,AI 只是不让我跳过推导的过程。
我打算怎么做
我不会停止用 AI——AI 是个好工具。
但我给自己定了几条规矩:
- AI 写完的每一段代码,强迫自己用大白话讲一遍:讲不清,就当没写过,重新看。
- 接到需求的第一反应,不是 @AI,是问自己:「这个需求的本质是什么?时机 / 动作 / 数据,三个问题先答完。」
- 遇到不懂的概念,先去看文档:实在看不懂再问 AI。AI 当老师,不当代笔。
- 每周做一次「无 AI 编程」练习:选一个小需求,关掉 AI,硬写一次。看自己能走多远。
最后
很多人说 AI 是「工程师的副驾驶」。但我今天突然明白,副驾驶用得不对,就会变成主驾驶。
而当 AI 成了主驾驶,你就只是个乘客了。
乘客是不会开车的。
跟同事聊完,他说了一句话,我想用它结尾:
「不要太焦虑。失去思考才是最可怕的事情。」
焦虑没用,但意识到了,就还有救。
希望这篇文章能让你也停下来想一想:
你最近一次「自己想通一个问题」的感觉,是什么时候?
这篇文章在 AI 协助下整理完成。每一段都基于我自己说过的话、答过的题、做过的反思。但写完之后,我逐段读了一遍——确保每一句都是「我想说的」,不是「AI 替我说的」。
这就是这篇文章想讨论的东西。
评论💌 留下你的痕迹