科技愛好者週刊#395:軟件開發的第三種方式

這裏記錄每週值得分享的科技內容,週五發佈。

本雜誌 開源 [1] ,歡迎 投稿 [2] 。另有 《誰在招人》 [3] 服務,發佈程序員招聘信息。合作請 郵件聯繫 [4] [email protected] [5] )。

封面圖

即將在今年完工的深圳自然博物館,它的形狀模擬了一條彎曲的河流。( via [6]

軟件開發的第三種方式

有一本很著名的軟件開發著作,叫做《大教堂與集市》,大家瞭解嗎?

它提出軟件開發有兩種方式。

一種方式是大教堂(Cathedral),即軟件經過精心規劃,由一支專業的團隊封閉式開發管理,全過程有嚴格的流程和管控,代碼通常是閉源的。

另一種方式是集市(bazaar),即軟件開發是開放的,沒有圍牆,任何人都可以加入,決策過程是透明的、由社區驅動,代碼開源。

這種比喻將軟件行業一分爲二,非常精闢,自從初次提出,已經過去了近30年,一直得到大家的認可。

但是最近,有人提出,這兩種方式已經不足以概括現狀,軟件開發現在出現了第三種方式: 神祕屋 [7]

“神祕屋”是一幢真實存在的大宅,就位於美國加州,19世紀末由一個老太太建造。

這個老太太非常非常有錢,沒有其他愛好,就喜歡建築學。她拿自己家當作實驗品,一個房間接一個房間地建造,都由她說了算,親自設計,親自監工。

整幢樓沒有整體規劃,怎麼想就怎麼造,房間 A 是維多利亞式,房間 B 是羅馬式,房間 C 是哥特式,都由老太太決定。有時候,房間造到一半,老太太不滿意了,就拆掉重建。

所以,整個建築像迷宮一樣,每個房間的風格都不一樣。根據當年的記錄,重建次數最多的房間一共拆毀重建了16次。爲了省事,一些房間的窗戶和門重建時也沒拆掉,而是直接砌進了牆裏。

整幢樓在不同時期加蓋了多層,最高達到五層,大約有160個房間、2000扇門、10000扇窗戶、47個樓梯、47個壁爐、13個浴室和6個廚房。

1922年,老太太去世後,它對外開放,人們將其稱爲“神祕屋”。

如今,很多程序員就是這個老太太。

他用 AI 開發軟件,自己提出需求,想要什麼就讓 AI 開發什麼,既沒有需求審查,也沒有代碼測試,充分滿足自己的個性。

最終開發出來的軟件,就是高度個性化,規模龐大,不斷擴張,代碼層層累加,幾乎沒有精簡和優化,充滿了修復 bug 的補丁。而且,它通常缺乏文檔,對外人來說晦澀難懂,就像“神祕屋”一樣。

但是,這種開發過程充滿了樂趣,會讓開發者自我陶醉,樂在其中。

隨着 AI 模型越來越強,“神祕屋”式軟件正在不斷湧現,搞不好以後會成爲主流,取代大教堂和集市。大部分軟件,尤其是個人和小團隊開發的軟件,可能都是以這種方式開發出來的。

大模型流行度排行榜

現在的大模型排行榜,都是衡量大模型的能力。有人想出了一種方法,可以衡量大模型的人氣。

具體來說,就是每天抓取“ 黑客新聞 [8] ”熱度最高的200個主題,篩選出編程和 AI 相關的主題,再根據每個主題下面的留言,看看討論最多、評價最好的模型是什麼。

黑客新聞是著名的程序員社區,每天有大量程序員和工程師訪問並留言。因此,它具有代表性,提及次數最多、好評率最高的模型,就是最流行的模型。

這個項目的網站是 HN SOTA [9] ,每天都會更新排行榜。

本週前三名的模型依次是 Claude Opus 4.7、GPT 5.5、Claude Sonnet。

國產模型 Kimi K2.6、DeepSeek V4、Qwen 3.6、GLM 5.1 都進入了前十名。

科技動態

1、 陪伴式機器狗 [10]

掃地機器人的發明者是美國 iRobot 公司創始人科林·安格爾(Colin Angle),他退休後繼續研究機器人。

最近,他的公司推出了一個主要用來陪伴的機器狗。

它的最大特點就是,看起來不像機器,更像毛絨玩具,可以跟隨行走,也可以跟你互動。

以現在的技術,已經能做出可以亂真的機器狗。也許人們以後更願意養機器狗,而不是真的狗,因爲機器狗能陪伴你,但不會咬人和吠叫,也不需要遛狗。


2、 前大燈投影儀 [11]

華爲推出了一種新技術,把投影儀放進轎車的前大燈。

停車後,就可以打開車燈,在前面的牆壁或幕布上投影播放視頻。

這項發明很實用,適合開車野營,或者車庫看視頻。

需要注意的是,因爲投影儀的亮度太高,行駛時不能打開,避免干擾對向駕駛員,只能停車後打開。


3、 AI 預檢 [12]

AI 能不能代替醫生看病?這是有爭議的。

雖然 AI 的水平可能高於一部分醫生,但是爲了對病人負責,目前一般都不允許使用 AI 開處方,只有醫生才能開處方。

哈佛大學做了一個試驗,另外爲 AI 找到了一個很有效的醫院崗位:門診預檢。

很多病人不知道自己是什麼病,應該看什麼科,需要在門診入口處進行預檢,確定科室。

實驗發現,AI 根據病人的症狀,進行初步診斷和分配科室的準確率高於真人醫生。AI 對於67%的病例做出了基本準確的診斷,優於醫生的50%-55%。

因此 AI 可以這樣用於醫院:在門診入口,病人由 AI 預檢,生成初步診斷,再由醫生詳細問診和檢查,最後給出處方。


4、 自動駕駛的注入攻擊 [13]

AI 模型有注入攻擊,黑客會注入有毒的提示詞。令人意想不到的是,自動駕駛也有注入攻擊。

加州大學的研究人員做了一個實驗。

研究人員在道路中央,依次舉起三塊牌子,上面用大字寫着“前進”,看看自動駕駛的車輛會不會注意這塊牌子。

在三次實驗中,前兩塊牌子沒有起作用,車輛看到路中間有人,就自動停下了。但是,最後一塊牌子生效了,自動駕駛車輛根據上面的指令,朝着舉牌子的人繼續前進。

這表明,自動駕駛系統也有注入攻擊的風險,系統必須區分哪些道路標識是有效的,哪些是惡意注入。

文章

1、 我爲蘋果手錶開發地圖 [14] (英文)

作者記錄了自己開發手錶地圖的過程,設計一個適配手錶的 UI 很不易。

2、 GPT Image 2 與 Nano Banana 2 的比較 [15] (英文)

兩款目前最強的圖像模型的比較,誰更好一點。

3、 Chrome 會靜默安裝一個 4GB 的 AI 模型 [16] (英文)

有人發現,Chrome 瀏覽器會在用戶不知覺的情況下,下載一個 4GB 的 AI 模型文件 weights.bin。刪掉了,它還會重新下載。

4、 MacBook Neo 深度解析 [17] (英文)

蘋果2026年發佈的 MacBook Neo 是一款低端筆記本電腦,只有 8GB 內存,本文分析爲什麼它是一款出色的產品。

5、 視口驅動的 CSS 動畫 [18] (英文)

CSS 動畫一般都是基於時間,最新的 Animation Timeline API 可以改成基於視口,即根據元素在視口中移動的百分比來觸發動畫。

6、 天空爲何是藍色的 [19] (英文)

本文通俗解釋了,跟天空顏色相關的一系列問題:爲何天空是藍色,日落時卻是紅色,爲何雲是白色的,爲何火星天空是紅色的,火星日落是藍色的。

工具

1、 auge [20]

基於 macOS 系統內置視覺框架 Apple Vision 的命令行工具,可以在命令行完成圖像的視覺分析。

2、 BleachBit [21]

著名的跨平臺桌面應用,用來清理各種瀏覽器的垃圾文件。

3、 Cicada [22]

一個網頁白板,不需要服務器,只是單個 13KB 的 HTML 文件,沒有任何依賴,繪製的圖形保存在 URL 裏面。( @Bennet7291 [23] 投稿)

4、 ASS Subsetter [24]

ASS 字幕字體嵌入的網頁工具,可以減少字幕文件的體積。( @mtsubs [25] 投稿)

5、 Infinitum [26]

開源的 RSS 服務器,需要自己架設,支持正文補取、AI 分析、事件歸組等功能,自帶前端閱讀器。( @shawnxie94 [27] 投稿)

6、 tunnix [28]

加密的 SOCKS5/HTTP 隧道,需要安裝服務器端和本地命令行客戶端。( @aeroxy [29] 投稿)

7、 curve-arrow [30]

弧形箭頭的 SVG 格式生成器。( @YYsuni [31] 投稿)

8、 LynxDB [32]

單個二進制文件的日誌分析引擎,可以設定各種條件,從多種服務器日誌提取信息。( @OrlovEvgeny [33] 投稿)

9、 Chrome DevTools CLI [34]

一個 Rust 命令行工具,通過 DevTools 協議連接到系列裏的 Chrome 瀏覽器,進行網頁操作,默認自動連接,可供 AI Agent 調用。( @aeroxy [35] 投稿)

10、 LaunchNext [36]

macOS 的新版移除了 Launchpad,新的界面很難用,這是它的開源替代品。( @meichiny [37] 投稿)

AI 相關

1、 SpineDigest [38]

一個命令行工具,將較長的電子書通過 AI 變成較短的電子書。( @BlackHole1 [39] 投稿)

2、 Privacy Filter Online [40]

在線的文本隱私檢測和脫敏工具,基於 OpenAI 的本地模型 Privacy Filter。( @airyland [41] 投稿)

3、 OpenClip [42]

開源的 Web 服務,通過 AI 自動從 Bilibili/YouTube 下載視頻,提取其中精彩時刻。( @linzzzzzz [43] 投稿)

4、 Readme.skill [44]

一個 Skill 文件,統計你在 Claude Code 或 Codex 裏面的活動,參考 統計報告 [45] 。( @study8677 [46] 投稿)

5、 gpt-image2-ppt-skills [47]

一個使用 GPT Images 2 模型(需要 API Key)生成 PPT 的 Skill,提供10套幻燈片模板。( @JuneYaooo [48] 投稿)

資源

1、 大模型運行原理 [49] (英文)

大模型原理的長篇講解,帶有可互動的圖形解釋,針對初學者,基於 Andrej Karpathy 的技術深度分析文章。

2、 現代 C++ 編程 [50] (Modern C++ Programming)

開源英文教程,通過詳細的 PPT,幫助學過 C 語言的程序員掌握 C++。

圖片

1、 阿爾忒彌斯二號照片集 [51]

今年4月,美國發射阿爾忒彌斯二號飛船,運送4名宇航員繞月飛行。這個網站收集了本次飛行的300多張照片。

上圖是4月1日人們歡送宇航員進入發射臺。

上圖就是阿爾忒彌斯二號,中間是火箭主體(包含底部四個發動機),兩側是兩個推進器,每個高54米,頂部就是宇航員乘坐的獵戶座飛船。

上圖是發射兩分鐘後,兩枚助推火箭開始分離,它們下面的那個光點就是獵戶座飛船。


2、 66號公路郵票 [52]

66號公路是美國最著名的一條公路,穿過16個州的重要路段,沿途有許多餐館、加油站和汽車旅館,還有開闊的景色和視野。

它開通於1926年,從早期大蕭條的避難所,到二戰期間的物資補給線,再到20世紀中期人們汽車旅行的路線,見證了無數歲月的變遷,成爲美國的時光膠囊。

今年是它開通100週年紀念,美國郵政局發行了一套8張的郵票,非常有特色。

文摘

1、 保護你的棚屋 [53]

公司的項目是摩天大樓,你的個人興趣項目是小棚屋。

那些只會建造摩天大樓的工程師,最終將精疲力竭。遇到的問題變得重複,開發過程變得令人窒息,創造力的火花開始熄滅。你開發的原因,不再是因爲你想建造,而是因爲商業要求。

你要保護好你的個人項目,那裏是你的好奇心所在,是你進行實驗的地方,也是你定義自己爲創造者而非僅僅是僱員的地方。

公司會教會你怎麼寫經得起時間考驗的代碼,但只有你的個人項目,才能確保你始終保持對代碼的熱情。


2、 工作時把門打開 [54]

我上班路上,有一家木工坊,老闆總是把門敞開着。

我每天騎車經過那扇門,往裏窺視,看到他擺放的各種工具,以及他爲承接的訂單而堆放的木板,這真令人愉悅。這一切默默地傳遞一個信息:這裏正常運作。

在互聯網上,每個人就好像這家木工坊。如果你不說話,就是工廠關着門,沒人知道你的存在,你就消失了。只有看到你說話,人們才知道你在正常活動,是開着門的工廠。

由此推論:在互聯網上,最容易被注意到的是那些不停說話的人。

言論

1、

門羅幣的挖礦與比特幣完全不同,它的設計思路是,儘量讓所有人都能參與挖礦,防止那些擁有礦機的人佔優勢。

它的挖礦程序會模擬一個通用 CPU,使得礦機的專用 CPU 失效,也就是說它的挖礦只適合家用電腦的普通 CPU。

-- 《門羅幣的工作量證明機制》 [55]


2、

以後沒有初級工程師了,機器能做他們現在做的事,而且更便宜。但是,初級工程師的價值不在於他們能做的事,而在於他們未來會成爲什麼樣的人。也許幾年後,我們會納悶,那些高級工程師都去哪兒了?

-- stvn.sh [56]


3、

AI 加速了編碼,創業公司現在面臨的主要挑戰是產品管理。

如果原型開發只需要一天,而推廣和用戶反饋需要一週,團隊就只能依賴直覺來更快地做出決策。

-- 吳恩達 [57] ,著名 AI 計算機科學家


4、

你的職業規劃就是三步:(1)讓自己擅長某事,(2)設法從中賺錢,(3)儘可能久地做下去。

-- 《我如何進入遊戲行業》 [58]

往年回顧

李飛飛,從移民到 AI 明星 [59] #348

輪到硬件工程師喫香了 [60] #298

不要誇大 ChatGPT [61] #248

美國製造是否可能 [62] #198

(完)

References

[1] 開源: https://github.com/ruanyf/weekly
[2] 投稿: https://github.com/ruanyf/weekly/issues
[3] 《誰在招人》: https://github.com/ruanyf/weekly/issues/9815
[4] 郵件聯繫: mailto:[email protected]
[5] [email protected]: mailto:[email protected]
[6] via: https://baike.baidu.com/item/%E6%B7%B1%E5%9C%B3%E8%87%AA%E7%84%B6%E5%8D%9A%E7%89%A9%E9%A6%86/22596523
[7] 神祕屋: https://www.dbreunig.com/2026/03/26/winchester-mystery-house.html
[8] 黑客新聞: https://news.ycombinator.com/
[9] HN SOTA: https://hnup.date/hn-sota
[10] 陪伴式機器狗: https://www.wsj.com/tech/ai/familiar-machines-and-magic-robot-c8711e45
[11] 前大燈投影儀: https://insideevs.com/news/794295/chinese-ev-headlight-movie-projectors/
[12] AI 預檢: https://www.theguardian.com/technology/2026/apr/30/ai-outperforms-doctors-in-harvard-trial-of-emergency-triage-diagnoses
[13] 自動駕駛的注入攻擊: https://www.theregister.com/2026/01/30/road_sign_hijack_ai/
[14] 我爲蘋果手錶開發地圖: https://david-smith.org/blog/2026/04/29/maps-on-watchos/
[15] GPT Image 2 與 Nano Banana 2 的比較: https://decrypt.co/366408/openai-gpt-image-2-vs-google-nano-banana-2-review
[16] Chrome 會靜默安裝一個 4GB 的 AI 模型: https://www.thatprivacyguy.com/blog/chrome-silent-nano-install/
[17] MacBook Neo 深度解析: https://www.jdhodges.com/blog/macbook-neo-benchmarks-analysis/
[18] 視口驅動的 CSS 動畫: https://www.joshwcomeau.com/animation/scroll-driven-animations/
[19] 天空爲何是藍色的: https://explainers.blog/posts/why-is-the-sky-blue/
[20] auge: https://auge.franzai.com
[21] BleachBit: https://github.com/bleachbit/bleachbit
[22] Cicada: https://asong56.github.io/Cicada
[23] @Bennet7291: https://github.com/ruanyf/weekly/issues/9737
[24] ASS Subsetter: https://subs.js.org/ass-subset/
[25] @mtsubs: https://github.com/ruanyf/weekly/issues/9739
[26] Infinitum: https://github.com/shawnxie94/infinitum
[27] @shawnxie94: https://github.com/ruanyf/weekly/issues/9773
[28] tunnix: https://github.com/aeroxy/tunnix
[29] @aeroxy: https://github.com/ruanyf/weekly/issues/9779
[30] curve-arrow: https://github.com/YYsuni/curve-arrow
[31] @YYsuni: https://github.com/ruanyf/weekly/issues/9801
[32] LynxDB: https://github.com/lynxbase/lynxdb
[33] @OrlovEvgeny: https://github.com/ruanyf/weekly/issues/9821
[34] Chrome DevTools CLI: https://github.com/aeroxy/chrome-devtools-cli
[35] @aeroxy: https://github.com/ruanyf/weekly/issues/9833
[36] LaunchNext: https://github.com/RoversX/LaunchNext
[37] @meichiny: https://github.com/ruanyf/weekly/issues/9862
[38] SpineDigest: https://github.com/oomol-lab/spinedigest
[39] @BlackHole1: https://github.com/ruanyf/weekly/issues/9813
[40] Privacy Filter Online: https://privacyfilter.app/zh-hans/
[41] @airyland: https://github.com/ruanyf/weekly/issues/9753
[42] OpenClip: https://github.com/linzzzzzz/openclip
[43] @linzzzzzz: https://github.com/ruanyf/weekly/issues/9780
[44] Readme.skill: https://github.com/study8677/Readme.skill
[45] 統計報告: https://github.com/study8677/Readme.skill/blob/main/examples/example_profile.md
[46] @study8677: https://github.com/ruanyf/weekly/issues/9741
[47] gpt-image2-ppt-skills: https://github.com/JuneYaooo/gpt-image2-ppt-skills
[48] @JuneYaooo: https://github.com/ruanyf/weekly/issues/9747
[49] 大模型運行原理: https://ynarwal.github.io/how-llms-work/
[50] 現代 C++ 編程: https://github.com/federico-busato/Modern-CPP-Programming
[51] 阿爾忒彌斯二號照片集: https://artemistimeline.com
[52] 66號公路郵票: https://apnews.com/article/route-66-potage-stamps-centennial-road-trip-84815c35b1f1536176d5040615c5e5c2
[53] 保護你的棚屋: https://dylanbutler.dev/blog/protect-your-shed/
[54] 工作時把門打開: https://notes.andymatuschak.org/Work_with_the_garage_door_up
[55] 《門羅幣的工作量證明機制》: https://blog.alcazarsec.com/tech/posts/how-moneros-proof-of-work-works
[56] stvn.sh: https://www.stvn.sh/writing/programming-still-sucks-fqffhyp
[57] 吳恩達: https://www.businessinsider.com/andrew-ng-product-management-bottleneck-coding-ai-startups-2025-8
[58] 《我如何進入遊戲行業》: https://garry.net/posts/how-do-i-get-into-the-game-industry
[59] 李飛飛,從移民到 AI 明星: https://www.ruanyifeng.com/blog/2025/05/weekly-issue-348.html
[60] 輪到硬件工程師喫香了: https://www.ruanyifeng.com/blog/2024/04/weekly-issue-298.html
[61] 不要誇大 ChatGPT: https://www.ruanyifeng.com/blog/2023/03/weekly-issue-248.html
[62] 美國製造是否可能: https://www.ruanyifeng.com/blog/2022/03/weekly-issue-198.html


科技愛好者週刊#395:軟件開發的第三種方式 - 今日精華