肇鑫的日常博客

日常

谈谈思维误区

思维误区就是我们思考中常常被无意忽略的东西,也被称作思维定势。思维误区不一定是坏的,因为它是我们大脑中的一种机制,它会有意放过它认为不重要的东西,从而把精力放在重要的东西上面。它的问题是它放弃的部分不一定是不重要的,而可能只是它以为不重要的。

最近发生的两件事,让我今天想起来要提一下这个思维误区。

一个是网上看到的,说某小区的业主,发现自己的电动车新买了没多久,续航就越来越短。充满电了,也只能跑20-30公里。一开始他们以为是天气变冷的缘故。后来他们以为是电池质量不行,有的就去找当初买电动车的商家理论,有的干脆换了新电池。但是换了之后,还是不好用。最后真相大白,又问题的是充电桩。充电桩是有充电桩的厂家免费提供的,这些厂家不仅要在安装前给物业一笔钱才能进入安装,安装之后,业主使用时交的费用还要分给物业一大部分,因此,这些厂家都是使用质量最差的充电桩,还会在充电机费上做手脚。比如说充了1度电,实际上只有0.16度。而快要充满时,就故意使用涓流充电。这样计费充电时间又能多出1、2个小时。

另外一个是发生在我自己身上的。一直以来,我在Ubuntu上跑的trojan服务总是不太稳定。在排除了一些其它问题之外,我发现这个trojan本身存在内存泄漏。也就是运行一段时间之后,它的内存占用会越来越高,同时客户端与它的连接都不再可用,测速永远都是超时。我花费了很多时间在研究服务器端的配置,从SSL证书,到连接数,从nginx的配置,到DNS的缓存,全都研究了一个遍。最后确定到内存泄漏的时候,我卡住了。因为我当时认为这是因为Trojan的代码太过古老,而Ubuntu 22.04是它代码停止更新两年后才有的新系统,所以二者可能存在某种兼容的问题。我忽略掉了,客户端的访问方式,可能是因为它内存泄漏的这种可能。可能,是我之前从来没有遇到过吧。并且,客户端和服务器端是分离的,因此我询问AI的时候,AI也没有想到。

之所以,我最终会怀疑到客户端的身上。一是上面提到的第一个故事。二是经过上面的长期分析,总结,我已经完成了一套检测方式,我开始每两分钟在服务器检测一次trojan的状态,发现内存泄漏就重启服务,短时间出现多次内存泄漏,干脆就重启一次服务器。这样的话,如果内存是泄漏是随机的。我应该很少能碰到网络不通的情况了,因为大部分情况都应该在我没有使用的时候就自动解决了。因为我以为每次系统重启之后,能够好用很久。但是,事情却刚好相反。我几乎每次长时间不使用macOS之后,再次进入,都会遇到超时的问题。同时,我跑到服务器看日志,问题的出现和我的macOS的使用高度相关。并且,到了最近,问题更加严重,如果macOS开着,服务器就算重启,还是会立刻内存泄漏。

到了这个地步,问题就很明显了。我在macOS端关掉FlClash,那边就立刻不泄漏了。而我另一台使用Clash Verge客户端的却没有这个问题。于是我设置它允许局域网访问,然后我这台就不开FlClash了。手动开启代理到居于网的服务区,暂时使用共享的方式。

我同时向FlClash提交了Issue。

https://github.com/chen08209/FlClash/issues/1727

也来预测一下AI的发展趋势

2026年了,好多人都在给自己设定计划,展望未来。AI无疑还是今年的主题,但是对于AI会如何发展,每个人看到的风景是不一样的,而我,想把我这一年来使用AI的感受以及未来趋势的看法说出来。

过去一年,我开始使用AI辅助编程,一开始只是简单的代码补全,有时能补对,有时补不对。后来我开始使用Claude Sonnet 3.5,逐渐感觉到AI辅助编程的乐趣。再后来Claude Sonnet 4.0来了,但是随之而来的是GitHub Copilot for Xcode不再支持中国地区的用户使用Claude的模型。好在很快,我又有了Grok Code Fast 1可以使用。同时GitHub Copilot for Xcode又支持了OpenRouter,这样就让我尝试了使用更多的模型,包括不少国产的模型。

GitHub后知后觉地提供了Copilot CLI,我在收购了GitHub Copilot for Xcode必须前台,以及经常写错文件的bug后,开始使用Copilot CLI,后来又因为GLM出了订阅的编程套餐,又开始尝试使用Claude Code。期间我还尝试过其它别家的产品,好多都浅尝则止,没有最终留下。

目前,我使用的主要是Claude Code + GLM 4.7,Copilot + gpt-5.1-codex-max/Grok Code Fast 1, GitHub Copilot for Xcode以及qwen-code。

展望未来

展望未来之前,我们必须要先回顾一下历史。

计算机发展的历史

谈到计算机,抛开前期的算盘、手动计算尺、机械计算机器之外,大家公认的最早的计算机是美国的电子管计算机。从它开始算起,计算机经历了电子化,小型化,移动话,最终演变成了现在的无处不在的计算设备,除了传统的服务器、台式机、笔记本,还包括手机、游戏机、智能摄像头、智能网络设备、智能家电、智能宠物、智能机器人等等等等。

与之对应的,编程手段也从最初的纸带打卡器,到机器语言、汇编语言,到更高级的c语言,面向对象的C++,面向网络的javascript等等等等。

至于应用方式,早期的计算机主要用于计算,这也是它的名字计算机的由来。而随着计算机算力的增加,人们不仅仅将计算机用于计算,还用于其它更为通用的功能,比如文字处理、表格处理、数据库、游戏、音乐、视频等等。

而为了处理这些计算之外的数据,人们必须将其它的数据转换为数字,这样才能被计算机进行处理。而这个过程被称作建模。关于建模,最经典的书籍就是算法与数据结构。建模其实就等于算法+数据结构。

未来

从上面的论述,我们不难看出,计算机的发展经历了从专一功能,向通用功能的转变。使用的手段就是建模。而现如今,有了AI,建模已经可以通过提示词,让大模型自动分析数据,自主建模了。这也就是说,编程的自动化已经基本实现了。

AI目前比较擅长文本处理,而对于其它的数据,比如图片、视频、声音等的处理,相比于文字,就要差很多。

过去一年,为了补足大模型的不足,多种工具涌现。从一开始的tool_use,到后来的agent,skill,但是其实你从编程角度看,这些概念其实也非常简单。

tool_use其实就是调用函数,这是大模型和传统编程的结合。tool_use就是大模型调用一段函数,提供函数所需的参数,并且获得返回值并使用。

agent和skill其实需要一起来理解。agent是名词,skill是动词。一个相当于编程里的class,一个就是method/action。也就是一个是负责出力的主体,一个是负责具体做什么的函数/动作。而这两个其实只是大模型提示词进行的不同描述。这些都是在大模型内部进行的,已经没有传统编程了。

简单来说,就是以前,我们的应用获取资源,是通过操作系统,大部分时间每个应用都是各自为政。而现在有了大模型,我们面对的是整个世界。我们需要通过agent和skill将大模型与整个世界连接起来。这个闭环一旦形成,目前存在的硬件架构、操作系统、网络等鸿沟就不复存在,唯一区别的是你使用的模型是哪个。

机遇和挑战

从上面的论述,我们不难得出结论。随着agent和skill数量的增多,大模型的能力会越来越强大。可现在的问题是,大模型是收费的,而开发agent和skill则不赚钱。这样下去,所有的钱会都被上游,也就是拥有模型的公司赚走了。而处于下游的人,不仅要面临激烈的竞争,并且也很难获得持续性的收入。

我想这也就是为什么那些美国科技公司都拼命砸钱,想要在AI市场上争夺第一的缘故吧。因为这个市场,目前的确就是赢家通吃。

钱真的没法省出来吗?

听说过一个很玄学的说法:说是该花的钱得花,因为就算你费劲心思省了一下,也马上会通过另一种方式花出去。

这种事我也遇到过,而且就在昨天。昨天天气是中雨,雨会时不时的下。中午的时候,我从外面回家。原本想要打车,结果平时出租车蛮多的,昨天一辆没有,需要等一下。再加上当时雨没有在下,而且我骑电动车回家也仅仅需要10分钟,于是我就心存侥幸,扫了一辆电单车。

当是想的是这样就省下了10元的打车费。结果骑到三分之一就开始下了毛毛雨,骑到一半就下大了。几秒钟衣服就全透了,鞋里也全是水。我想,算了,骑到家再说吧。到了家。我把衣服都脱了,放在卫生间的洗脸池里,打算用洗衣机给洗了。然后从双肩包里拿出来手机和耳机。结果我看到耳机上粘了个东西。我还想这是从哪里吸到了个小磁铁?仔细一看,原来是耳机上的听筒因为泡水开胶了。

咨询了一下豆包,我该买个新的还是拿胶水粘上?豆包建议说还是买个新的吧。于是我跑去京东选了个颜色一样的。新的蓝牙升级到了6.0,不过对于我来说没啥区别,毕竟我也没有蓝牙6.0的设备。

换新耳机需要125元。

erji

顺便说一句,豆包P图还是挺好用的。照片上有两根头发,我让豆包去掉,结果很完美。