跳到主要内容

30 篇博文 含有标签「科技」

查看所有标签

又回到四十年前

· 阅读需 2 分钟

果然还没过一天,又来补充本人的 AI 拙见了:AI 的出现,让很多情况又退回到了四十年以前。

首先是「代码—数据」的安全模型。四十年前的 CPU 上刚开始出现「保护模式」;在那之前,电脑就是一个毫无「安全性」可言的机器。毕竟,关于电脑的最大风险就是被小偷给偷走。至于上面执行什么软件,有什么破坏性可言?

CPU 保护模式

据我所知,1982 年推出的 Intel 80286 是最早开始拥有「保护模式(Protected Mode)」的 CPU。在电脑看来,可执行的代码和需要处理的数据长得是一模一样的,但是如果把不是用来执行的数据误当作代码执行,轻则崩溃,重则被恶意破坏。所谓的「保护模式」,就是把内存分成一页一页,每一页都做一个标记,标明这页内存里的东西可以拿来做什么。「数据页」的内容,CPU 会拒绝执行。当然这只是保护模式最重要的功能之一。

当 CPU 和操作系统经历了 40 多年的风雨沧桑,已经被历练得百毒不侵的时候,LLM 智能体又把时钟拨回了 40 年前。智能体的功能跟 CPU 本质是一样的——接收指令,处理数据。我们又回到了「指令和数据没办法区分」的裸奔时代。

想要解决这个问题,我有一些很大胆的想法,可是买不起 GPU 和 RAM 🤪

AI 感想杂谈

· 阅读需 5 分钟

最近我在工作和个人的兴趣项目上同时用 AI 爆肝,整得都点喘息不过来了。趁着许多感触还比较新鲜,我来写一篇非常笼统的 AI 杂谈,也免得今后在这个话题上无休无止地发表拙见。

前所未有的自由时代

AI 的横空出世让世界出现了「欣喜若狂」和「哀鸿遍野」的两级发展。人们在巨大的不确定面前,担忧和恐惧是合情合理的。不过先撇开 AI 对于劳动力市场和资本分配的影响不谈(呃,那还有什么值得谈的),如果光看 AI 作为一项技术革命的影响,我认为它给我们这代人打开了一个史无前例的自由开放的窗口期。

虽然由 OpenAI 和 Anthropic 领跑的模型是封闭的,但开放模型在性能上紧随其后。重点并不是它们性能上的差异,而是它们的互通性——所有的模型都说「人话」!把 Codex 生成的计划书,复制粘贴到 Claude Code 里修改,真人再通读一下,最后喂给 OpenClaw 实现。这种人、机器、物理世界1之间互通性,被 LLM 直接提升到了前所未有的高度。对比一下 AI 的近亲「软件行业」——Linux 上的应用程序在 POSIX 的 macOS 上也不能跑,更不用提 Windows 了;同一个软件的新旧版本可能就不互通格式,更别提行业里的兼容性了。

LLM 的出现,让语言基本不再成为人与人书面沟通的障碍,人与机器沟通的障碍也被削掉好几个零。更重要的是,LLM 可能是科技界第一次开发出了毫无互通障碍的标准,甚至不需要什么 ISO、W3C 之类的国际组织开会。我不知道有多少人像我一样,觉得这简直是最不可思议的奇迹。

但是按照任何柠檬市场的宿命,我认为 AI 跟 Web 1.0 的互联网一样,高度的自由互通是不可持续的。这个自由的时代,我认为终究只能是一个「窗口期」。三十年之后,主要的几个 AI 各说各的「方言」,是一个极大概率的事件。2下一代会像我们怀念 30 年前的互联网一样,怀念 🤗3,会说人话的 AI、白菜价格的 Tokens。

AI 到底是聪明还是笨

我从实际经历中总结出来的规律是:如果你只是向 AI 描述需求,你会觉得 AI 很笨;如果跟 AI 探讨实现的细节,你觉得 AI 非常聪明。

前一种 AI 的使用方法,其实容易陷入「不知道自己无知」的境况。我几乎没有前端开发的经验,所以我只能不断描述自己想要的界面,让 AI 一遍一遍地改,来回折腾其实并不算很有效率。但是到了后端,我就特别有热情跟 AI 探讨各种设计细节。我发现 AI 真的是4聪明的,跟它聊什么设计细节,它马上就能明白我的深层考量,我在这个过程中也能学到很多的思想。

这两种 AI 使用方法的脑力消耗天差地别:如果只跟 AI 讲需求(这边还不够大,那边点了没反应……),几乎不需要动脑子,当然有时候卡住了情绪消耗反而比较大;但是如果跟 AI 探讨实现细节,我觉得我的脑力经常不够用,几个来回就累得不行——因为 AI 思考的速度太快了,那种心累的感觉,就像是找了一个 IQ 吊打我的人聊天一样。

所以,我用切身体会得出了一个超级显然的结论:人用 AI 可以变笨,也可以变聪明,完全取决于他跟 AI 互动的模式。

AI 带来的恼怒

当今社会,许多人对 AI 的出现感到焦虑、绝望甚至是愤怒,我觉得更精确的描述应该叫做「恼怒」。因为扪心自问(包括我),最直接的恼怒是来源于我们人生投资的失败——花了大半辈子听从了「学好数理化,走遍天下都不怕」这样的「宇宙真理」,结果短短两三年,积攒的编程能力、数理能力,在 AI 的面前不堪一击。今天,快毕业的体校学生不会站出来忿忿不平,水管工和电工可能还在幸灾乐祸地聚在一起吃瓜,而被长辈和社会灌输「学而仕则优」的一群人,闯过了一段又一段的考试独木桥,却发现正确的方向可能根本不是「前方」这么简单。

Footnotes

  1. 在成熟的世界模型面世之前,物理世界还算是个薄弱环节,但已经很接近了。

  2. 因为复杂的耗散体系不能在内部过度连接——逆全球化、政治分裂,背后都有这个推手。

  3. https://huggingface.co/

  4. 不过我觉得我还能经常纠正 Opus 和 GPT-5.5,所以还不至于是被吊打。

本博客的前世

· 阅读需 2 分钟

我经常会用不同的设备写博客,设备间的同步靠的当然是 SyncThing。不过因为偷懒,我也是用 SyncThing 来发布博客文章的。具体做法是,有两个目录,一个是草稿,一个是发布。草稿不与 CD 服务器共享,但发布目录与 CD 服务器同步。我在设备上把文件拖到发布目录,服务器检测到更新会自动 build & rsync。好处就是已发布的文件也可以随时改动,不用走 git check-in check-out 的程序。

坏处呢……就是不小心改动或者删除已发布的文章,就没了~

虽说 SyncThing 也是有备份和版本功能的,但是那都是用来事后补救的,非常不靠谱。比如最近我不小心把一篇文章全文覆写到另一篇文章上——所有的设备都瞬间同步到错误的内容。去 SyncThing 的版本垃圾桶里稍微找了一下,发现是空的,瞬间傻眼。

不过还好,我有一根最后的救命稻草~

哆啦 A 梦点击上图查看我的救命稻草

在寻找之前文档的时候,我发现原来 immarcus.com 这个域名有个前世,早在 2011 年的时候就被人注册过了,后来被前主人弃养,才轮到我把它捡回家来养着。

至于它的前世——只是一个跳转页面,会自动转到 starttoblog.net 这个网站(现在已经死掉了,曾经长成这样)……这不会是神给我的呼召吧,要我继承前人遗愿,呼唤大家都来 start to blog 吗?

我现在很像手贱再去把这个域名买过来,不过我现在闲置域名实在是太多了……有哪位愿意接手的话,那个域名现在还没有人认领哦!

千万别学我

千万别学我用这么不负责任的备份机制,建个 GitHub 仓库才是正道。

微波炉的进化史

· 阅读需 1 分钟

十几年前搬到新家的时候,前屋主留了一个很原始的微波炉,大概长得像这样:

Old Oven

两个旋钮,一个调火力,另一个调时间,没有任何「其他」功能。

这么破的微波炉,我们当然是看不上啦。于是买了一个比较现代的微波炉:

New Oven

(具体不是这款,但是也类似吧。)

新款的微波炉,有好多功能,比如可以

  • 根据食物的重量自动选择解冻时间
  • 鸡肉和牛肉有不同的程序
  • 能显示时间,还能设定倒计时
  • ……

以上的功能我们一次都没有用过。

但是,如果要加热 5 分钟,需要使劲按「5」「0」「0」「Start」,按错了还要删除。用了没两年,那个显示屏突然就不工作了——非但时钟显示不了,连基本的加热功能也坏掉了。

于是我们只能搬出那个十几年前的微波炉,开门、转一下,不用半秒钟就开始加热了。

以上就是「微波炉」这种科技的进化史。

渐渐失控的服务器群

· 阅读需 2 分钟

昨天发现 immarcus⎈setusfree.net 其实已经有一个多星期不工作了 💀 检查一圈发现是因为我用 SyncThing 来同步的 SSL 证书突然发生了文件冲突。想做进一步检查时才发现,我居然完全找不到哪台服务器负责更新 setusfree.net 证书(所以感觉这个域名随时有可能再挂掉……)

重启了一些服务器之后,发现我的 addy.io 也连不上了,Tailscale 也有点摇摇欲坠的趋势。我又对现在 LXD 分割服务器的做法不是很满意,于是内心又产生了「一锅端从头来」的冲动。

自从我用 Claude 建了一个用来跑多智能体的 k3s 集群之后,我对于运维的兴趣进一步下降了。k3s 真的是太繁杂了,虽然看着 AI 写一堆 yaml 文件大概是理解背后的逻辑,但是要我学习 Kubernetes 的语法,手搓各种配置文件,我真的是一点兴趣也没有……

现在正在纠结是不是要彻底折腾一番家庭服务器,把 LXD 端掉,用 AI 部署一个 k3s 集群,把家里所有的服务器和 VPS 都集中管理起来。

但我不懂 k3s 啊 😫

当智力成为廉价品

· 阅读需 6 分钟

「AI 让智力成为了廉价品」——这是一句现在很流行的话。前几次工业革命让人的体力劳动成了廉价品,后几次工业革命又要让人的智力变得一无是处,现在的 AI 焦虑大概就是这个逻辑。

那么顺着这种逻辑说,如果 AI 真的让智力成为了廉价品,还有没有什么不是廉价的呢?

如果万事都变成廉价品,那么共产主义就实现了。好吃懒做的人类靠着太阳光转成电能再转成 Token,就可以躺着享受熵减的红利……哪有那么好的事情——如果那一天真的到来了,人类这种寄生蛀虫肯定会被真正实现熵减功能的 AI 淘汰掉。所以我不愿意相信「万物都是廉价的」这种说法,也就促使我试图找出会变得越来越贵重的东西。

体力劳动

初中学历的人都知道「物质不灭」定律,也就是说,靠我们的体力劳动,我们其实创造不出任何东西,也毁灭不了任何东西。人类劳作的本质,是「分离」和「重组」——这就是最近老生常谈的「熵减」活动。人的体力劳动,就是照着人的需求,把环境中高熵的事物变成低熵的事物。任何劳作的本质,和「老奶奶坐在凳子上拣菜(把好的和坏的区分开)」是同一个原理。

这里有一个前提,那就是要有事物。一个体力无限,还拥有先进工具的人,如果是漂浮在外太空,那么他也永远无法生产出任何价值,因为周围没东西可以让他来「分离」和「重组」。

第一次工业革命,让人的体力劳动大大贬值。机器拥有巨大的「体力」,于是生产原料就成了生产环节中的瓶颈。

智力劳动

很明显,「智力」与体力是完全对应的概念,也只是一种能力,要有产出的话还必须要有处理的对象——那就是「信息」。

信息被加工过之后,就会失去其价值。新闻爆出来之后,股市就会立刻消化这个信息。虽然报纸还在那里,信息的价值已经不在了。

我们很容易忘记信息的珍贵。如果我们能提前十五分钟知道美国放弃轰炸伊朗的话,就能挣好几个亿1早期的互联网的确造就了信息大爆炸,世界各地的信息可以以毫秒级的延迟传互相传输。那时信息产生和传播的速度远超我们的处理能力。现在 AI 突然让情报处理能力得到了飞跃,但问题是,信息的宿命会是如何?生成式 AI 边吃边拉的特点,让流通在外的独立信息变得极度稀缺,信噪比大降。虽然巧妇有了全自动多功能智能 AI 电饭煲,但是市面上能买到的米,一大半都混着有毒的杂质,生产力就一定会单调递增吗?

信息的来源

那么具有生产价值的「原料信息」是从哪里来的呢?其实回过头去对比一下「体力劳动」这个范畴就能找到线索。

「体力劳动」对应物理世界的范畴,原料的开发就是第一产业——农矿业。也就是说,我们只是等待太阳光被叶绿素转化后成自然界的能量,我们再去采集。但是信息的来源不太一样,毕竟自然界没有什么可供采集的信息(例如,「天气」作为自然界的随机性虽然很重要,但 Google 绝对不可能靠做天气预测来挣大钱)。于是,仔细想想的话,信息的来源就是「我们」——「人」!

人的思想变幻莫测,尤其是「温饱」之后的「淫欲」千奇百怪。我完全无法想象 Labubu、球鞋、NFT 这些东西居然在人类社会里有这么大的需求!这些需求都是极其「随机」的,而越是随机不可预测的东西,蕴含的信息量也就越大。

这就是「信息产业」的本质逻辑——在温饱问题被解决的社会里,人会产生各种无法预测的随机性(也就是信息)。把这些信息收集起来,用「智力」进行处理之后,就能产生对整个系统有「熵减」价值的贡献了。这就和农作物水分肥料吸到足了以后就开始结果实是一模一样的机理。

当智力成为廉价品

其实所有的思维要素都已经被列出来了。当智力成为廉价品之后,社会会是什么光景?

我在美国的健身房里遇见过无数的肌肉猛男,但是他们的工作几乎没有和体力相关的。智力成为廉价品之后也是一样——特别聪明的人,可能就跟身材特别好的人一样,还是会招人羡慕,但是智力已经跟求职的能力完全不挂钩了,反而更可能是成为倒贴钱的娱乐项目

那么,人的体力和脑力都被废了,难道还有剩什么吗?我认为这里就是困住大多数人的误区——人的能力,不是「体力」和「脑力」这么二元分割的。仔细想想,有没有什么能力是可以赚大钱,但并不一定要求人很强壮或者很聪明的呢?

有啊!我至少能想到两种:

  1. 情感能力:能共情,有魅力,有领导才能,会察言观色……这样的人并不一定是最聪明的、懂的最多的,但是有许多人就能在团队中发挥巨大的作用。
  2. 担责能力:有魄力,能抗风险,有原则,能作道德判断……这样的人也不一定是聪明的,甚至需要有一股「楞劲儿」。无论是在投资,还是在政治、法律等领域里都能有卓越的贡献。

总之,AI 能替代的,并不是「体力劳动之外的一切劳动」。当智力被 AI 大量替换之后,智力仍然会像健硕的体魄一样被人类所追求,而工作岗位则会继续向着正交的方向继续生长出去。

也不要忘了另一面:人类仍将继续担任「信息庄稼」的韭菜角色,被智力来收割。但是我预期这种收割会变得越发精准,而一切泛泛收集数据的手法都会失效,因为像互联网这样的公共领域将被 AI 污染得体无完肤。关于这一点,我想从我很早写的一篇名为《信任危机》的文章最后直接复制两点过来:

  • 把隐私看作是自己重要的资产——哪怕到了某一天你不得不出卖自己的隐私,屯到最后一定能卖最高的价格
  • 学会享受周围人的不待见——「你太落伍了」「你太极端了」……这些决定是我深思熟虑过的,我完全不需要这些便利;我宁愿在镰刀割来的时候,稍稍辛苦一下我微微弯曲的膝盖。

Footnotes

  1. https://www.independent.co.uk/news/world/americas/us-politics/trump-iran-oil-insider-trading-war-b2945169.html

Ubuntu 变味了

· 阅读需 2 分钟

一个营利性公司支撑的自由软件迟早要变味,我对这一点倒是很早就做好了心理准备。按照我的标准,最近 Ubuntu 终于到了「三振出局」的地步,我要开始积极寻找替代方案了。

第一是 Snap 商店的半闭源特性(商店服务器并不是开源的)。加上这个玩意儿一直作为一个守护进程运行着,感觉就是怪怪的。Snap 从技术上来说就是一个重复造轮子,并且只有 Canonical 一家在大力推崇,让我不得不联想到 Apple 和 Google 那种靠建立应用商店赚钱的商业模式。

第二是 LXD 的「私有化」。LXD 是一个 Linux 容器管理平台,和 Proxmox 比较像。这个项目被 Canonical 完全接管后,就变得很「私人」的感觉,比如只能通过 Snap 商店安装(也就意味着为了 LXD,我的系统就必须要运行 snapd)。Canonical 又对 LXD 大刀阔斧地改造,去掉了很多「没用的」功能,加入了很多「私有的企业级角色」。

上周让我对 Ubuntu 态度彻底改变的是在 apt upgrade 后提示的一段消息,大概的意思是「我们有一些软件包的安全漏洞补丁,但是你要订阅我们的 Ubuntu One Pro 服务才能下载哦~」。我去 Ubuntu 网站研究了一下,发现这个订阅对于个人用户目前是免费的。但是,你要用邮箱注册一个账户,才能获取一个识别码,并且要将识别码绑定到 Ubuntu 系统里。也就是说,最起码 Canonical 会知道哪些服务器是我的,IP 是在哪里——这就给我的味蕾留下一丝细微又醇厚的耗子屎口感。

我自然的投靠对象当然是 Debian(其实我现在的 LXD 主机就是 Debian + Snap 的奇怪组合)。工作电脑也许还会继续沿用基于 Ubuntu 的 ZorinOS,不过服务器端大概是想转到 Kubernetes/k3s 方案下了吧(但不知道这会不会让 Tailscale 变得不好配置)。

如果你有什么好的建议也欢迎来信指导我~🙏

软件架构与成功之母

· 阅读需 4 分钟

今天读到 Eltrac 的 Clean Architecture 读后感,觉得还挺有意思的,于是想插入几句自己的看法。

首先让我感觉有意思的地方是,我没有想到「软件架构」这种东西,如书中所说,真的几乎没有什么进化和改变。比如书里提到的 SOLID 原则和测试驱动的方法,就已经是 OOP 里经典到入土了的教义。

SOLID 原则争议

网上对 SOLID 的批判声是排山倒海,不把经典批倒批臭怎么能展现新生代的酷炫呢?

这里就不展开这个大粪坑了。之后再来掏粪

关于架构的书籍我没有读过很多,但是一个从小学开始就喜欢手搓代码为生的非科班半码农,我对架构的理解就是从一次一次「推倒重建」的血泪经历中建立起来的。在设计软件的早期作出的任何一个小小的偷懒设计,到了后期都会复利增长成巨大的屎山代码。

就拿我目前的工作来说,有一个非常底层的组件就是把一个字符串反解成一套用于初始化各个对象的配置。这套东西的设计经历过几个版本:

  • 最早的时候就是把字符串传来传去,每个对象都去同一个串里找属于自己的字符,代码恶心不堪。
  • 第二套方案,字符串被大致切割,预处理后派发给各个对象,再在构造函数中读取子串。但是最后每个对象都要写解析逻辑,代码重复度高,我出于厌恶又给推翻了。

最终1的设计是一套被动声明系统:每个需要配置的类只需声明一个 Schema,不用实际负责解析字符串。接收字符串的组件负责统一采集所有的 Schema,照着里面的指示将字符串中对应部分解析出来填入对象的指定域。为了简化声明的表述,我还额外开发了一套 DSL2,甚至连「有朝一日会出现 AI」这样的可能性都考虑进去了,让 Schema 里的每一项都可以附加元数据,帮助 AI 理解配置的逻辑与可调范围。八年来已经有无数的核心业务逻辑堆砌在这个底层组件上面,目前看来这个架构仍然稳如泰山,而且居然跑赢了时代,让现在接入 AI 自动配置成为可能。这算是我感到自豪的一次架构迭代。

而在这次经验中,我学到了很多架构的技巧(比如函数式编程的思维)。其实这些技巧和理论早就都写进了教科书,普通的软件工程的学生可能都在课上听过。但是,没有撞到南墙,是不知道北边为什么才是出路的;没有见证过一种架构的崩溃,就不能深刻到另一种架构或理论为什么重要。


「失败乃成功之母」——这不是一句安慰人的鸡汤文,而是一个事实:

  • 失败的经验比成功的结果要更值钱!
  • 失败的经验比成功的结果要更值钱!
  • 失败的经验比成功的结果要更值钱!

为什么科技界在大量裁员的同时,各个公司都在亿万美元疯抢 AI 人才?其实大家在疯抢的,除了好用的脑子之外,更重要的是「哪些道路试过行不通」的经验!道理很简单:在 AI 这个光速迭代的时代,走上一条歪路导致的时间和算力的损失都是不可估量的。

失败的经验远比成功的经验多,但是失败的记录却远比成功的记录要少。很少有人会发表「失败经验」的论文,都是悄悄把失败装在脑子的角落里,然后很可惜,大部分人就会把更值钱的这部分渐渐遗忘掉

在「数据就是一切」的 AI 时代,「没有被充分分享的失败经验」意味着什么呢——每个人不被 AI 替代的价值之所在吧!

Footnotes

  1. 希望如此吧。

  2. Domain Specific Language,就是在一种编程语言中创造另一种小方言。

酷炫的 ANSIWAVE BBS

· 阅读需 95 分钟
:
_
ASCII Art

为了贴上这个 Logo 真是费死我的劲了! 😵‍💫 这可不是一张截图,而是 ASCII Art!你可以当作文字复制下来的哦~(但是不能粘贴 😅)

证据就是本文的「阅读时间需 95 分钟」!

RSS 阅读器应该没办法正确显示上面的图片,请移步到网页版看看~

前几天发现了这个超级酷炫没用的软件——ANSIWAVE BBS源代码)。

  • 可以发 BBS 帖!
  • 支持 ASCII Art 的正确显示(仅限桌面浏览器,手机的字体不行;现代技术都会肆无忌惮地破坏以前的兼容性)
  • 可以在帖子里直接写谱子,转换成 MIDI 放出来(估计现代技术又不行吧)
  • 无需创建账号——所以的账号就是一张含有私钥 QR Code 的 PNG 图片。只要有图,就有账号
  • 整个 BBS 的数据都可以放在 Git Repo 里,clone 一下就能把整个 BBS 数据载回家离线看
  • 使用特别小众的 Nim 语言写成

纯粹觉得这个项目真是太酷啦~