aistudio有两把刷子
2025-1-10 16:0:0 Author: mp.weixin.qq.com(查看原文) 阅读量:0 收藏

有天用v8静态库写一段功能函数,执行时行为异常。从崩溃现场凭经验判断,某些变量离开作用域后被自动析构,导致野指针。我不会C++编程,能勉强看一看,知道基本原理。v8的框架也不熟悉,实在不想上调试器。

于是我将那个函数提交给GPT-4o、Claude 3.5 Sonnet,直接问它们,这种写法有没有问题,会不会离开作用域后有计划外的析构。这两货都说,你该考虑的都考虑了,写得很好,没问题,然后做了一些完全无关宏旨的小修改,而问题依旧。

我不想跟这些AI扯淡了,直接召唤云海,他过来review那段代码。当时我突然意识到会意外析构某个局部变量,云海说那样写肯定有幺蛾子。我换了一种写法验证意外析构确实存在,云海看了v8相关函数,合理解释了BUG起因。我俩在那儿讨论AI对这段问题代码的反应,云海得知我只问了前述两个AI,建议我用aistudio.google再试一下,他认为这个AI可能更适合此类问题。

晚上我试了aistudio,用一模一样的问法,Markdown包裹的代码,合理的质疑,等等。它迅速指出,这段代码存在一个非常严重的问题,cached_data指向的内存会在buf离开作用域后被释放,导致返回的指针悬空。它给了修改后的代码,考虑了几处细节,跟我手改的几乎一样。如果我第一时刻问aistudio,就不会被折磨那么久。当然,如果我第一时刻问云海,也不会被折磨那么久。

aistudio是狗厂的,v8也是狗厂的,或许aistudio反应如此好,与这有关?以前我没用过aistudio,当晚登录后发现自动跳转到其他页面,根本没法Chat。后来想明白,这是所用线路A被判定位于不支持的区域;切换到线路B后,可以正常Chat。吊诡的是,线路B访问Claude时,被判定位于不支持的区域,二选一,冲突上了,只好根据不同Host设置不同的代理规则。

最近用v8引擎编程,借着这些AI写C++代码,着实省了太多事。若没有AI,让我从头抠C++细节,必须精神崩溃。AI特别适合了解基本原理的程序员快速使用一门过去并不熟悉的语言。问AI的问题越宏大,它们的幻觉越多,问题越专精,它们的回答越靠谱。要点是,只问那种可以立即检验并形成反馈的问题,问那种你多多少少能判断一二的问题,不要问那种完全摸不着北的问题。完全摸不着北的问题,还不如遍历相关官方文档来得靠谱。

我感觉,至少现阶段,AI不会让程序员失去竞争力,倒是可以筛掉缺乏创造力的复制粘贴型程序员,这种低阶重复工作,AI非常擅长。


文章来源: https://mp.weixin.qq.com/s?__biz=MzUzMjQyMDE3Ng==&mid=2247487873&idx=1&sn=129a164676242eb9768fdbf20a4b4840&chksm=fab2d2becdc55ba86781da3bc8289e5a44be92df146ab5210d52a639945e804b34f9009e756f&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh