Hacker News 博客 · 每日摘要
今天,Agili 的 Hacker Podcast 关注技术与社会的碰撞:从环境活动家用 AI 地图追踪 AI 数据中心,到小商户对抗信用卡拒付的无力,再到 LAN 派对的消失与怀旧。技术不再只是代码,它在改变社区、商业和游戏的方式。
Erin Brockovich 用地图追踪全美数据中心
环境活动家 Erin Brockovich 创建了一个交互式地图(brockovichdatacenter.com),记录 AI 数据中心在美国的建设足迹。地图目前显示 33 座运营中、44 座在建和 27 座计划中的数据中心,还有 2716 份社区报告。
一个 AI 生成的反 AI 工具
网站本身引发了讽刺讨论。多位评论者注意到其版面设计带有明显的 AI 生成特征,代码未经压缩、注释丰富。有人将网址输入 Claude,AI 自信地判断该站由它生成。评论者直言:“她用 AI 做了一张地图来追踪 AI 数据中心。”
地图的争议与价值
社区报告数量远超其他类别,但可靠性存疑。有人指出北达科他州的部分报告标记的地点要么不存在,要么规模极小。地图未区分超大规模 AI 数据中心和小型电信交换机房,被批评为有误导性。反对者强调水消耗、电力负荷和噪音问题,而一位数据中心机械工程师解释,AI 训练确实带来更高的机架密度和功率波动,但许多新建设施已采用闭环冷却,并非全部使用蒸发冷却。他认为抗议更多是普遍反对一切开发的“布兹曼”行为。
反 AI 情绪的背后
有人将此事与卢德派类比,认为反 AI 情绪正在增长。但更多声音认为,AI 对普通人的吸引力有限——除了对部分程序员有用之外,它带来的主要是被替代的恐惧、糟糕的面试体验和上升的电费。一位评论者总结:“如果你看不出为什么 AI 不受欢迎,那你是真地脱离群众了。”
Cloudflare 推出 Flagship 功能标志服务
Cloudflare 发布了 Flagship,一个基于 Cloudflare Workers 的功能标志(Feature Flag)服务,允许开发者在不重新部署代码的情况下控制功能的可见性。
核心特性与局限
Flagship 兼容 OpenFeature 标准,支持 11 种比较运算符、百分比发布和一致性哈希。社区讨论的焦点是它缺少真正的本地评估引擎——如果能把特征判断写成函数在紧循环里跑,业务会极其敏捷,但 Flagship 目前的实现更适合内存有限的 Workers。有工程师指出,其客户端 SDK 的 API token 不限于单个应用,任何拿到 token 的人都能读取所有应用的标志值,被批评为产品未完成。
功能标志该怎么用
争论的另一端是功能标志本身的使用哲学。一些人视长期标志为反模式:标志应该在功能稳定后删除,否则会遗留大量难以清理且互相影响的标志,导致测试组合爆炸。而另一些人认为,只要区分“短暂的发布标志”和“持久的控制平面杠杆”,就可以长期使用。在 Shopify,交叉团队间标志变更导致事故很常见,他们强制要求标志在 2-4 周内清理。
Stripe 对“友好欺诈”很友好
一位卖雪茄胶水的小商户遭遇了两次信用卡拒付(Chargeback):顾客收到货后向银行声称没收到,作者提供了完整证据,但 Stripe 明确回复,他们不会利用单个商户提交的拒付滥用证据来创建跨商户的欺诈信号。
系统性的无力
Stripe 的理由是不希望“一个生气的商户就能让顾客在全部 Stripe 网络中被屏蔽”。但作者指出,从“自动拉黑”到“只靠商户自己付费的 Radar 规则”之间存在巨大空白。Stripe 向商户销售 Radar 时强调其网络优势,可当商户拿着实际证据去找他们,这些证据却毫无作用。Radar 解决不了“顾客收到货后向银行撒谎”这种事后欺诈。
信用卡生态的结构性偏斜
多位商户反映,大部分拒付来自美国和加拿大,因为信用卡发行方的拒付流程在这些国家非常容易触发。在欧洲和其他地区,消费者发起拒付要难得多。有商户建议使用 3DS 2.x 认证(带责任转移保护),或改用不可逆的加密货币来规避拒付,但后者受众极小。作者最终承认,Stripe 不能逆转已结案的拒付,但希望他们至少能把这些证据输入到 Radar 的机器学习系统里。Stripe 客服在邮件中承认“存在利用商户提供的确凿证据来保护更广商户生态的缺口”,但表态仅止于此。
被遗忘的 LAN 派对艺术
2001 年,作者和朋友把三台 19 英寸 CRT 显示器、三台米白色机箱和一台交换机塞进一辆 1984 年的福特 Laser。三天后,他们红着眼走出来,那是人生中最美好的时光之一。
不止是玩游戏
LAN 派对的真正核心是社交:在同一个物理空间里挤在同一张大桌子旁,听得到隔壁的欢呼和抱怨,闻得到体味、能量饮料和披萨的混合气味。社区老玩家补充了许多细节:调试网络就要花好几个小时,总有人对玩游戏没兴趣,只想说服你用他的 OpenBSD 机器跑 DHCP。大家还会互相复制 MP3 文件夹,传递游戏光盘和破解补丁,因为很少有人同时拥有所有游戏。
消失与存续
高速互联网普及削弱了 LAN 派对消除延迟的优势,但更关键的是游戏厂商不再支持 LAN 模式。永久在线 DRM 变得普遍,形成恶性循环。有人指出,《魔兽世界》的兴起是最后一颗棺材钉——2005 年左右,原来一起玩 LAN 的朋友都沉迷于不同时区的公会。但 LAN 派对没有完全消失。现代游戏笔记本轻薄便携,你只需要买些零食、分享 Wi-Fi 密码就行。大一些的 LAN 活动依然存在:挪威的 The Gathering 每年有约 5000 人参加。在一个时刻在线的世界里,通过本地网络“断连”并与身边人重新连接,这件事本身就带着某种反讽意味。
下一词预测把我们留在哪里
一篇批评 AI 发展方向的深度文章。作者认为,AI 热潮的核心动机已从“拯救人类”滑向“削减人力成本”——从 Anthropic 的 Dario Amodei 到 OpenAI 的 Sam Altman,都在推销一个信号:你的劳动力不再是谈判筹码。
阶层与视角
一位评论者引用数据指出,美国与欧洲民众对 AI 的负面看法反而比中国和发展中国家更强。其他评论者分析,这反映不同社会契约与经济发展阶段:在中国等发展迅速的社会,AI 被视为提升整体生活水平的新工具;而在美国,人们更多将其与寡头垄断联系起来,担心自身地位被永久取代。作者不反对这种复杂性,但认为无论在哪一类社会,最终结果都是劳动力被集中到少数资本手中。
开源的幻觉
非技术的中层管理者现在不再需要忍受程序员的反对,AI 不会抗议、不会工会化,会恭维你的一切想法。但普通开发者失去了独特性,变成了可被替换的节点。所有内容都被默认为训练数据,用户与 AI 的对话也被存储——这暴露了 AI 公司真正的竞争手段。最后的结论是:下一词预测把我们留在一个向人类几个世纪的集体成果收取租金的永续循环里。
从 Rust 到 Ruby 的迁移实验
一个开发者用本地 LLM 把 30k 行的 Rust 应用翻写成 Ruby on Rails。生成的 Ruby 代码只有 3322 行,缩水 77%。他让 LLM 评估两种方案,加总后 Rails 得分 710,Rust 得分 480。
未经验证的“成功”
作者坦诚他还没跑过生成的代码。“我也不知道能不能跑,但至少行数少得吓人。”这句成了评论区主要炮火点。很多读者认为这不是一篇有说服力的文章:既然没验证,发出来等于“展示一件没完工的作品”。作者后来回复说他花了 5 小时逐行审查,认为代码“看起来干净且符合习惯”,但批评者依然觉得“没运行就写博客”本身缺乏技术严肃性。
Rails 的争议与现实
有人赞同“没有任何语言+框架像 Rails 那样优先考虑开发者幸福感”,但反对派举出了可追踪性差、调试困难、魔法方法难以搜索等具体例子。关于性能,双方几乎没有争议:Rust 更强,但多数 Web 应用的性能瓶颈在数据库,而非语言本身。真正让 Rust 在后台作业中突出的是极低内存占用(一个服务 30 MB vs Rails worker 经常过 2 GB)。最后有评论点明:如果你能用 Ruby 廉价替代 Rust,那当初选 Rust 本身就是错误。作者回复说“这正是我想分享的观点”。
Tunecat:简单的网络电台
Tunecat 是一个用 Go 编写的网络电台服务器,项目体积只有 88 KiB。它从本地文件夹读取 Opus 格式的音乐文件,生成连续的音频流,用户通过浏览器或播放器就能收听。它还支持通过 IRC 控制播放——你可以用 IRC 命令点歌或跳过当前曲目。
社区有人回忆起 2000 年代初的 Shoutcast/Icecast 电台经常通过 IRC 让听众点歌,玩法很像。也有人推荐了更全面的替代项目 Subwave。还有人详细解释使用方式:直接打开流地址,用 mpv 或 Windows Media Player 等播放器收听,IRC 控制只是额外功能,不需要的话完全可以忽略。
IBM 机密:System/360 文件组织
工程师 Pearson Wood 在内部培训电影中讲解 System/360 的文件组织概念。他用彩笔和翻页图板讲述了顺序数据与随机数据的区别,以及索引、设备独立性和“装载时自动格式化”等创新。
技术遗产
System/360 使用的 8 位字节后来成为行业标准。评论提到它引入了“通道程序”概念:向磁盘控制器发送微型程序,让它自行搜索记录,这成为异步 I/O 和 DMA 架构的前身。一位开发者回忆,他把 Commodore PET 磁盘驱动的通道程序思路移植到 PC 上,用 6502 芯片独立处理查询,系统反应很快。
时代印记
电影中翻转图板是手工绘制的,当时工程师需要精通基础制图。IBM 在 1960 年代早期还有全体员工早上唱公司歌的传统,这一文化后期被取消,可能启发了美剧《Severance》中 Lumon 公司的元素。IBM 至今仍在制作类似的技术讲解视频,让开发者关系人员继续扮演类似的角色。
“总说不”的工程师是零利率时代的产物
作者提出,“just-say-no 工程师”(总说“不”的工程师)本质上是零利率政策(ZIRP,2008-2022 年间银行允许公司以接近零的利率借贷)的产物。当时科技公司疯狂融资、大量招人,公司不太关心产出,只关心工程师人数提振股价。
环境的转变
当利率上升后,几乎所有科技公司立刻裁员 5-20%,因为养着臃肿的工程师团队不再有利可图。对“总说不的工程师”来说,环境急转直下:管理层不再支持他们,反而批评他们固执,要求他们“当个团队球员”,或者直接绕过他们做决定。作者强调,这个变化跟 AI 关系不大。
AI 代码的冲击
讽刺的是,如果 ZIRP 没结束,AI 扩张反而会让这类工程师更有价值。但实际上,他们现在被迫看着同事合并以前会被拒绝的 AI 代码,还被要求自己也用 AI 工具。更糟的是,AI 工具“大体上能用”——代码不那么干净、理解度降低,但够好了。有评论提到一个实际案例:一位产品经理提交了 25k 行的 AI 生成 PR,导致审查困难、政治压力巨大。评论普遍认为,在 AI 代码大量涌入的今天,说“不”的能力反而更重要,因为维护成本没变。
逼真光照如何毁掉潜行游戏设计
《细胞分裂》系列设计师 Clint Hocking 在一次播客中提到,现代逼真的光照渲染让潜行游戏的开发变得更难。旧时代潜行游戏使用烘焙好的静态光照,亮暗分明。但现在的渲染引擎加入全局光照等物理模拟后,“什么是光、什么是影、哪里安全、哪里危险”很难读清。
美术方向与技术取舍
不少评论者认为问题不在技术,而在美术方向。《合金装备 V》用了基于物理的渲染,但通过敌人的肢体语言、声音变化来暗示玩家是否被察觉。Arkane 的《羞辱》选择放弃光影判定,转为基于遮挡的潜行系统,说明工作室可以有意识地避开光照难题。《杀手》系列用伪装和社会潜行走通了另一条路,不再依赖光影深浅。一位评论者调侃说,如果真按现实光效,特工根本不可能像山姆·费舍尔那样藏在阴影里——潜行游戏从一开始就需要设计上的“虚假”。
播客全文
女:Hello 大家好,欢迎收听 Agili 的 Hacker Podcast,我是莓莓。
男:大家好,我是阿哲。
女:今天这期想聊的东西有点杂。开头想先问你一个事儿,你知道 Erin Brockovich 吗?就那个因为同名电影出名的环保活动家。
男:当然,她当年调查六价铬污染,电影拿了奥斯卡。不过她现在好像盯上了另一个目标。
女:没错,她最近做了一个网站,叫 brockovichdatacenter.com,是一个可以看全美 AI 数据中心分布的可交互地图。说是地图上显示了三十多座运营中的,四十多座在建的,还有二十多座计划中的。她还弄了个表格,让大家自己去报告社区附近的数据中心是什么情况。
男:这倒是很符合她一贯的做法。但我在社区看到有人质疑,说上头收到的社区报告有两千七百多份,比数据中心本身的数量多得多,而且数据可能不太靠谱。比如有人说北达科他州标的一些点,要么不存在,要么就是很小的电信交换机房,跟那种几万平米的超大规模 AI 数据中心完全不是一回事。
女:把那种一千平方英尺的小交换点和大型算力中心混在一起,确实容易让人误判。但话说回来,她这个地图的流量本身就证明了大家对这个事情很焦虑。帖子下边吵得不可开交,有人说水消耗、电负荷和噪音把本地资源榨干了,还有个自称数据中心机械工程师的人,专门跑出来解释说 AI 训练确实会带来巨大的瞬时功率波动,但很多新建设施用的是闭环冷却,不是那种冒着白汽的冷却塔了,而且冷却塔其实比风冷冷凝器声音小,靠近居民区反而常常选它。
男:这还挺反直觉的。不过居民最直接感受到的可能不是噪音,而是电费和水费账单悄悄涨了。哪怕数据中心不建在你家隔壁,只要它挂在同一个公共电网上,供电压力一大,成本最后还是会分摊给大家。
女:社区里还有一个很讽刺的细节,说 Erin 这个网站本身的代码像是 AI 生成的。有人把网址丢给 Claude,Claude 自信地判断这站就是它自己写的。
男:用 AI 做一张地图来追踪 AI 数据中心…… 这确实挺行为艺术的。感觉反 AI 的情绪这几年越来越强,都快成新一代卢德派了。
女:不过说到 AI 工具,开发者的感受可能又不太一样,甚至觉得它能帮忙省大把时间。正好最近 Cloudflare 出了个新的功能标志服务,叫 Flagship,就是给开发者用的。
男:对,功能标志,Feature Flag,说白了就是在代码里埋一个开关,不用重新部署,就能远程控制一个功能是打开还是给哪些用户看。这概念本身不新鲜。但 Cloudflare 搞的这个是基于他们的 Workers 原生的,绑定 Workers 做本地评估,还兼容一个叫 OpenFeature 的开源标准。这样开发者写代码的时候,如果以后想换到另一个服务商,只用改一行配置。
女:听起来对开发者很友好啊。
男:友好是一方面,但社区讨论的焦点其实更深。他们争的是,功能标志到底应该多快被删掉。一派认为标志就该是短命的,比如上线一个新功能,在 QA 环境开着,到生产环境先关掉,等验证稳定了就赶紧把代码里这个开关清理干净。不然堆几百个互相影响的老标志,测试组合会爆炸,出点小故障根本排查不出现因。
女:所以是把它当创可贴,用完就撕。
男:对。另一派觉得,标志本身就是配置,分清楚“短期的发布开关”和“长期的控制杆”就行,比如说紧急熔断开关,或者按不同企业客户去定制功能,这些就该长期留着。有人举了 Shopify 的例子,他们内部跨团队因为标志变更互相踩踏出过不少事故,后来就强制所有标志必须在二到四周内清理。
女:四周内,这工期卡得挺死。不过 Cloudflare 作为一个平台,现在产品线铺得是真广,从网络加速、DDoS 防护,做到数据库、Zero Trust,现在又搞功能标志。
男:所以也有人吐糟,说像 Flagship 这种新产品,初期有些粗糙的边角。比如客户端 SDK 文档里写,只要拿到 API token,就能读所有应用的标志值,还没做到每个应用独立授权。工程师承认“应用作用域 token”还在开发,被骂产品没完工就往外推。不过总的来说,它的核心网络服务还是很强的,只是新业务需要点时间打磨。
女:说到平台和钱,我最近看到一个特别憋屈的小商户故事,跟 AI 一点关系没有,但听着比 Erin Brockovich 的数据中心还让人生气。
男:你说的是那个卖雪茄胶水的店主吧。
女:对,ciglue.com。同一个顾客两次下单,每次都签收了,转头就去信用卡公司发起拒付,说自己没收到货。店主邮件里把快递签收的底单、顾客自己的承认截图全发给 Stripe 去申诉。结果 Stripe 明确回复说,他们不会因为一个商户提供的证据就去把那个顾客的卡或者邮箱在整个 Stripe 网络里拉黑。
男:Stripe 的立场其实有他们的逻辑。他们说如果允许单个商家的举报就直接全网拉黑消费者,可能出现一个被惹恼的商户恶意报复,或者违反《公平信用报告法》,最后变成一个无辜老太太因为什么误会被全 Stripe 生态屏蔽了,那公关灾难更大。
女:我明白极端情况不能一刀切,但从“完全不管”到“只能靠商家自己花钱买 Radar 规则”之间,明明有一大块能做的事。比如把这些证据输进他们的机器学习模型当风险信号之一,总可以吧?
男:这就是作者最郁闷的地方。Stripe 在推广 Radar 的时候天天强调他们拥有海量的交易数据、跨商家的信号网络,防欺诈如何如何强。真到了店主手里握着确凿证据去找,这个网络信号却完全没用,因为拒付是“顾客收到货之后向银行撒谎”,这种事后的欺诈,Stripe 的实时拦截机制根本采不到。
女:而且他还说,大部分拒付根本不是从什么高风险小国来的,就是美国和加拿大的卡。评论区里好几个商户反映,尤其是 Apple Card 那种 App 一键标记欺诈的,发卡行几乎无条件站消费者那边。欧洲反倒是消费者要发起拒付得费好大劲。
男:所以就变成了小商户只能自己消化这十几美元一单的损失,再加上运费、产品成本、拒付手续费,还有来回沟通的时间。最后那个店主说了一句挺心酸的话:Stripe 现在没办法逆转已经结案的拒付,这一点他认了,他只是希望哪怕把这些证据扔进 Radar 的底层模型里也好,客服却承认“这里确实有一个空缺”,承认了,但,也就停在承认了。
女:这种时候就觉得,早期的互联网多简单啊,交易都是真人对真人。说起简单,你会不会偶尔想起当年那种几个人把 CRD 显示器和笨重主机塞进车里,去朋友家接网线打游戏的日子?
男:你是说 LAN 派对。
女:对,有一篇文章详细写了那种体验。作者 2001 年和朋友,一台 1984 年的福特 Laser,塞着三台 19 寸 CRT,三台米白色机箱,二十四口交换机和一箱网线,开到朋友家。几个小时后客厅全是蓝色网线,三天后红着眼出来,说是人生最美好的时光之一。
男:这描述太有画面感了。早期 LAN 派对的核心其实是近乎零延迟,数据就在几个人之间转,不用走外网。而且真正好玩的不是游戏本身,是你听得到隔壁的吼叫,闻得到混着披萨和能量饮料的味儿。还有那会儿根本不像现在一样进游戏就能连,先要花几小时调网络,手动配 IP 地址,每人写个小纸条贴在屏幕上。你甚至还得互相传 MP3 文件夹,交换光盘和破解补丁。
女:有人回忆说,自己没网卡,就用 modem 拨号到朋友的 Windows 95 拨号服务器打 Quake。还有人用自行车拖车拉电脑和 CRT 去参加派对。那个年代的动手能力真的强。
男:现在硬件轻便多了,游戏笔记本一放,共享个 Wi-Fi 密码就能玩。可问题是,很多现代游戏直接砍掉了 LAN 模式,联网强制走官方服务器,永久在线 DRM 让你在同一个房间也要绕一圈互联网。再加上 Discord 这些东西,LAN 派对就变成了“只是多了几张椅子的多人在线”,那种在场感被削得很薄。
女:有人把《魔兽世界》的兴起叫做 LAN 派对的最后一颗棺材钉。2005 年之后,朋友们各自沉迷于不同时区的公会,再也不愿意线下聚到一起。不过文章也说,LAN 派对其实没死透,小型聚会还在,只是变成了周期性的怀旧体验,得提前两个月发邀请,而且很难熬通宵了。就像一个刻意去“断连”的仪式。
男:对。在一个时刻在线的世界里,用本地网络和旁边的人重新接上,这件事本身就挺讽刺,也挺温柔的。
女:这种温柔,有时候会被另一种声音盖过去。就是那种说“你这个行业要被 AI 做熟了”的论调,带着点幸灾乐祸。最近有篇文章,说这种声音其实是有经济缓冲层的人在挥舞榔头,正在被砸的底层民众并不在发达国家社保网的保护里。
男:作者认为 AI 热潮的核心,已经从“拯救人类”变成了“削减人力成本”。硅谷的投资人和 CEO 们,发出来的信号特别清晰:你的劳动力不再是谈判筹码。资本最终想要的,是把“人加 AI”那个中间环节一并拿掉,只留下 token 成本。
女:文章里一个挺深的刺痛点是,菲尔兹奖得主 Tim Gowers 说他做数学不再能带来那种永恒的感觉了,因为 AI 比他做得更快更好。哪怕你选择“用 AI 而不是被 AI 替代”,最后也会被那些愿意用纯 token 成本取代你的人淘汰掉。
男:评论里有人提到一个有意思的数据:美国与欧洲人对 AI 的负面看法,比中国和发展中国家还要强。大家分析这反映的是不同社会契约——在快速发展的社会里,AI 容易被看作提升整体生活的新工具;在美国,人们更害怕它变成寡头垄断的工具,自己的位置会被永久取代。
女:说到底,不管在哪儿,普通开发者都变成了可替换的节点。非技术的中层管理者现在不用再忍受程序员说“不”,AI 不会抱怨,不会工会化。你就是用 AI 写了一段代码,也没逃脱这个循环,因为下一词预测的模型本质上是在对你几个世纪的集体智慧收租金。
男:这就带出另一个最近的事件。一个开发者把自己三万行左右的 Rust 应用,用本地的 Qwen 3.6 模型花了三十分钟自动翻写成了 Ruby on Rails。生成的 Ruby 代码,三千三百二十二行,缩水了百分之七十七。
女:四行半 Rust 换一行 Ruby,这听着像天方夜谭。
男:他先让 LLM 自己给两个方案在开发速度、安全性、测试难度这些维度打分,算下来 Rails 完胜。他形容这个结果是“一点四七倍的更好产出”。但是,他自己说“也不知道能不能跑,至少行数少得吓人”。
女:那这样发表出来,社区不得炸。
男:确实炸了。很多人说没验证就发,跟展示一件没做完的模型没区别。作者后来补充说花了五个小时逐行审查,整体“看起来干净且符合习惯”,但批评者还是不买账,说“没跑过的代码,不管看起来多干净,讨论技术选型都太草率。”
女:不过他也带出一个有意思的讨论——如果 LLM 真能把迁移成本打到几乎为零,那这种跨语言直接对论就会越来越多。有人就说,如果你能用 Ruby 廉价替代 Rust,那当初选 Rust 可能本身就是错误的。
男:这倒也是一个马后炮式的自我批判。语言的选择终究应该匹配任务,Ruby 在开发速度和测试成本上确实有优势,Rust 在性能和内存占用上对后台作业强得多,比如一个 Worker 只占三十 MB,而 Rails 经常冲到两 GB。这两个东西没有绝对好坏,只是在 AI 把挡板抽掉之后,大家突然觉得,是不是一切都可以重新检讨。
女:说到检讨,最近还有一篇文章,专门分析了一种叫“just-say-no 工程师”的人。就是指那种资深工程师,他的主要工作就是拖慢速度、阻止增加复杂性的功能、尽量少写代码。
男:啊,这种人对团队来说曾经是防火墙一样的存在。文章提了一个挺极端的观点,说这种角色其实是零利率政策时代的产物。2008 年到 2022 年,科技公司用几乎零成本的钱疯狂融资招人,工程师多到可以做各种很酷但未必产生短期商业价值的事情,公司需要几个说“不”的人来防止系统被搞崩。
女:但当利率上升以后,公司一下子裁掉百分之五到二十的人,不能再养闲人了。管理层也开始批评这些说“不”的工程师,觉得他们是固执的阻碍者,要求他们“当个团队球员”,或者干脆绕过他们做决定。
男:讽刺的是,如果零利率时代没结束,AI 扩张反而会让这种人更有价值。因为管理层可能不敢公开质疑那些 AI 吐出来的代码,会依赖他们来挡洪水。可现实是,这些工程师现在得看着同事合并那种以前铁定被拍死的 AI 代码,还被要求自己也用 AI 工具。
女:而且最刺伤他们的是,AI 生成的代码“大体上能用”,不是那种漂亮的、每个细节都经得起推敲的代码,但就是够用了。这让他们的自我认同感挂在了空中:要么坚持说灾难马上就来,要么就得承认,自己这个职业角色只是建立在极端的资本环境上。
男:评论里也有反击的。很多人说文章太泛化,ZIRP 跟说“不”的因果关系根本没法验证,像 Linus Torvalds 那种严格到被人骂的人,早在 ZIRP 之前就存在了。不过有一点确实能触动很多人——当一个产品经理直接丢过来两万五千行的 AI 生成 PR 要求审查的时候,那压力是实打实的,政治上也很难拒绝。
女:这感觉就像一种工业革命早期的景象,机器轰隆隆进场,手艺人的工具箱还在旁边,但场子的空气已经完全不一样了。
男:说到工业时代的遗迹,我刚好看到一部 IBM 六十年代的内部培训电影被转录出来。主讲人叫 Pearson Wood,在 IBM 的 Poughkeepsie 实验室工作,他当着镜头用一叠翻页图板,手工画着流程图,解释 System/360 的文件组织。
女:1964 年前后的片子?
男:差不多。他讲解顺序数据和随机数据的区别,引入了一个特别现代的概念:设备独立性。就是说应用程序通过索引去访问存储设备,底下的硬盘是 2311 还是 2321 数据单元,换了也几乎不用改代码。System/360 还引入了八位字节,也就是后来成为行业标准的 byte,一开始是因为 IBM 等不及 ASCII 标准定版,自己搞了 EBCDIC 编码,但八位的这个架构就一直留下来了。
女:那会儿的工程师还要自己手工绘制翻页图板,真是既要懂技术,还得会一手好书法。而且评论里还有人提,IBM 当年早上上班全体员工要先唱公司歌,充满了一种有点诡异的企业文化,据说后来还启发了美剧《Severance》里面 Lumon 公司的设定。
男:这也是一种时代切面。大公司内部那种半宗教的氛围,今天回头看带着一股冷战的棱角。可也正是那个年代的积累,才有了后来异步 I/O、DMA 这些架构的思路。现在 IBM 还在做技术讲解视频,形式变成了 YouTube 短片,但开发者和布道师们的角色本质上跟 Pearson Wood 没什么区别。
女:从 IBM 的大机器缩回现在,最近有个更迷你的项目你也注意到了吧,叫 Tunecat。
男:对,一个用 Go 写的网络电台服务器,整个项目只有八十八 KB。它从本地文件夹读 Opus 格式的音乐文件,生成连续的流,你直接在浏览器打开就能听,或者用普通的播放器打开流的地址。它还有一个比较老派的功能,可以用 IRC 命令点歌。
女:这还挺 2000 年初的。Shoutcast 和 Icecast 那会儿,很多人就是一边用 IRC 聊天一边点歌。
男:评论区有人提到,那时候还有人专门给 LAN 派对写局域网文件共享的小工具,因为很多朋友虽然是软件工程师,但已经忘了怎么手动设 IP。这种极简的工具好像又悄悄地把使用门槛拉回到最原始的样子——不需要注册账号,不需要社交功能,只需要一个流的链接。
女:最后我们再聊一个跟视觉有点关系的话题吧。参与过《细胞分裂》和《孤岛惊魂 2》的设计师 Clint Hocking,最近在一个播客里说,现代照追现实的渲染技术,反而让潜行游戏更难做了。
男:他的意思是,老旧游戏用烘焙好的静态光照,亮和暗一刀切,玩家一眼就知道哪里安全。现在引擎加了全局光照和漫反射,阴影变得软绵绵的,甚至原本应该是黑的地方被环境光一“漂白”,你就很难读清哪里是真暗,哪里只是美术上的半影。
女:这挺像那个说法:逼真不等于可读性强。以前的《神偷》那种有个光宝石,明暗程度直接量化出来,跟 UI 一样清楚。现在如果追求电影画质,那种提示界面就变得很突兀。
男:当然也有玩家不买账,认为问题不在技术,在美术方向。像《合金装备 V》虽然用了基于物理的渲染,但它改用敌人的肢体语言、被发现的音效来提示玩家,不再只依赖视觉上的光影深浅。Arkane 的《羞辱》则干脆放弃了光影判定,转向基于遮挡的潜行设计。
女:说明不是技术把路堵死了,而是设计必须有意地选一条不同的路。其实真实世界里,你根本没法像山姆·费舍尔那样藏在阴影里就能完全隐形。潜行游戏从一开始就依赖一点设计上的“虚假”。
男:对,承认这个虚假就是游戏机制的一部分。
女:好,那我们今天真的聊了不少,从 AI 数据中心的地图,到开发者的功能标志,小商户的拒付困境,到 LAN 派对的猫线味,再到 AI 带来的身份焦虑,老 IBM 的图板,极简的网络电台,还有潜行游戏的光影。谢谢阿哲。
男:谢谢莓莓,也谢谢大家听到这里。
女:如果喜欢我们的节目,可以在泛用型播客客户端订阅 Agili 的 Hacker Podcast,这样就不会错过更新。我们下期见。
男:下期见。
参考链接
- Erin Brockovich made a map to track data centers around the country
- Cloudflare Flagship
- Stripe is friendly to “friendly fraud”
- The Forgotten Art of the LAN Party (2023)
- Where does next-token prediction leave us?
- From Rust to Ruby
- Tunecat: Simple Internet Radio
- IBM Confidential: System/360 File Organization [video]
- The just-say-no engineer was a ZIRP phenomenon
- Splinter Cell veteran says realistic modern lighting has screwed up stealth game
