跳到主要内容

Agili 的 Hacker Podcast 2026-08-01

今天我们从一份让 AI 画画的新语言,谈到只为自己写软件的私人厨房,再到一栋藏了百年的纽约小楼。欢迎阅读 Agili 的 Hacker Podcast。

Flint:微软给 AI 做图表的新语言

让 AI 像点菜一样生成图表

Flint 是微软研究院与中国人民大学合作开发的一个中间层语言。它的设计初衷是:让大语言模型只需要描述“我想要什么”——比如一张显示每月新增用户的热力图——编译器就能自动处理坐标轴、色板、间距等底层细节。

一段 Flint 的配置包含三部分:数据、字段的语义类型(告诉编译器“period”是年月、“totalUsers”是数量)、以及图表类型。编译器根据语义类型自动推导出合适的颜色和坐标格式,还能用弹性布局自动优化密集图表的间距和大小。

一套语法,多种后端

Flint 支持 50 种图表类型,统一接口可以输出到 Vega-Lite、ECharts、Chart.js、Plotly,甚至能通过 Office.js 生成可编辑的原生 Excel 图表。最新发布的 v0.4.0 版本新增了 38 种 Plotly 图表和 18 个 Excel 模板。

“AI 时代”的包装争议

在 Hacker News 上,这个项目引发了关于“AI 叙事”的讨论。有评论尖锐地指出,这更像把统一多个图表库的抽象层,重新包装成 AI 概念。另一部分声音则认为,虽然大模型已经能直接生成 Python 或 JavaScript 图表代码,但在预定义图表类型、对可靠性要求高的场景下,Flint 比直接生成有时会出 bug 的原生代码更稳。也有用户质疑:让 LLM 学一种新格式,去和它训练时已经见过无数的 Vega-Lite spec 竞争,优势并不明显。

“什么都不做”的艺术与挣扎

当下时刻过敏症

独立博客作者 David Cain 提出了一个观察:人对自己唯一的栖息地——当下——似乎过敏。思考常常是逃避存在的隐蔽方式,反刍思绪让人躲进大脑,回避焦虑。他建议做一个练习:别动,别折腾,就安住在当下全部的感受里,最低有效剂量是“半个呼吸”。

评论区里的微型实验室

这个练习在读者中引发了强烈的两极反馈。一位因暴力事件患上 PTSD 的读者证实,类似的呼吸静坐比药物更能压住焦虑发作。一位 61 岁的读者用 Fitbit 发现,三次深长的呼吸能让卡住的心率立刻下降 10 到 15 次。

反对的声音同样有力。一位住在贫困社区的读者说,他看到太多人整天无所事事地“chillin”,生活一团糟,却自以为在享受人生。他直言:“我不想当 human being(存在的人),我要当 human doing(做事的人)。”还有人把无法静坐归咎于咖啡因,说戒断咖啡后,才瞥见无所事事原来既自然又有修复作用。

存在与行动的古老悖论

练习本身的矛盾也被反复讨论:努力想让自己习惯“什么都不做”,这本身不就是一种“做”吗?一位评论者回应,这就像佛陀说的,用一种想要去松动更深层的渴望,如同烧掉房子的火,烧完自己也就灭了。学着和这个矛盾相处就好。

Go 语言终于要有个像样的集合库了

迟到总比没有好

Go 团队提出了为未来版本添加标准集合库的提案。过去,Go 标准库里的数据结构很少,集合通常要用 map 来模拟。泛型和迭代器引入后,让库定义的类型有了接近内置类型的操作体验成为了可能。提案包含哈希映射、有序映射、集合和二进制堆等新包。

精心权衡的设计

设计上花了很大心思来规避“二元方法问题”,用未公开的接口来保证不同类型集合的方法兼容。方法也被设计成尽量一次返回所有信息,比如 Map 的 Set 方法会同时返回旧值和是否成功,以避免二次查找带来的性能损失。

社区的复杂情绪

Hacker News 上的反应比较复杂。有人感叹“Go 现在正在一步步学习其他语言过去 20 年学到的教训”,但也有人理解这种渐进策略,认为在没有完美方案前等待是合理的。关于 Go 简单性的争论再次浮现,一边担心复杂性蔓延,另一边则认为这次把复杂性封装在标准库里,反而是降低了普通开发者的门槛。也有具体的 API 命名建议和设计质疑,正在持续讨论中。

只为你下厨:个人软件的时代来了

从一周的业余项目到家庭必需品

2020年,Robin Sloan 花一周时间为家人做了一个只有四个人用的聊天应用,并称之为巨大的成功。六年后,这种“为一个人构建软件”的理念正在成为现实。AJ Waxman 在半年内构建了一堆个人化软件:一个根据婴儿清醒逻辑自动规划全家日程的睡眠应用,一个连接 Strava 和营养数据、按当天跑量调整奶昔配方的健身应用。

这些应用生命周期不长,但精准满足了需求。睡眠应用在儿子能睡整夜后就退役了,作者并不惋惜,只庆幸它在需要时发挥了作用。整个系统的月费约 160 美元,大头是 AI 编程工具的订阅。

AI 淹没大市场,却解锁了小市场

Waxman 认为,AI 产出大量同质化应用的同时,也让构建“没有公司愿意做”的家庭应用成为可能。构建成本断崖式下降,一个爵士乐测验可能只是孩子们睡着后的一个晚上就写完了。好的 API 变得比以往更重要,用户会开始期望自己用的 App 提供值得连接的接口。

在 Hacker News 引发的讨论中,tptacek 分享了自己近一个月构建的一连串工具:从根据“我要去木工房干活”自动生成播放列表的 Apple Music 代理,到一句话描述就能自动计算营养的卡路里追踪器。他的体会是,“感觉自己做得还不够,还没完全意识到这件事的意义”。

反对声:只是另一种高级拖延

也有人尖锐地批评,这不过是“在电脑上做高度复杂的拖延”。你要成为出色的摄影师,靠写代码去自动修图是不行的,你得每周拍几千张照片自己辛苦修。花时间做什么,才会擅长什么。对于成本,不少人认为每月 160 美元太高,一台 VPS 加上 SQLite 足够跑完所有服务。

Servo 引擎六月刷新纪录,努力兼容真实网页

558 个提交和大量新功能

用 Rust 编写的浏览器引擎 Servo 发布了六月更新,合入了创纪录的 558 个提交。新增了 CSS 的 attr() 支持、更多媒体查询、SharedWorker 和一批 DOM API。安全方面修复了多个 JavaScript 引擎的漏洞。

试着跑通真实网站

兼容性在持续进步。Google Photos 和 Cash Converters 已经能跑了,Google Maps 能渲染但交互还有问题。lichess.org 的布局明显改善。由于 Rust 没有稳定的二进制接口,团队开始设计 C API 包装层,目标是让 Servo 能以预编译共享库的形式被其他桌面应用嵌入,作为比 Electron 更小的选择。

在 Hacker News 讨论中,另一位浏览器项目 Ladybird 被频繁拿来对比。有人指出 Ladybird 最近开始借助 LLM 贡献且暂停接收外部提交,让一部分人热情减退;不过也有人澄清,这主要是因为临近 alpha 版截止日期,团队无精力审核大量 LLM 补丁。资金差距也很明显,Ladybird 的第一笔捐赠额就超过了 Servo 一整月的捐赠。

加缪:在荒诞中做一个幸福的反抗者

荒诞、西西弗与局外人

加缪的哲学起点是“荒诞”:人生有一种根本的撕裂——渴望意义的理性动物,却活在一个非理性的世界里。他给出的回应不是逃避或哲学自杀,而是接受荒诞本身,充分地活。在《西西弗神话》中,推石头的西西弗是幸福的,因为“朝向高处的挣扎本身足以填满一个人的心灵”。

《局外人》里的默尔索则因在母亲葬礼上没哭而被社会定罪,最终在走向死刑时,他感受到一种疏离却自由的幸福。不过也有读者重读后批评,小说的审判场景牵强得像一场闹剧,叙事并不可靠。

与萨特的决裂:革命还是反抗

加缪与萨特因为对历史和政治的根本分歧而彻底决裂。加缪在《反抗者》中论证,革命总以创造完美社会为名,碾碎了它声称要保护的自由和真实的人。他倡导的“反抗”则立足当下,对抗不义,强调共同的人性。这被萨特阵营视为对共产主义的攻击,两人进行了一场尖刻的论战。1960年,加缪死于车祸,他与萨特的争吵终究未能弥合。

被挡了一百多年的“钉子户”终于露面

梅西百货外墙的秘密

纽约梅西百货旗舰店外墙上一块巨大的广告牌被拆除,让一栋藏在背后超过 100 年的五层小楼重见天日。这可能是曼哈顿最著名的“钉子户”建筑。故事要追溯到 1901 年,梅西买下了先驱广场的几乎所有地块,唯独这栋楼的地主狮子大开口,最后还把地卖给了梅西的竞争对手。梅西一气之下,直接绕过这块地盖起了大楼,而对手则在上面建了这栋小楼示威。

广告牌的生意经

从 1920 年代起,梅西就租下了这栋楼的外墙做广告。现在广告牌被拆,是因为楼的主人计划把位置租给一家“知名在线零售商”,外界几乎都猜是亚马逊。这栋楼的上层因为被广告牌遮挡窗户,无法合法住人,常年空置,但地面层的租金价值极高。现在新广告牌还没装上,是百年来第一次能看清这栋见证了大型企业残酷博弈的“小楼”的机会。

你的开发管线,也是生产系统

“无法构建”就是事故

Jerry Orr 提出了一个观点:对开发团队来说,构建系统、测试环境、包仓库出问题时,应该拿出处理线上事故的紧迫感。因为代码无法编译,开发者就无法产出软件,这就是开发团队的生产事故。

争辩优先级

在 Hacker News 上,这个观点引发了关于优先级和边界的争论。支持者认为,越是底层的基础设施团队,越懂得开发环境就是他们的生产环境。但也有人反驳:公司只能有一个最高优先级,把什么都当“全员救援”会拖垮公司。还有人打了个比方:锤子很重要,但不代表锤子就是房子。把 IDE 故障称作生产事故,混淆了工具和产品本身。

在 29GB 内存的笔记本上,跑 2.78 万亿参数的大模型

不靠魔法,靠专家按需流式读取

WASTE 是一个纯 C 写的推理引擎,它在消费级笔记本上运行了 Kimi K3 这个 2.78 万亿参数的巨大模型。秘诀在于 K3 是个混合专家模型,每次推理只激活约 4% 的参数。WASTE 把主干网络常驻内存,需要哪些专家权重,就从固态硬盘里实时按需读取,避免了把 1.42 TB 原始权重全装进内存。

作者在 64 GB 内存的 MacBook Pro 上跑了起来,解码速度约 0.5 token/秒。引擎会提前预测下一层需要的专家来预加载,把缓存命中率从 14% 提到了 38%。

0.5 token/秒有什么用?

Hacker News 上的讨论围绕这个速度的价值展开。有评论算出,用这台笔记本的电费跑一个月的 token 量,差不多相当于直接买等量 API 服务的价格。但也有人指出,这个速度适合隔夜跑自动代码审查等批处理任务,睡一觉起来看结果就行。

另一个争议点在于精度和文档风格。有开发者质疑,引擎把专家权重重新量化成 3-bit,和运行“完整未改动”模型的说法自相矛盾。而项目 README 因大量使用 LLM 协助撰写,充满了内部决策语境,被用户批评缺乏同理心。作者在评论区回应,承诺会重写文档。

一个只发拉面照片的网站

治愈首页的“非 AI”内容

RamenHaus 是一个纯粹展示世界各地拉面碗照片的摄影网站。它登上 Hacker News 首页后,有用户调侃道:“比起又一篇 AI 博客文章,我更喜欢这个。”也有人评价照片“让人流口水”。

评论里顺势变成了拉面推荐现场,从伦敦的 Kanada-Ya 到日本街头小店都有提名。还有人分享心得:拉面最迷人的地方,就在于你每一次吃到的体验都独一无二。

播客全文

女:Hello 大家好,欢迎收听 Agili 的 Hacker Podcast,我是莓莓。

男:大家好,我是阿迪。

女:今天话题还挺多的,我们先从一个挺有意思的工具聊起吧。微软研究院和中国人民大学合作的那个 Flint,听说是让 AI 做图表不用写代码了?

男:对,Flint 是一个中间语言,专门给 AI 用的图表编译器。你只需要告诉它数据长什么样、字段是什么含义,它就自己推导比例尺、坐标轴、间距这些底层参数,直接输出一个能在 Vega-Lite、ECharts 或者 Excel 里用的完整图表。最新版 v0.4.0 已经支持 50 种图表类型了。

女:等一下,你说“告诉它字段是什么含义”,这什么意思?

男:比如你有一列数据叫“period”,Flint 要知道它到底是普通的文本,还是像“年-月”这样的时间,或者是地区编码。它管这个叫语义类型。编译器读懂了数据的语义,才能自动选对时间解析器、坐标轴格式,连热力图的配色方案都帮你选好。比如你给它标上利润类的语义,它就自动用发散色板。不用你操心这些细节。

女:所以它像一个图表翻译官。你说人话,它翻译成机器能懂的图表代码。但我看有人在 Hacker News 上说,既然大语言模型本来就能直接生成 Python 或者 JavaScript 画图,为什么还要中间插一层新的格式呢?

男:有人做过对比测试。让 AI 直接生成 Vega-Lite 的代码确实更灵活,你能加极值点标注、事件日期的标记这些自定义细节。但代价是你得自己验证代码有没有 bug,而且 Vega 本身也有不少坑。Flint 走的是另一条路,适合预定义好的图表类型、不需要太多定制化的场景,胜在可靠省心。你把图表类型一切换、数据重新绑一下,布局就自动重新规划了。

女:听起来像是两个流派。一个要自由,一个要可控。那 AI 生成 JSON 图表配置这个事,本身靠谱吗?

男:JSON 确实有争议。有人觉得让大模型写 JSON 容易出错,用 YAML 还能省 token。不过现在有语法约束解码的技术,基本上能保证输出的 JSON 一定符合 schema,再加上校验,成功率已经很高了。

女:说到和 AI 的关系,其实 Flint 这件事让我想到,很多项目现在都在想办法让自己对 AI 更友好。不过评论区有人说这像是把现成的项目重新包装成了 AI 叙事。

男:这个批评有点道理。Flint 本质上是一个抽象层,统一了多个图表库的接口。和 AI 的关系更多是设计上考虑了让大模型更容易生成正确的配置,而不是本身用了什么 AI 技术。它没有测试数据来证明“为什么这个设计对 AI 更好”,而且一个新格式要和模型训练时见过无数次的 Vega-Lite 竞争,确实不容易。

女:好,我们从 AI 作图出来,聊一个完全相反的——什么都不做。

男:你是说 David Cain 那篇《How to Exist》?

女:对,他问了一个听起来特别简单的问题:完全不做任何事,为什么这么难?他给了一个很具体的练习,别动,别折腾,别沉溺于任何念头,看看多久之后你会盼着它结束。他甚至不用“冥想”这个词,就叫它“半个呼吸”的最低有效剂量。

男:文章里有一个数据让我印象很深。北美每年大概有 100 名消防员因为纵火被定罪,而且大多数是年轻的、新入行的消防员。原因很直接,没有火可救,缺乏行动,他们受不了那种等待。

女:这太像我们平时无聊拿起手机的那个瞬间了。那种必须“做点什么”的冲动。有个读者分享了他父亲的回应。他父亲坐在后院梧桐树下,他去问父亲在干什么,他父亲说:“我正忙着什么都不做,而且很美妙。” 这句话好美。

男:也有很认真的反对声音。有一位住在贫困社区的人说,他每天看到邻居从早到晚坐在外面“chillin”,放着同样的音乐,连一英里外的海滩都没去过,生活一团糟,却觉得自己在享受人生。他说“我不想当 human being,我要当 human doing”。

女:这个碰撞挺激烈的。我觉得两边其实都对。对有些人来说,“什么都不做”是奢侈,对另一些人来说是困在原地。那关于怎么练习,文章有没有说一些具体技巧?

男:在注意力放在哪儿这个点上,作者在评论区做过补充。他说注意力不是锁在呼吸上,而是放在当下全部的感受上,呼吸只是计时器,让这个练习变成一件可以完成的事,而不是一个没完没了的任务。还有人用 Fitbit 发现,三次深长的呼吸就能让卡住的心率立刻下降 10 到 15 次。也有提醒说,有 PTSD 的人要小心,这种静下来,真正需要处理的东西会浮上来。

女:说到这,有读者觉得其实这不是什么新东西,藏传佛教的佐钦、大手印,日本曹洞宗的“只管打坐”,描述几乎一模一样。

男:对,所以 Cain 的做法更像是把这些东西翻译成了一个现代人能随手拿起来用的版本。他自己在评论里也说了,把冥想变成“5 到 10 秒的事”之后,做起来容易太多了。评论区有条总结我也很喜欢:简单的主意,回报很大。

女:从做什么、不做什么,我们走到一个开发者的老话题:集合库。Go 语言团队最近提了一个标准集合库的提案,准备在 Go 1.28 加进去。阿迪,你怎么看这个事?

男:说实话,很多人的第一反应是“终于来了”。Go 的标准库在数据结构这方面一直很精简,以前你想用集合,只能用 map 后面跟一个空的 struct,或者一个布尔值,写起来不够顺手。泛型和迭代器稳定之后,现在终于有条件把 Set、有序 Map、通用的堆这些常见结构放进标准库,体验会接近内置类型。提案里甚至包括一个 hash/maphash 包,支持自定义哈希函数和等价关系,可以处理以前不能比较的键类型,比如 slice。

女:我看到评论区有人说得挺直接的,说 Go 现在正在一步步学习其他语言过去二十年学到的教训。这个评论是不是有点刻薄?

男:是有点。旁边也有用户说“迟到总比没有好”,我觉得这个评价更公允。Go 团队一直很谨慎,在没有成熟方案之前宁愿不做。但也有人担心,加了这么多东西之后,Go 会不会失去简单性。反对的观点是,泛型在实际代码里用得并不多,这次提案把复杂性都封装在标准库里,反而降低了普通开发者的门槛,你不用自己写了。

女:在具体设计上,我看到有一个关于命名的小争论。有人说 Union、Intersection 这些名字太数学化了,普通的 Go 程序员会觉得难读。

男:对,有个评论特别直白,说“有些不得不和你这样的人一起工作的人,很高兴你被 Go 限制”。这些反馈可能会影响最终的设计,提案还在讨论中。

女:继续往前聊。2020 年有一篇很有名的文章,是一个叫 Robin Sloan 的作者写的,他给自己家人做了一个消息应用,只有四个人下载,但他把这叫做巨大的成功。他说应用可以像给家人做一顿饭一样,不需要规模,不需要用户。六年后的现在,这篇文章又火了。

男:因为时机到了。一个叫 Thariq 的人说,个人软件在 2020 年还早了一点,但到了 2026 年,它真的可以像家常菜或者手写信一样个人化了。我最近看到一个特别扎实的例子。一个叫 AJ Waxman 的人,在过去六个月里做了一堆纯个人的应用:一个给婴儿做睡眠引导的、一个根据当天跑步量调整奶昔分量的、一个基于他自己比赛记录而不是年龄来算心率的马拉松计划,甚至还有一个他只给自己用的爵士乐测验工具。

女:等一下,婴儿睡眠还有软件来引导?这有点超出我的认知了。

男:他妻子是睡眠顾问,手头有一份逻辑很复杂的 PDF,里面全是清醒窗口、小睡上限、小睡失败怎么办之类的条件。他把这些条件变成应用花了一周晚上的时间,之后妻子、保姆和他自己共享一个实时日程,小睡不足时自动重新规划。用了大概四个月,儿子能睡整夜了,应用就退役了。他写这句话的时候不心疼,因为只花了一周,他只是庆幸它在需要的时候发挥了作用。

女:他自己也说,如果花了几个月才做出来,退役的时候可能会不舍得。不过你注意到没有,他在文章里提到一个自己也没想到的感受,叫“主权”。不会有突然的重新设计,不会有广告洪流,妻子喜欢的那个功能,只要她想用就会一直在。

男:对,他整个技术栈就是 Next.js 加上 Vercel、Tailwind、Supabase 或者 Neon 上的 Postgres,代理编程工具用 Claude Code。每个月大概 160 美元,大头是 Claude 的订阅。有人觉得贵,也有人觉得划算,因为省下了维护时间。对于那些不想折腾服务器的人来说,托管服务的价值就在这儿。

女:这个成本问题社区讨论得很热烈。有人每月花 2 美元在 VPS 上,用最简单的东西做完一模一样的事。你怎么看?

男:说到底还是取舍。有人享受维护服务器,有人不想碰。个人软件这件事本身也在分化,对大多数人来说,门槛降得还不够低。但作者觉得这不会持续太久。Sam Altman 之前发过一个帖子,说他用一段话就让 AI 帮九个朋友规划旅行、建网站、起草邀请邮件,全部完成了。一旦门槛降到真的只是说一句话的程度,很多人会开始构建自己的软件。而一旦你用过真正了解你背景的东西,再回去用通用版,就会觉得它是坏的。

女:这让我想起评论里有人分享的那些更微小的自动化。一个自由职业口译员用 Claude Code 做了 Google Sheets 自动化,收到新任务自动加入日历和表格,算出接下来两张工资单的金额。这种真的就是一个人在自己的生活半径里,把重复的麻烦交给了代码。

男:tptacek 分享的案例更密集。他做了大约十几个纯个人的应用,包括一个能让他说“我要去木工房干活,放适合木工的音乐,无限期保持播放列表完整”的 Apple Music 播放器,一个用一句话描述餐食就能自动算出营养素的卡路里追踪器。他说这些普遍比 App Store 里的更好,卡路里追踪器是他 Dock 上设计最好的应用之一。

女:当然也有不看好的声音。有个评论说他锻炼少了、跟妻子交流不够、不跟朋友联系,然后说“这些问题不是软件能解决的”。你怎么看这个批评?

男:这是两个不同层面的问题。一个人生活失衡,软件解决不了,这点没错。但另一个人本来晚上就是看 Netflix 或者刷手机,现在他在用这个时间给自己和家人做工具,用的还是他真正喜欢的系统设计和迭代这部分工作,我觉得这不叫拖延,这本身就是一种创造。

女:从个人软件出来,我们拐到浏览器引擎的话题。Servo 最近发了 0.4.0,提交量连续第二个月刷新纪录。这个项目到底现在的定位是什么?

男:Servo 的情况比较特殊。它最初是 Mozilla 的一个 Rust 实验项目,不是要跟 Firefox 竞争的独立浏览器。它的 Stylo CSS 引擎在 2017 年被 Firefox 收了,WebRender 也在 2019 年进了 Firefox。在被 Mozilla 放弃之后,社区捡起来继续推进,现在的目标之一是被嵌入到桌面应用里,替代那种很重的 Electron 方案。他们最近在做一个 C API 包装层,就是为了让 Servo 能以预编译的共享库被其他应用嵌进去。

女:有人真的在用 Servo 吗?

男:说实话,对普通用户来说还早,Web 标准兼容差得远。但有一些探索性用法,比如有人在精简的 Windows 11 虚拟机里把它当成唯一的浏览器,有人在尝试在桌面应用里替代嵌入式 WebKit,感觉“快到了”。还有一个点,Servo 现在在做一件很底层的事,把“能不能发生垃圾回收”变成类型系统的一部分。新设计让 borrow_mut 需要一个 NoGC 的标记来证明这段代码不会触发 GC。

女:这是为了让内存管理更安全?

男:对,Rust 本身保证内存安全,但浏览器引擎有自己的垃圾回收机制,这两个系统放到一起,以前是靠外部静态分析来检查,很容易有遗漏。现在反过来让类型系统来管,代码本身就必须提供证明。有意思的是,这个改动还顺便带来了性能收益,布局和 HTMLCollection 的开销减了超过百分之一。

女:在 HN 讨论里,另一个浏览器 Ladybird 被拿来做比较,两边的关注度好像差不少。

男:资金差距很明显。有人说 Ladybird 的 newsletter 里第一笔捐赠就超过了 Servo 一整个月的捐赠额。Servo 目前每月大概七千六百美元的捐赠。但 Ladybird 最近暂停接受外部提交,因为他们 alpha 版本的截止日期太近了,没时间验证那些顺手用大模型生成的补丁。这一点其实对 Servo 来说反而是个机会,有些对 Ladybird 这一步感到失望的开发者可能会转向 Servo。

女:我们聊到这儿,时间不早了。最后想跟你聊聊一个我们这期还没碰的话题,加缪。

男:最近有人在 HN 上写了一篇长文,谈了加缪和萨特的决裂。1944 年巴黎解放前夕,萨特被派去守卫法兰西喜剧院,加缪去找他的时候,发现他累得在正厅前排睡着了。加缪叫醒他,打趣说:“你把座椅转向了历史的方向。”

女:这句话太妙了。但他们的分歧也正是从“历史”这两个字开始的?

男:对。加缪的核心概念是“荒诞”。人生有一种根本性的撕裂,人渴望理性和清晰,但世界是非理性的、无意义的。这种意识可能在某个街角突然袭来,一旦看见,日常的一切都失去了意义。他后来意识到,否认这种荒诞就等于否认自己作为理性动物的本性,所以合理的回应是接受它。既然存在无意义,试图赋予它意义就是徒劳,关键在于充分地活,承认我们同舟共济,品味这场不可能的斗争。要做“幸福的西西弗”。

女:所以西西弗的幸福不是因为石头终于到了山顶,而是因为他清楚石头会掉下来,但他还是推。

男:对。但这种荒诞观用在政治上,就和萨特彻底冲突了。加缪在《反抗者》里论证说,革命的目的是创造完美社会、终结历史,但在尝试创造理想社会的同时,也碾碎了它声称要保护的自由和人道。在他看来,苏联和纳粹在这点上没有区别。反抗不一样,反抗面对不义,强调的是共同的人性,要求个体承担一种团结。萨特把这本书看作对共产主义的攻击,两人从此决裂。

女:我注意到评论区有人说,加缪把宗教和斯多葛式的人生指南都称为“哲学自杀”,因为它们靠制造某种人为的生存理由来回避宇宙不回答这个问题。

男:对。有人拿它和佛教比,有人和斯多葛比,但加缪大概会把它们都归为一类。1957 年他拿了诺贝尔文学奖,但在阿尔及利亚战争问题上,他既拒绝支持独立,也拒绝支持法国政府,只呼吁停火和共处,两面不讨好。1960 年他出车祸死了,就在此前不久他对朋友说,自己真正的作品还没有开始。死亡就像生命一样,终究是荒诞的。

女:这真是一个很加缪式的结尾。我们这期从 AI 做图表、什么都不做、Go 的集合库、个人软件、浏览器引擎,聊到一个在剧院里睡觉的哲学家。好像每个话题都在某个角度触碰了同一个东西:我们到底要控制多少,又要放手多少。

男:做个人软件的人想要完全的控制权,做集合库的人想要标准化的便利,Servo 的团队在类型系统里控制垃圾回收,而 Cain 说,你得学会偶尔什么都不控制。

女:这大概就是我们这期 episode 的暗线了。我和阿迪都听到这儿了,我们就不多说了。感谢收听 Agili 的 Hacker Podcast,使用泛用型播客客户端可以订阅我们,我们下期再见。

男:再见。

参考链接