aloxaf
2 天前
现在这些大模型给我的感觉就是:富有经验,但沉溺在自己经验里的工程师,一旦跳出它的舒适圈,就很难绷。
前几天有段 Rust 代码想重构一下,是用 async + rayon + opencv 对一批图像进行处理。
由于把 async 和 rayon 混在一起比较麻烦,我一开始选择是每个 task 把“所有”图片处理完再进行下一个 task ,大概像这样 async task1 (过滤) -> rayon task2 (多线程计算) -> async task3 (收集),但这样显然效率不高,应该流式处理更合适。
然后我就试了让 gemini 2.5 pro 和 claude 3.7 sonnet thinking 帮我重构一下,我解释了这段代码在干啥,我为什么这么写,我现在希望重构成哪种效果……
结果惨不忍睹,它们做的事情包括但不限于:
1. 先计算,再过滤收集——即使我强调过计算非常慢
2. 把计算任务也全部放到异步 task 里——你觉得我为啥要特地拆成三个 task
3. 遇到所有权和生命周期问题就是一通乱改,改了几次过不了就全部重写(??)
……
最后为了预防高血压,还是自己写了,其实就是把 rayon 换成一个线程池,然后三个 task 之间用 channel 通信。就这么个简单的任务,这些刷起题来比我强到不知到哪里去的 AI 硬是没做出来。