老周是我以前在小公司时的同事,现在在一家做政企的公司坐班,写 Java,天天跟 Oracle 和一堆报表打交道。上个月月底他跑我家来吃饭,喝了点,我就开始跟他吹 AI 编程。
具体点说,我讲现在我接单基本不手写样板代码了。一个物业的小程序,签的六千五,放以前我得熬四个晚上,这次两个晚上就交出去了,中间还剩了半天陪我妈去医院复查。老周不信,他这人轴,说你现场给我演示一个。
好,翻车就在这。
我让他随便说个需求。他说他们系统里有个对账的表,字段名特别变态,问 AI 能不能写个 SQL 把上月的数据按月汇总,还说了一堆条件——好几个状态字段、有的要排除、日期是 varchar 存的,得先转换。
我当时还挺自信,打开对话框就敲进去了。出来的东西我扫了一眼就贴进他的测试库。然后报错,ORA-00904,无效标识符。AI 编了个不存在的字段名,还编得挺像那么回事,t_stat_flag,他们表里压根没这个字段。
老周就笑,那种憋了半年终于笑出来的笑法。他说你们搞 AI 的就是这样,看着什么都会,一到真表就露馅。
我没话可说。这东西确实,你不把表结构喂给它,它就是瞎猜,猜得还有模有样,这个最坑人。
跑题了说回来。
后来我不服气,晚饭之后让他把建表语句导出给我一份。第二天我在他自己那台笔记本上试——不是公司那台,他说公司电脑装东西要报备,麻烦——把建表语句和几张样例数据丢进去,先让它把字段理清楚,再让它写 SQL。一次过。连日期那个 varchar 的转换它都自己加了容错。
老周当时的表情挺微妙的。
真正让他服的不是这个。是他每周要填的周报和一堆接口文档,三十几个字段的中文说明,他以前一行一行敲,敲一下午。我让他把字段贴进去,生成表格形式的说明,他试了试,五分钟出完,格式还是他要的那种。他把屏幕转过去看了半天,说了句,就冲这个,会员钱值了。
说白了,AI 有用没用,看你拿它干什么。你让它猜你的数据库,它就是个骗子;你把上下文给足,它就是个便宜又听话的实习生。老周那个公司一年给他九万多,他一天坐班差不多五百。省一下午就是两百五,会员一个月才一百四十几。
不过后来打脸的是我。他前天发消息问我,写 SQL 用哪个模型更准,他想在自己家电脑上装一套,周末帮人接点小活。我当时就笑了,你不是说这玩意是骗子吗。他说,钱是真的就行。
这账不难算,他现在这路数跟我一个月前一模一样。只是他还没体会过被甲方砍价到六千的滋味。上次那个物业的尾款还拖了半个月,不提了。
那才是真正的教育。