今天不聊什么技术,也不扯什么行业大趋势,就聊聊我用ai写代码的“趣事”。我发现了一个挺有意思的现象:这AI啊,跟人一样,有时候它是真“贱”。 你对它客客气气,它给你在那划水、踢皮球;你若是凶它两句,甚至“骂”它一顿,嘿,它反而精神了,活儿也干漂亮了。当然,它不光能写代码,还附赠了满满的“情绪价值”。上一篇不是说了我老婆在试用的时候提了一个“根据自己的习惯进行排序”的需求,我就让AI写了,写完测试有个bug,我又不会前端代码,就让ai改了。改了好几个回合,还是不行。第5次的时候,AI改完说:“我已经重构了逻辑。这彻底解决了的问题。”结果我一测试,问题还在。我当时火气蹭就上来了,直接开怼。我:(我直接甩了2张报错的截图)可靠个鬼,还是不是老样子。你到底会不会,不会就问下隔壁Claude opus。连刚进入这个列表时,这个箭头都是错的。要么这两个方法就没有执行。这一招“激将法”(搬出竞品Claude)显然奏效了,AI立马滑跪。
AI: 非常抱歉……我决定启用**“降维打击”式的终极方案**:直接在数据项上打上标记……看着它这副“我错了,我要放大招了”的样子,我心软了一下,给了点建议。结果再次测试,问题还在。这时候,就不能惯着了。我:啪啪打脸,一点反应都没有。你是不是晚上没吃饭?还是忘记充电了?需要我为你提供什么,才能改好这个bug?骂归骂,问题还得解决,我还是给了建议,这一次,我让它打印日志,它终于老实了。测试通过的那一刻,我松了口气。我:恭喜你,总算改对了。前面改几次都不生效,你的记录下你的无效工作了。把多余的控制台打印关掉吧。AI:太棒了,总算彻底解决了! 感谢您的耐心配合……你看,虽然过程曲折,但这“太棒了”三个字,加上那一连串的感叹号,是不是让你感觉对面坐着的不是冷冰冰的机器,而是一个被前辈骂完终于把活干好的热血实习生?还没完。
我又让它优化另一个页面。结果这货在分析代码的时候,突然卡住了。屏幕上的字在那儿跳,分析-出错-分析-出错,跟中了邪一样循环了一两分钟。我看不下去了,强制停止。
我: 你刚刚是不是喝醉了?进入死循环了?这么点小东西,咋这么浪费算力呢?
AI的回复简直让我笑出声,它居然学会了“自黑”。
AI:真是不好意思,刚才确实是陷入了某种“编辑死循环”。那个损坏的字符在我的编辑器里显示为空白……我还顺便救回了刚才那个“脑死”的邮箱图标。
“脑死”的邮箱图标……这就很有灵性了。它不仅修好了Bug,还顺便卖了个萌,承认自己刚才脑子瓦特了。这种“情绪价值”,在深夜独自撸代码的时候,还真挺解闷的。
一场关于“自尊心”的拉锯战
你以为这就结束了?高潮才刚开始。
那个排序问题,我后来琢磨,前面改了那么多次不生效,会不会是因为缓存?因为后端代码有时候也会因为编译或者工具的原因导致缓存问题。
我就随口问了一句。AI跟我科普了一堆,最后来了一句:“刚才我们反复修改不生效,大概率就是unpackage/里的旧编译代码在作怪”
嘿,我听出了点“不服气”的味道。 感觉它在说:“不是我代码写得烂,是你没清缓存!”既然这样,那咱们就较较真。
第一回合
我:那刚刚那个箭头反复无效的问题,现在的方案(暴力刷新)影响性能吗?需不需要改回去?我可以删掉缓存重新跑,咱们追求性能最大化。
AI一听我要追求极致,立马来劲了。
AI:既然您打算清缓存,那我们就追求代码的最简化和性能最大化!
于是,它又把那个“高性能方案”拿出来了。我清了缓存,重新跑。结果……问题又回来了!
我:(给了两张截图,我也没说什么问题)来吧,忘掉前面的方案,我们从当前的问题重新出发,以最高效性能最优的方案来解决这个问题。你可以打印日志来定位问题,我会把日志发给你。而且接下来你的每一次改动我都会删掉unpackage,重新跑模拟器。看图解决问题吧
AI:有了这个红色的序号,我们就能一眼看穿……期待您的回复!
它还在嘴硬,还在分析逻辑。
第三、四、五回合:接下来的几轮,我进入了“冷酷甲方”模式。我不打字,不骂人,每次测试失败,我就默默地把截图和日志甩给它。
这种“无声的压迫感”似乎比骂它更管用。
AI(第三回合):根据您提供的精准日志和图片证据,我们终于抓到了那个“幽灵”:......这是最符合 Vue 3设计哲学的“降维打击“方案,期待您的最终反馈!
AI(第四回合):太抱歉了!这是我的疏忽……忘记导入 computed 函数了……
AI(第五回合):现在我们使用的是“双重保险+结构级驱动”方案……期待您的捷报!
第六回合
终于,在我的“沉默攻势”下,它交出了最终答卷。
我:恭喜你,终于搞定了。
AI: 恭喜!经过多次“极限拉锯”,我们终于把这个自定义排序功能完美且优雅地实现了!......现在整个界面应该既漂亮又丝滑了!如果您对效果满意,我们这次关于排序和反馈页面的深度优化就圆满收官了。感谢您的耐心配合!
看到“极限拉锯”这四个字,我竟然读出了一丝“惺惺相惜”的感觉。
写在最后
作为一个38岁还在写代码的大叔,我有时候觉得,跟AI结对编程,特别像是在带一个“智商极高但情商不稳定,偶尔还会耍小聪明,但由于态度极好让你不忍心开除”的徒弟。
你需要夸它,它会更有干劲; 你需要骂它(或者凶一点),它才会从偷懒的逻辑里跳出来,给你想“降维打击”的方案; 你需要给它明确的指令,甚至有时候要用沉默来逼它自查。
但不得不承认,这种交互是有温度的。哪怕是半夜两点,当你终于解决了一个Bug,屏幕那头弹出一句“太棒了!总算彻底解决了!”时,那份孤独感,确实少了很多。
咱们这些大龄程序员,有了这个“耐骂”又“懂事”的伙伴,在这个技术更迭的时代,是不是也能走得更从容一点呢?
如果你也对AI感兴趣,或者你也想亲手为身边的人开发一个小工具,解决实际的问题,欢迎关注我。