普通视图

浑身瑕疵

2025年12月3日 08:23

有时候我还真不明白,为什么现在大家把AI吹得那么牛逼。因为就是我的使用体验而言,我觉得在写代码的时候,AI真的是挺糟糕的.我用的AI是Deepseek。

理论上无论我用的是什么AI,它们都应该是写代码的高手,无论是写什么类型的代码都应该没什么问题。我这么低端的用户,也不会提出一些什么高端的要求,但事实证明,不知道是我提要求提的不够精准还是怎么着,反正出来的结果我个人感觉基本上没有一次就能符合我的要求。有些时候的确能接近生成我想要的结果,但更多时候那串代码当你复制下来运行的时候会发现根本运行不了。对一个什么都不知道的小白在代码运行不了的时候可以怎么办呢?换一个AI继续提问继续复制粘贴?但如果这个AI有问题,其它AI会不会也有问题呢?为什么人家觉得那个玩意那么神奇,但我自己的使用体验却那么差呢?是不是因为AI已经判断出我这个人是个挑剔的完美主义者,所以故意给我些有瑕疵的东西?每一次都有瑕疵,每一次的瑕疵都说不准在什么地方,幸好绝大多数情况之下,我要的不是AI的全过程,我只是要参考一下它的思路而已。当我要求它给我写某个代码的时候,实际上我更看重的是它用什么途径,而不是它的代码具体是什么。如果它的代码能顺利运行,那当然好,但实际上我感觉一次性就能成功运行的几率可能不足10%。

当我给出一串数字,要求它给我做数据分析。噼里啪啦一大段字很牛逼,一贴进去发现根本出不了结果,仔细看Python的那些错误代码,原来一开始那个屌丝把原始数据都给我整没了一些,因为长度不对,所以整不出结果。我要用Excel的公式实现某些功能,的确噼里啪啦有好多个方案。有些方案一看就直接可以忽略,因为又长又臭,另外一些我感觉有些希望的却发现到Excel里面同样也是出不了结果。至于为什么我也不去纠结了,我直接去研究这些方法的思路到底是什么。我让它用Power Query,也就是M语言给我实现某个功能,结果发现把那堆代码贴到高级编辑器,甚至都无法按确定提交,因为显示语法错误。那个编辑器是一个神经的存在,说语法错误,但定位的那个点实际上没有问题,但那个问题到底在哪里,你得人肉上下文去找。我使用的通常是对半检索法,首先留一半,然后一半的一半。理论上是这么找的,但实际上后面某些功能不要我觉得都无所谓,所以我只要找到那些我需要的就可以了。最终发现,某个用了函数的地方,理论上应该是“=>”。DS给我的代码是“->”。如果这份代码是由图片识别过来的,出现这种等号变成减号,我觉得可以理解,但显然这种事情怎么可能发生?!对一个什么都不懂的人来说,你叫他怎么可能人肉找得出这样的低级错误呢?!那个代码除了那个等号变成了减号以外,最后的结果还有一些无厘头的数据合并,那些数据在前面几个步骤里面已经不复存在了,在最后那个步骤又突然间被提起,真牛逼!

在这种情况下,说AI可以取代人类完成编程,我觉得起码暂时是不行的,尤其是要实现一些高度定制的功能的时候。

用这三货做数据查询

2025年11月22日 08:02

不知道从什么时候开始,我就迷上了数据查询。

一开始只是想实现某个功能,后来发现原来实现同样东西,我用不同方法都可以做到。哪个方法更直观简便一些?我感觉Excel VBA的SQL,Power Query以及Python相比,就数据处理的方便性来说Python是碾压的,但我没有发现Python的巨大优势。问题可能在我交给Python处理的数据太少了,跟其它两个相比体现不出Python的高效。在控制Excel单元格格式方面,Python天生不如office自家的VBA。为什么我会把PQ跟VBA跟Python相比呢?是因为从Office 2019开始,PQ就算是内置的一个功能。VBA里面的SQL天生有缺陷,因为跟真正的数据库SQL相比,那就是个阉割版,有些你觉得明明可以实现的东西,在Excel VBA里好像就真没有直接的解决方案,为什么居然会这样呢?

到现在为止,我依然没有发现Excel VBA的SQL有直接的文本拼接功能。其它数据库的SQL里,那就是一个很简单的函数。Excel VBA的SQL在合并其他数据方面没问题,但一旦遇到需要进行文本拼接。我感觉除非在查询结束以后再做一个字符串的字典,否则无解。或许你会说其实我也可以直接在Excel的函数层面做这个拼接,因为用textjoin函数实际上是能实现那个功能的,但关键是如果数据比较多,既然我都在VBA里完成前面的所有,为什么最后的功能又要回归到函数呢?二者的运算速度不是一个层次的。每当我遇到文本拼接,我知道SQL是撞墙的,所以我就直接想到PQ。

PQ可以做数据分组,做文本拼接直接在高级编辑器里修改就能实现,但关键是实际上可以不用PQ,我不想用那个玩意,使用可能会有点慢还行,如果要进入到里面编写代码,那个小窗口字体无法放大,简直要逼死我这种老花。更作死的是,很多时候提醒我错误,但错误根本不发生在提醒的那个地方,不断的嵌套括号、逗号、又或者不小心带入的中文标点符号都会导致错误,找茬的过程让人挺绝望。我觉得,我还是喜欢在VBA里用SQL,其实无非就是判断加循环。在PQ里我总觉得有些很容易就能做到的事情,但是它非得用一些看上去很复杂的函数去实现。比如要根据A字段去决定B字段的数值是正数还是负数,在SQL里,一句很简单的iif就能实现,但在PQ里,你还得新建一个条件列,把条件写进去,接着把原来那个数值列删掉,再把条件列的名称改成数值列。当然你也可以直接使用replacevalue函数,但据说那个东西的执行效率反倒不如新增一列再删除一列。PQ里的函数非常多,嵌套用起来的方法更是让你眼花缭乱,也正是因为那些杂七杂八的东西太多了,反而让我觉得不如SQL简单干脆。让我很绝望的是,Access的SQL可以直接文本拼接,但Excel里的就不行,虽然二者是同一个版本的office。

当我在一个问题上钻研得越深,我就越能理解到高中时候,我的数学老师说学习数学的几个境界:不懂不会,会而不对,对而不全,全而不好。

❌