跳到主要内容

换了个新AI编码工具,用了一周的真实感受

敏姐转开发
敏姐转开发

· 阅读约 3 分钟

这周换了个新的 AI 编码工具用。先交代下背景:我们组前两个月统一换过一次(就是之前那个,名字就不提了,免得有人说我阴阳),当时感觉写得还行,但小问题不少,修的时间比写的还多。这次是组里有人安利,说新出的那个模型在生成代码方面提升特别大,逻辑不太容易错。我正好手头有个内部小工具要修——排查日志时区用的,不涉及线上——就拿它当小白鼠。

第一天还算是挺顺的。我给了它一段样例日志和我要修的问题描述,它直接生成了一段正则加解析的代码,跑起来结果是对的,至少针对我给的那三条样例是全绿的。我当时还挺高兴,觉得这次好像确实不一样。同事路过看到我在试新工具,还问了一句怎么样,我说看着比之前那个稳。

第二天就翻车了。我按做测试的习惯,拿真实日志去跑它这段代码——反正日志文件就在我本地,顺手的事。结果真有两条日志的格式是坏的(时间戳只有一半,多出来一个引号,大概是打日志的时候被截断了),它那段代码直接崩了,报了个 index out of range。我打开那个文件看了一眼,在它崩掉的那行上面,赫然写着一段注释:# parses the timestamp, assumes log line is well-formatted。就……assumes?我拿什么心情接受这个 assumes。

这一行注释给我看出血压了。我理解的是,代码里写注释说自己假设输入是正常的——这跟测试用例里写"此用例不覆盖异常情况"是一个性质。跟你有多少时间处理异常没关系,是你根本没把异常当回事。我之前干测试的时候见过太多这种"假设"了,最后全变成事故复盘的素材。不知道我理解的对不对,但反正我第一反应是把这个注释截了个图发到组里,配了一句话:"就凭这句,我今天晚上睡不着。"

后来我试着把那两条坏日志喂给它,让它改。它改倒是改了,在入口处加了个正则先校验格式,不合法的直接跳过。逻辑上没毛病,但我扫了一眼,它加的那个正则是从另一个文件里抄的(我认出来了,因为我上个月才 review 过),抄得还不完整,漏掉了它自己解析时用的一个分支。不知道该说啥,看起来能用,但我没敢让它上线。

要说体感,它生成代码确实比以前那个快,补全也对了不少。但我还是花了比想象中更多的时间在审它写的每一行上。按我做测试的习惯,我不能不管。审出来的问题不算多,可就这一个,已经够让人犯嘀咕的了。它写注释的时候那股自信劲儿,跟有些开发同事写代码时一模一样。

先这样吧,工具还在用。回头要是它表现稳定了我再来补,要是再翻一次我可能就换回去了。

敏姐转开发
敏姐转开发

测试八年,转开发第一年。慢一点没关系,返工最贵。

查看主页 →