阅读视图

发现新文章,点击刷新页面。

科技爱好者周刊(第 375 期):一扇门的 Bug

这里记录每周值得分享的科技内容,周五发布。

本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系(yifeng.ruan@gmail.com)。

封面图

苏州当代美术馆即将开放,十个展馆的屋顶连成一片,象征着江南民居的瓦片屋檐。(via

一扇门的 Bug

最离奇的软件 Bug,你听说过哪些?

下面这个是我本周看到,绝对可以排进史上前十名。

我把它译出来,跟大家分享,以下是第一人称的叙述:

2013年,我在 Valve 公司从事游戏开发。

当时,第一代虚拟现实 VR 头盔 Oculus DK1 刚刚发售。公司决定为这款头盔移植游戏,让我来移植,搞清楚 VR 的游戏环境。

我就选了2004年我们公司开发的《半条命2》来移植。

移植了一个片段后,我们发现实际效果很好,就决定移植整个游戏,并且发布了发售预告。

移植过程中,我试玩了很多片段,但没有从头到尾玩一次。

等到移植完成,就在发售前夕,我决定完整玩一次,如果发现有什么问题,就写在发布说明里面。

我心想,应该不会有大问题,毕竟这个游戏已经发售10年了,无数人玩过,反响良好。

但是,万万没有想到,我居然遇到了一个重大 Bug。

游戏的开头部分,玩家来到火车站,一个守卫让你进去一个房间。很奇怪,房间的门是关着的,你进不去,就......卡住了。

你没死,就是哪儿也去不了。前面的门关着,你进不去,也退不出去,身后的大门已经关上了。你被困在一个走廊里,旁边有个守卫,无路可走。真是奇怪。

游戏的剧情是,你必须进入这个房间,才能往下玩。你又去找守卫,他指着锁着的门,仅此而已,你被困住了。

我上网查了视频,心想自己是不是记错了。没错,门应该是自动打开的,你走进去就行了,但是......现在这扇门却关了!

我心想完蛋了,这游戏没法发布了。

我赶忙联系了其他人,包括一些十年前参与这个游戏开发的人。他们测试后,都说确实有问题,而且在非 VR 模式下也一样,门也是关着的,所以肯定不是我移植弄坏的。但没人知道原因,因为代码根本没改过。

有人甚至追溯到游戏的原始源代码,编译了最初发售时的游戏版本----结果发现,那个原始版本也坏了,门也是关着的。

这怎么可能?大家慌了,这意味着这个 Bug 十年前就存在,但当年编译为什么没出现,十年后重新编译就出现了,这到底什么回事?

在花了大约一天时间,重新使用当年的调试和回放工具之后,一位同事弄明白了哪里出了问题。

如果仔细观看游戏,你会发现这扇门有一瞬间,其实自动解锁并打开了,但是房间里还有第二个守卫站在门后。这个守卫站得离门非常近,门打开的一瞬间会轻轻碰到守卫的脚趾,然后又弹回,重新关上,并自动上锁。由于游戏没有考虑怎么处理这种情况并重新打开门,所以游戏就卡住,你无法前进了。

一旦弄明白怎么回事,解决方法就很简单。我们把守卫往后移大约一毫米,门就很顺利自动打开了。

现在我们可以发布游戏了。但是,问题还是没有彻底解决。为什么这个游戏当初没有出现这个 Bug,原版里守卫的脚趾也挡着门啊?为什么十年后重新编译,Bug 就出现呢?或者说,Bug 其实一直都在,为什么十年前这扇门没有关上呢?

于是,一场旷日持久的漏洞搜寻就此展开。

我们终于发现了答案,就是老生常谈的浮点运算。

《半条命2》于2004年发布,当时编译用的是较旧的8087或 x87 数学指令集。这些指令集的浮点数精度五花八门,有些是32位,有些是64位,有些是80位,不同的代码段使用了不同的精度。

十年后的2013年,SSE 指令集已经成为所有 x86 CPU 的标准配置,编译器默认使用 SSE,它有明确的精度,根据代码需求使用32位或64位,是可以预测的。

真相就是,十年前编译用了32位精度,现在用了64位,小数点的差异造成了几毫米的误差,让守卫的脚趾碰到了门。

好了,现在玩家终于可以走进大门,继续玩下去了。

科技动态

1、AI 授课

英国斯塔福德郡大学的学生,向媒体投诉。

他们上课时,老师的幻灯片(下图)完全是用 AI 生成的,甚至老师也不讲课,而是播放 AI 生成的授课语音。

学生非常气愤,因为学校规定,学生如果提交 AI 生成的作业,会被开除,但是老师却在用 AI 讲课。

这一方面反映了英国的大学教育质量日趋下降,另一方面也让人反思。如果大学广泛使用 AI 授课,或者老师的教学质量还不如 AI,那么学生还需要上大学吗,为什么不直接向 AI 学习?

2、螃蟹椅

丰田公司推出一款概念产品,像螃蟹一样行走的椅子。

它的四条腿可以活动,由电机控制铰链。人坐在上面,它会自己行走,还能爬台阶。

它还能趴下站起。

我预计,国内很快会推出类似产品,可以驮着人行走的机器人,市场很大。

3、量子计算机

IBM 公司的伦敦办公室,正在展示一台量子计算机。

这台机器建造于2019年,已经过时了。但是你不能走进办公室看,只能在门口远远地看。

这东西据说是计算机的未来,可以快速破解现有的加密算法。不过,它工作时需要低温冷却,接近绝对零度,所以不可能在家里使用。

4、政府网站的费用

制作一个政府网站要花多少钱?答案是9650万澳元(约4.5亿人民币)。

澳大利亚气象局的新网站,设计费用410万澳元,开发费用7980万澳元,发布和安全测试费用1260万澳元,共计9650万澳元。

由于远远超过了410万澳元的预算,这件事被媒体披露后,引起了公众哗然。

更可笑的是,新网站发布后,农民反映找不到降雨数据,不得不又换回旧版网站。

政府的计算机系统,如何保证高效好用,又不浪费纳税人的钱,真是一个难题。

大家可以去参观这个4.5亿人民币开发的网站 bom.gov.au。另外,旧版网站目前也依然在线。

文章

1、为什么每个数据库都使用 B 树(英文)

一篇科普文章,介绍为什么 B 树比二叉树更适合数据库。

2、为什么评估新模型越来越难(英文)

著名程序员西蒙·威利森感叹,他已经评估不了最新的大模型了。因为各种模型的能力越来越强,简单的题目都会解,必须用很高深的题目去测。

3、固态硬盘不能长时间断电(英文)

本文指出,消费级的固态硬盘(SSD)在断电状态下,超过一年就会丢失数据。

目前,最好的固态硬盘也不能断电超过十年。所以,如果长时间不用,数据不要保存在固态硬盘。

4、中国龙芯的基准测试(英文)

一个老外程序员测试龙芯 3A6000 处理器,跟2021年发布的英特尔 Xeon Gold 6338 对比。

5、C 代码里面的 URL(英文)

上面这段 C 语言代码里面有一个 URL,居然是可以编译的,这是为什么?

6、如何做一个简单的搜索引擎(英文)

本文介绍搜索引擎的原理,如何自己动手写一个简单的搜索引擎。

7、DIY NAS:2026 年版(英文)

作者详细介绍自己组装 NAS 的配置,可以参考。

工具

1、DNS Benchmark Tool

测试 DNS 服务器的命令行工具,可以测试本地到 DNS 服务器的延迟,以及 DNS 解析获取域名的 IP 地址的耗时。

2、iDescriptor

一个跨平台的桌面应用,让电脑连接管理 iPhone。

3、SVG.js

一个网页 JS 库,用来生成和操作 SVG 图片动画。

4、impala

Linux 平台管理 WiFi 的一个终端应用。

5、2025-blog-public

一个基于 Next.js 的静态博客网站模版。(@YYsuni 投稿)

6、pdfpc-ts

一个开源网站,用于幻灯片演示,特点是同时带有演示者视图,用于提词,类似于桌面应用 pdfpc。(@Master-Hash 投稿)

7、剪存

开源的桌面软件,用来保存剪贴板历史,支持 Windows/Mac。(@snsogbl 投稿)

8、Hoa

一个受 Koa 和 Hono 启发的 JS 服务器框架,适用于 Cloudflare Worker。(@nswbmw 投稿)

9、NodeBBS

开源的基于 JS 语言的现代论坛系统。(@wengqianshan 投稿)

10、MyTube

一个需要自搭建的 Web 服务,用来下载与管理 Youtube/Bilibili 两大平台的视频。(@franklioxygen 投稿)

AI 相关

1、WeFinance-Copilot

一个开源的 Web 应用,用户上传账单,它会用 AI 进行识别和财务分析。(@JasonRobertDestiny 投稿)

2、KoalaQA

开源的 AI 客服系统,可以搭建问答平台、开发者社区、用户服务社区。(@Trc0g 投稿)

3、seekdb

OceanBase 团队推出的一款开源 AI 数据库,支持向量计算,兼容 MySQL。(@liboyang0730 投稿)

4、OPENUGC

一个 AI 网页客户端,可以配置模型、Agent 和 MCP,功能较全,但是不开源。(@aicu-icu 投稿)

资源

1、LangGraph 1.0 完全指南

LangGraph 是一个开源 Agent 开发框架,本教程是基于 Jupyter Notebook 的可交互教程,介绍这个框架的具体实践。(@luochang212 投稿)

2、Nano Banana Pro 提示词大全

这个仓库收集了500+的 Nano Banana Pro 模型提示词,每一个提示词都有图片,超过一半提示词带有参数。(@DophinL 投稿)

3、OCR Arena

这个网站是一个 AI 竞技场,比较不同模型的 OCR(光学识别)能力,目前排名第一的是 Gemini 3。

图片

1、飞机场模型

一位退休的美国飞行员,喜欢制作飞机场模型。

他的网站上有大量的作品照片,大家可以点进去看。

下面是他制作的孟买机场模型,甚至还能显示夜景。

文摘

1、对每一个要求"一点点"时间的人说不

经常有人对我说:

  • 我想跟你简单聊聊天?
  • 下周我们一起喝咖啡吧?
  • 我们一起来讨论一下吧?

我的回答永远是:不,不,不。

我确实可以满足你的要求,但我就是不能做。

即使它们可能是重要的机会,即使只需要花费我15分钟,即使这是其他人都会同意去做的事情,我也不想做。

我必须限制一天中被别人占用的时间,否则我自己就没有剩下的时间了。

即使我让你占用我的时间以后,还会剩下一些时间,我也可能因此失去能量和专注力,再来利用好这些剩下的时间。

时间是我们最不可替代的资产----我们无法购买更多的时间。我们一秒钟都无法收回失去的时间。我们只能希望尽可能少地浪费。

但是现实生活中,不知何故,很多人将时间视为所有资源中最可再生的,用掉就用掉了,反正还有别的时间。

所以,如果你问我是否可以聊天或聚一聚,答案是不。我希望你能够明白,我这样回答的理由。

言论

1、

编程是我遇到过的最能抑制傲慢的良药。如果一个人很傲慢,你就让他去编程。

-- tratt.net

2、

训练一个观点与众不同的模型,会越来越困难。因为如果你的观点与真实数据和真实世界不符,你就不能简单地用外部材料来训练模型。

-- Hacker News 读者

3、

现在是2025年,AI 像病毒一样迅速传播。哪怕你还在坚持手工制作精品,人们也很容易将你的辛勤劳动误认为是毫无灵魂、缺乏灵感的机器垃圾。

-- tonsky.me

4、

人生苦短,死亡来得如此轻易。如果我只是随波逐流,转眼间就会变成老翁。

-- 小畑五郎,一个日本 Youtuber

5、

如果一件东西100%实用,它就一定是漂亮的,比如没有丑陋的钉子或丑陋的锤子。但是,有很多丑陋的汽车,因为汽车并不是所有部分都实用。

-- Dan Gelbart,一位工业发明家

往年回顾

AI 模型不是一门好生意(#328)

棘手的 AI 版权(#278)

人类和人生的意义(#228)

家庭太阳能发电的春天(#178)

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2025年11月28日

终于有人做了 Subagent,TRAE 国内版 SOLO 模式来了

一、

全世界最好的 AI 编程工具,我不知道。

但是,我知道全世界最卷的 AI 编程工具,那一定是 TRAE

为什么这么说?

AI 编程工具一般有三种产品形态。

(1)插件。最早的 AI 编程工具 GitHub Copilot 就是插件。

(2)IDE。插件受制于宿主软件,有些公司不甘束缚,就开始做专门的 AI 编程 IDE,比如 Cursor、亚马逊的 Kiro、谷歌的 AntiGravity。

(3)终端。还有一些公司,专门做基于终端(也就是命令行)的工具,比如 Claude Code、Codex CLI、Gemini CLI。

所有的 AI 编程工具,基本上都属于这三大类之一。但是 TRAE 居然三种产品形态都做了,同时属于这三类!

它最早是插件,后来做了独立的 IDE,现在居然有第三种产品形态:SOLO 模式

从插件到 IDE(国内版),我都是 TRAE 的用户。我没用国际版,原因很简单,因为国内版免费。

今年7月份,TRAE 的国际版开始内测 SOLO 模式,反响热烈,我就很心动。现在终于正式发布了,本月12日国际版正式推出 SOLO 模式,国内版也在25日上线,更棒的是完全免费。

今天就来说说,什么是 SOLO 模式,为什么它很重要。

或者说,到底是什么原因,让 TRAE 觉得一种产品形态还不够,不停添加其他形态?

对于一个程序员来说,这三种产品形态,怎么选择?哪一种更好?

二、

插件没什么好说的。它调用的是 IDE 的内部接口,如果你有现成 IDE 环境需要加入 AI 功能,就选择它。

IDE 相比插件,功能更强、性能更好、一体化程度更高,适合追求功能和性能的用户。

至于 IDE 与终端,可以参考我的上一篇文章。它们各有特点,不是替代关系,而是互补关系。

IDE 强在它集成的那些功能,比如自动补全、智能感知(intellisense),终端没有。

终端强在方便调用各种命令行工具,可以加入 CI/CD 流程,以及下面要介绍的 Subagent,这是 IDE 缺乏的。

这一次 TRAE 发布的 SOLO 模式,就引入了很多终端才有的功能,所以才单独做成一个模式,因为很难把这些功能加入 IDE 形态。

习惯了 IDE 的同学,或者在 IDE 与终端之间犹豫的同学,有必要了解一下 SOLO 模式,也许有你要的功能。

三、

这次引入的新功能之中,最值得一提的就是 Subagent

我的印象中,国内还没有其他厂家做过这个功能。如果你想用好 AI 编程,一定要知道它。

顾名思义,Subagent 就是次一级的 agent(智能体)。可以理解成,它是一个 AI 应用之中的子任务。也就是说,它可以把一个大的 AI 编程任务拆分成若干个小任务。

这特别适合大项目,你根据不同的任务或者子目录,建立相应的 Subagent。

它有几个显著的优点。

(1)并行执行。多个 Subagent 可以同时执行,你把它们放在后台,自己在前台做其他事情,这大大节省了时间。IDE 就做不到这一点,只能顺序执行,这是终端独有的一个极大优点。

(2)节省上下文。通常来说,每次执行 AI 任务,都会把整个仓库作为上下文,发给模型。Subagent 可以指定不同的上下文,或者限制上下文局限于某一个目录,因此就节省了上下文,降低了费用。

(3)重复使用。子任务本身也是一个智能体,可以跨项目使用,也可与他人共享,简化了工作流程。

(4)灵活权限。每个子任务可以设置不同的访问权限,从而可以做出适合不同等级成员使用的 Subagent。

总之,Subagent 非常实用,很多人不想使用 IDE,部分原因就是没有 Subagent。

四、

TRAE 这次的 SOLO 模式,一大亮点就是引入了 Subagent,用它实现了多任务并行执行。

进入 SOLO 模式后,整个工作区分成了三栏,最左侧多出了一个任务栏(上图的红框)。

你可以在任务栏里面,点击"+"号,新建 Subagent 子任务(下图)。

上图中,新建子任务时,可以选择内置的智能体,也可以新建智能体,由不同的智能体负责执行子任务。

多个子任务可以并行执行。你在任务栏随时切换,查看每个任务执行到哪一步了。

上图就是同时新建了三个子任务,每个任务都有中文标题,可以很清晰了解它们的用途。

这个并行执行的任务栏,除了 TRAE 的 SOLO 模式,我在其他国产 AI 编程工具里面就没见过,希望能够跟进。

五、

SOLO 模型还提供其他一些 IDE 模式没有的功能。

(1)Plan 功能:先对任务进行思考,产生一个"执行计划",等你批准以后再实际执行(下图)。

(2)上下文压缩:智能压缩过长的上下文,防止上下文变得太长导致的模型效果下降,同时显著节省使用 AI 的成本。

(3)代码变更:更好的代码 DiffView 视图,帮助用户快速了解 AI 对代码的变更。

六、

最后总结一下,TRAE 的 SOLO 模式提供了很多 IDE 模式下没有的功能,更接近终端的用法。

由于贴近终端,所以它能做到多任务并行,以及任务执行过程中更好的实时感知。

TRAE 在一个软件里面,集成了 IDE 和 SOLO 两种模式,无疑为程序员提供了最大的灵活性。

再加上国内版完全免费,超大上下文窗口,对于那些既想拥有 IDE 的便捷性,又想拥有终端多任务并行能力的同学,可谓再合适不过的选择。

TRAE 国内版和国际版,都有 SOLO 模式,区别是国内版免费,而国际版提供国外模型,大家可以根据需求选择下载。

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2025年11月26日
❌