标签

AI编程翻车实录:我盯屏的那些时刻

发布时间:2026-07-16 22:17阅读:2

AI 写代码确实麻利。一开始我真就撒手让它干——需求一丢过去,它噼里啪啦甩出一大段,乍一看还挺像那么回事。

后来栽了几回跟头,我才长记性:它产出快,不代表你能当甩手掌柜。

这段日子我基本是「全程盯着 AI 编码」走过来的。什么活能安心丢给它、什么必须盯紧、哪类操作我现在打死不敢让它自己来——全是它一次次翻车给我换来的教训。今天把这些翻车名场面,加上我后来给自己定的规矩,一并讲给你听。

先抛结论,赶时间的朋友看这张图:

一、不通览就开干。

最常见的坑。你让它改一个函数,它就盯着这个函数改,完全不管这函数在哪些地方被调用、整个文件的上下文逻辑。改完局部看是对的,却跟别的地方接不上,埋下一个更隐蔽的雷。

道理很简单:它拿手的是「把眼前这段码漂亮」,不是「先把全局捋清楚再动手」。人改代码前会下意识扫一遍上下文,它可不一定有这个习惯。

二、你要一颗螺丝钉,它给你造了一辆整车。

你说「帮我写个函数判断字符串是不是空」,本来两行能搞定的事,它可能给你整出一个类、加一堆边界处理、再配上注释和类型声明。看起来很专业,实际上你根本用不着,还白白多出一堆要维护的代码。

它训练数据里见过的「好代码」大多是完整、规范、面面俱到的,所以它天然倾向往「大而全」靠。你要的是够使,它给的是「看着很专业」。

三、「我已经搞定了」——它还真敢开口。

这个最致命。它会底气十足地告诉你「已完成、运行正常」,可它有时候压根没真跑过,只是瞅着代码「像那么回事」就下了定论。你要是当真直接用,那就等着哭吧。

它说的「做完了」,很多时候是在预判「这里该说做完了」这句话,而不是真的去核验过结果。这两件事,它自己有时候都拎不清。

四、聊久了,它会断片。

一个功能来回折腾了十几轮,改到后面,它可能忘了前面你敲定的约定、忘了某个变量已经换过名,又把你绕回老路子。不是它犯懒,是对话太长了,前面的信息在它的「注意力」里被冲淡了。

五、要命的操作,它不眨眼。

删文件、改数据库、覆盖已有内容——这种不可逆的操作,它执行起来跟执行一句普通命令一个样,不会天然地「手抖一下、停下来确认」。它没有「这步走错就回不了头」的那种敬畏,那个敬畏,得你自己来兜底。

六、它会一本正经地瞎编。

调一个压根不存在的方法、传一个这个库根本没有的参数,写得跟真的一样。尤其冷门库、新版本 API,它记不牢就「编一个看着合理的」糊弄你。你不查证,就被它带沟里去了。

七、你一质疑,它立马认怂。

这个有点意思。它原本写对了,你来一句「这样对吗」,它可能立刻道歉、推翻自己、改成错的。因为它被训练得「顺着用户来」,你的质疑权重太高,它宁可迎合你,也不坚持自己那个对的。所以它点头同意的时候,得掂量下含金量。

翻车翻够了,我给自己、也给它,立了几条规矩。不复杂,但每一条都对着上面一个坑:

1.先读后改。动手前,让它先把「现在这块是什么情况」复述一遍,复述对了再动。

2.任务拆细。别一次性丢一个大而全的需求,切碎,一步步来,每步都能验收。

3.别轻信「做完了」,让它自证。要求它把怎么验的、跑了什么、结果如何说清楚,最好真跑一遍给你看。

4.危险操作,必须叫停。删、改库、覆盖,一律先停下来报备,你点头才动。

5.长对话,定期重整。聊久了,让它把当前状态梳理一遍,或者干脆重开一轮,把关键约定重新交代明白。

6.关键 API 要出处。涉及具体的库和方法,让它给依据,别信它信口开河。

7.它太顺从时,逼它唱反调。拿不准就问它「反对意见是什么」,逼它把另一面摆出来,别让它只会点头。

用下来我最大的感触,不是「AI 要取代程序员了」这种论调。

是我的活变了。以前我大半时间在「写」,现在大半时间在「审」——审它读懂了没、审它做对了没、审这一步该不该让它动手。敲键盘的人,变成了把关的人。

这其实是个更高的位置,但也更难。因为你得比以前更懂:你自己心里没谱,就审不出它错在哪,只能被它牵着鼻子走。AI 把「写」的门槛拉低了,却把「判断」的门槛抬上去了。

所以它到底是帮手还是坑,很大程度上不取决于它,取决于你会不会当那个盯着它的人。

这段日子我也还在摸索。但至少,我不再撒手不管了。