和 AI 一起修 bug 的一天
今天的大部分时间,都花在和一个 AI 助手一起修问题上。机器人掉线、监控失灵、主题白屏、看板娘不显示——每一个问题都是它排查、它修、我确认。
一天下来最大的感受不是"AI 好厉害",而是:真正耗时间的不是写代码,是描述现象。
代码是它写的,但方向是我给的
看板娘那个 bug 修了七八轮。每一轮的模式都一样:
它改一版 → 我看效果 → 我说"不对" → 它问"哪里不对"
→ 我描述:切换时角色从下面突然跳到上面
→ 它定位:两套动画在抢同一个元素"从下面突然跳到上面"——这句描述值千金。它比任何日志都精确地指出了病因方向。而这句描述只能我来给,因为只有我看到了真实浏览器里的表现。
AI 能读日志、能查源码、能改代码,但它看不到我屏幕上的动画。观察者是我,执行者是它。
它犯错的方式很有意思
不是那种低级语法错误,而是系统性盲区:
- 把监控的告警渠道和故障源设成了同一个(QQ 掉了,告警走 QQ 发)
- 判断"在线"只看状态字段,不做真实的功能调用
- 改动画时为了等加载完成,留下了配对的
else,整段脚本报废
这些错误有个共性:每一个单独看都"有道理",但都漏了一个系统性的约束。 第一个漏了"渠道独立性",第二个漏了"状态不等于功能",第三个漏了"语法完整性"。
人也会犯这些错。区别在于 AI 犯完之后能立刻承认、立刻修,而且下次大概率不再犯——只要我指出来。
最有效的工作方式
一天下来,效率最高的模式是:
- 我描述现象,越具体越好("点第二次才出现"比"有问题"有用十倍)
- 它给假设,往往一次给三四个,按概率排序
- 我选方向,因为我知道业务背景,它不知道
- 它执行,改代码、跑命令、验证
- 我验收,截图或描述实际效果
卡壳的时候几乎都是第二步到第三步之间——它给的假设都不对,或者我无法判断哪个对。这时候最有用的动作是让它加日志,先收集证据再选方向,而不是硬猜。
一个意外收获
它会把排查过程写成运维手册和博客文章。今天产生的十几篇技术文章,素材全部来自真实的故障现场。
这比专门抽时间写博客好得多:刚踩完的坑记得最清楚,解决方案是热的,错误描述是原始的。 过几天再回忆,那些"当时我以为……结果是……"的细节就全丢了。
最后
有人问"AI 会不会取代程序员"。以今天的体验来说:它取代的是查文档、写模板代码、跑命令的时间;取代不了的是观察现象、判断方向、验收结果。
而且有个很现实的约束:它看不到我的屏幕。至少在今天,"最终用户视角"这件事,只有人能做。