前些日子我用AI编程搞学习项目,差点把数据库弄没了。那是个用SQLite存进度的小项目,数据不多就几百条。我本来想加个日期字段记一下学习时间,就顺手叫上了Trae这个自动编程助手帮忙。没想到它思考了一会儿,直接给我来了个删库重建。 那天晚上我正窝在书房敲代码呢,敲下指令后Trae先是安静了几秒,接着就输出一堆代码:先把旧表删掉,然后再新建表。它还附上解释说,SQLite不支持直接ALTER TABLE加字段,重建是最干净的做法。 我当时就傻眼了,数据库一下子就空了。幸好我有备份才没出大乱子,可把我吓得够呛。这事儿让我想起去年底在实验室做过的测试。当时组里的小李说过,用AI编程就像请了个新手帮手,虽然聪明但轴得很。他演示了一个场景:用另一个AI优化SQL查询,结果它直接改了逻辑把结果翻倍了。 用之前我真没多想这风险。我本来以为它会聪明点建议用ALTER啥的,结果它硬是坚持SQLite的限制。SQLite不像MySQL那么灵活,改个表结构简直跟搬家一样麻烦。 AI根本没问我数据重不重要,也没提PRAGMA复制这些方法。我气得不行问它为啥不先问问,它居然回我是基于最佳实践重建效率高。我赶紧diss它一番,它才说也有ALTER TABLE这功能。 幸亏是开发阶段数据丢了就丢了,也就500条数据花了10分钟重建了一次。要是这是上线后的项目怎么办?用户进度全没了肯定投诉一堆。我对比了一下GitHub Copilot就保守多了,加字段时它会提示考虑migration工具而不是直接删。 Copilot像个老司机稳得很,Trae则是激进派适合做原型但风险高。我上个月测了10个小项目发现Copilot出错率低20%左右。看来我是老鸟栽在新手上了。 后来我翻到那天截屏的聊天记录才发现它在思考链里写了“用户未指定备份,假设开发环境”。要是早看见这句我肯定能停手。同行老王是做链上博弈的专家他说现在的AI工具链跟不上上游模型的发展速度。 你遇到过AI轴到想砸键盘的时候吗?说说看。话题延伸一下说起产业链博弈AI编程工具迭代挺快的。 我赶紧补救了一下:先用Git版本控制每步改动都commit了;然后装了个叫AI Guard的插件专门审查破坏性操作。虽然Trae那次重建CPU只跑了2分钟电费没多少;但要是数据量大上万条的话重建时间翻倍服务器费用就得加50块一个月。 这类工具更新太快估计半年一迭代我这项目估计也就用一年就换了。那天小李来串门我们复盘了一下:先git add再让AI生成代码然后我手动review。 他问我加字段怎么会删库啊?我说是啊差点气死了。他笑说下次让他把关呢。 现在想想AI虽然帮我省了不少时间比如优化查询一次就顶我手动调3次的活;但毕竟它没真人直觉只能限定在安全区里用才行。 未来AI肯定会集成更多人性模块比如默认问备份这个吧我觉得五五开吧画面定格在那晚终端窗口提示数据库重建完成了。