跳到主要内容

我给老周安利 AI,翻车了

夜班大鹏
夜班大鹏

· 阅读约 3 分钟

凌晨两点五十,刚压掉一波告警,趁着安静记一笔。这回不是脚本的事,是丢人。

上个月,九月中,不对,是九月初那阵,白班的老周找了我。老周不是运维,做业务的,会写点脚本但基本不碰服务器,他那接口量统计一直靠手工从日志里抠。我说这你还手工啊,让 AI 给你写一个 awk,五分钟的事。我那口气,现在回想起来,吹得有点满。

当场就给他演示了。我把一台机器上的 access 日志丢给 AI,说了日志格式,说了我要按小时统计某个接口的耗时,它唰地出来一条 awk,我跑了一下,有数,看着挺像那么回事,数字完全正常。老周眼睛就亮了,说这玩意是真行。我又补了一句,说我们值班现在排查脚本基本都这么来,快过翻文档十倍。我讲的时候他听的很认真。他说他回去也弄一个。

然后就是两天之后,他来找我,脸色不太好看。

他说他统计出来的响应时间不对,半夜的比白天还高,他查了两天代码没查出问题,还怀疑是不是连接池的事,去问了后端的人。我说你把脚本和日志格式给我看看。他把那个 log_format 贴过来,我一看就傻眼了。他们那台 nginx 配置是老早的,日志里压根没有 $request_time 这个字段,就是 standard 那一套,remote_addr 到 user_agent,就那么几个。AI 也没问他,直接给了个 $NF 当耗时用。NF 是 user_agent 的最后一段,切出来一堆数字,量级还正好在几百到几千之间。他统出来那玩意,平均两百多毫秒,峰值九百,看着别提多正常了。

这就是 AI 最坑的地方。它不会跟你说这个字段你日志里没有,它给你一个能跑的、不报错的结果。脚本一跑,有数,正常退出,没红字,谁看都觉得对了。它给的错不是报错,是那种看着对的错,比报错难查十倍。老周那两天白班查代码,还去麻烦后端,全是因为我那句五分钟。

后来我把那脚本重写了。这次先抽了十条原始日志,一行一行手工核字段位置,核完了才让它接着往下写。加了个判断,日志第一行字段数对不上就直接退,别往下跑。宁可啰嗦,别快,还是这个原则。

其实不是 AI 的问题,是我安利的姿势的问题。我上来就教人怎么用,没教人怎么验,工具给人的信心太快了,尤其给不太跟机器打交道的人。

我自己也栽过,比这早,值夜班的时候让 AI 写个清理脚本,差点删了一个还在用的目录,那次之后我写脚本才都加确认。说到这个,回头有空再写。

四点了,还有个巡检。老周今天还问我那脚本的事,我说你先手工核几行再看数。先这样。

夜班大鹏
夜班大鹏

运维,常驻夜班。凌晨的机房很安静,适合写点东西。

查看主页 →