01
凌晨 2 点 47 分。
冰冷的美式咖啡在桌上留下了一圈水渍。屏幕发出的蓝光刺得人眼睛生疼,红色的报错信息像血一样,一行行地从 Terminal 里流出来,心脏被一种无形的重压攥紧了。
小 A 坐在我对面,整个人缩在宽大的卫衣里,像一只受惊的鹌鹑。
“我明明……明明只是让他改个按钮颜色,”她的声音带着哭腔,听起来随时会碎掉,“为什么他把我的后端接口全删了?我对他那么好,文档都喂给他了……”
我看着屏幕上那些乱七八糟的代码,像极了她此刻混乱的妆容。
“刚开始用 Trae 的时候,我觉得他是神,”小 A 抓着头发,“现在我觉得,他就是个纯纯的人工智障。”
我没说话,只是默默递给她一张纸巾。
这不仅仅是代码崩了,这是信仰崩塌的时刻。每一个试图用 AI 走捷径的人,都会在某个深夜撞上这堵墙:你以为它是带你飞的超人,结果它是在悬崖边松手的渣男。
02
所有的馈赠,都在暗中标好了价格
刚开始用 AI 写代码时,那种感觉太像“热恋”了。
你敲一个 def,Tab 键一按,完美的函数体瞬间出现。多巴胺疯狂分泌,那种“心有灵犀”的错觉让你觉得自己无所不能。小 A 曾兴奋地跟我说:“我有种掌控世界的快感,代码像水一样流出来。”
但那是虚假的繁荣。
Tab 补全本质上是一个多巴胺陷阱。
它让你上瘾,让你觉得自己效率倍增,但它掩盖了一个致命的问题:你心里没底。
代码是生成了,但你不知道它是怎么跑起来的。你像一个被宠坏的公主,习惯了衣来伸手,却忘了怎么自己穿鞋。当那个名为“Context”的红利被吃光,当项目复杂度超过了它的短期记忆,它就开始胡言乱语。
那种空虚感会瞬间吞没你。你看着满屏的代码,却感到前所未有的陌生和无力。原来,你从未真正拥有过它们。
03
那个深夜,我决定和它“分居”
“别修了,”我合上了小 A 的电脑,“去睡觉。今晚就算你把键盘敲烂,它也修不好。”
“可是……”
“不是它的问题,是你的问题。”
我指着聊天记录里挂载的那 20 个文档,那是小 A 一股脑丢给 AI 的“心意”。
“看着这些东西,你不觉得眼熟吗?”我问她,“像不像你上次失恋时,发给前任的那几百条小作文?毫无逻辑,全是情绪。”
屏幕上那些因为上下文溢出而产生的幻觉代码,其实是一面镜子。
AI 的愚蠢,照出的是你逻辑的混乱。
我们花了一个通宵做了一件事:断舍离。
就像清理前任的遗物一样,我们把那些冗余的文档、过期的日志、含糊不清的指令,统统删掉。每一行删除,都像是在割肉,因为那代表着承认自己之前的“努力”全是噪音。
然后,我们开始写 .cursorrules。
这不再是乞求 AI 理解的“情书”,而是一份冷冰冰的分居协议:
- “不许用
any。” - “改动前必须先陈述方案。”
- “越界就滚。”
当小 A 颤抖着手按下保存键时,她哭了。不是因为难过,而是因为清醒。
04
允许泥巴塌下来
第二天,Bug 还是出现了。
小 A 下意识地想发火,想骂 AI 笨。但我拦住了她。
“闭上眼,”我说,“想象你在玩陶艺。”
软件开发从来不是搭积木,它是捏泥巴。
转盘在转,你手里的泥巴(代码)因为离心力而塌了。初学者会尖叫,会崩溃,会觉得“我搞砸了”。
但真正的创作者,会感受指尖传来的触感。
Bug 不是失败,它是泥巴塌下来时,手掌感受到的反馈。 它在告诉你:这里太软了,那里太干了,你的力道不对。
我们没有直接修 Bug,而是去修了 .cursorrules。我们将这次错误,揉进了系统的规则里。
“看,”我指着重新生成的代码,“泥巴又立起来了。而且这次,它更结实了。”
这就是 Ralph’s Loop 的真谛:允许崩塌,然后利用崩塌,重塑更好的形状。
结局
看着屏幕上终于跑通的绿色测试条,小 A 趴在桌子上睡着了。
窗外天亮了。
其实,AI 从来没有变。它是渣男还是伴侣,取决于你是否有足够的内核去驾驭这段关系。
如果你内心混乱,它就是你的灾难放大器;如果你内心有序,它就是你最锋利的剑。
别再问“为什么我的 AI 这么笨”了。
去面对那个不完美的自己,去建立你内心的秩序。
你的代码,就是你灵魂的投影。