Linux 是完美的作業系統嗎?NetworkChuck 專訪 DHH:Omarchy、Quattro 與 AI Agent 工作流【完整逐字稿】
從 Windows 90 分鐘到一分鐘安裝:DHH 的開場
你安裝了 Windows,上面完全沒有你想要的應用程式,所有東西都得用你的小滑鼠重新下載。你得去這個網站、下載這個軟體、點擊安裝程式,然後乾坐在那裡等……這到底在搞什麼?拿一台全新的 Windows 電腦來說,從我拆開包裝開始,整整花了一個半小時在跑各種更新、驅動程式更新、這個那個的更新。我不想每次設定一台電腦都要組裝一整盒樂高,我希望整台電腦在一分鐘內全部搞定、外觀精美,而且隨時可以開工。在過去這一年裡,我真的投入了大概 3,000 個小時,就是為了解決這個問題,把這個系統打造成極致。
AI 是否改變了「冷靜工作」的原則?
首先我得承認一件事。我知道這個專案,也聽過你這個人,但我原本沒意識到我其實早就對你非常熟悉了。因為我在 2023 年去日本的時候讀了《主管不要再瘋狂加班了》(It Doesn't Have to be Crazy at Work),那本書對我影響超大。我當時就直接寫信給團隊說:「我們要改變一切,我們以後要非常冷靜、從容,這一定會超讚。」結果呢?有變得從容冷靜嗎?
AI 把這一切給毀了。
所以我其實很好奇——我們很快就會聊到這個系統——但我很好奇你在書裡寫的那些原則,AI 有沒有對你的想法產生改變?順便問一下,大家都稱呼你 David 還是 DHH?
叫我 David 就可以,David 挺好的。
太棒了。所以從那本書之後,AI 算是打破了那個體系嗎?
AI Agent 長期可能讓工作重新變得冷靜
嗯,我確實認為對很多人來說,AI 創造了一種前所未有的緊迫感和機會成本意識。這導致了一種普遍的氛圍,覺得整個世界和工作節奏都在全面加速。我認為其中某些部分是正向且充滿活力的,但我也認為大家絕對有可能走得太極端。而且我認為目前的步調是不可持續的,我也不認為它應該一直維持這樣。
從長期發展軌跡來看,隨著 AI Agent(智慧代理)獲得越來越多的自主權,這其實是非常有利於「冷靜工作環境」的。你應該要能達到這樣一個境界:Agent 幫你承擔大量繁瑣沉重的苦力工作、處理所有日常雜事,然後把所有需要你專注決策的事項打包在特定的時間區塊裡讓你處理;在你沒有工作的時候,它們應該要繼續運作。我知道我們目前還沒走到那一步,但至少這是我對 Agent 未來抱持的正向願景,而且我認為這理所當然該朝這個方向發展。
不過,我可能也沒預料到圍繞著 AI 和 Agent 會爆發出如此巨大的關注、緊迫感甚至近乎狂熱的浪潮。我自己現在也深切感受到了這一點。所以感覺我們目前正處在一場衝刺之中,但最終我們還是得放慢腳步。
沒錯,感覺就像是一場永無止境的衝刺,我已經衝刺了大概整整一年了。而且很有趣的是,我們今天之所以會坐在這裡聊天,是因為我昨天開始使用 Herder。我剛才聽到你那邊有鈴聲響起,我知道有對話剛送進來……
它正在你跟我聊天的同時幫你幹活,我覺得這太酷了。
DHH 的 Linux 系統是什麼?
那麼,我們來聊聊這個 Linux 系統吧。因為我平常並不是把 Linux 當作主力作業系統,但我一直很想嘗試。我們等下可以聊聊為什麼我應該換到這個系統,因為我真的很好奇。你能跟我介紹一下這個系統是什麼嗎?
當然。我的發音是唸作 Omachi,不過你要怎麼唸都可以,我其實不太介意。
謝謝你糾正我。我知道這跟日文有關對吧?源自「Omakase(無菜單料理)」?
你知道這很有趣,因為我過去一直都唸 omocas,但我現在突然想到,日文裡好像有另一種發音。所以我可能在過去整整 20 年裡都把 omakase 的發音給唸錯了。日本人當然都太客氣禮貌了,就算我把他們的語言發音唸得一塌糊塗,他們也從來不會糾正我。不過在這個 Linux 發行版上,我就叫它 Omachi。
從 macOS 轉向 Linux
簡單來說,它是一個預先配置好、為特定電腦精心打造的 Linux 發行版。這代表什麼呢?基本上是我大約兩年半前轉向 Linux 的成果。我的意思是,我在伺服器端跑 Linux 已經有 20 年的經驗了,但我個人在桌機端一直都是使用 macOS,從 2001 年左右算起,我在 Mac 上待了 20 多年。後來,我想我和蘋果之間算是漸行漸遠了,我們對電腦的期許變得不同、專注的核心方向也產生了分歧。蘋果往他們的路線走,而我意識到:「不行,這樣行不通了,我需要全新的東西、不同的體驗。」
Ubuntu 之後,找到 Arch Linux、Hyprland 與 QuickShell
於是我開始研究 Linux。一開始我選了 Ubuntu,就像每個第一天踏入 Linux 世界的人一樣。它是最主流、最安全、最穩定的發行版;它可能沒有最新的一切,甚至沒有你想要的所有功能,但它非常知名。我在 Ubuntu 上花了一段時間,我覺得就它本身的目標而言,它做得很好;但它並不是在做我真正想做的事——我真正想要的是打造出一個完美的作業系統。
一直到我發現了 Hyprland,並透過 Hyprland 接觸到了 Arch Linux,然後又加上這套架構最新引入的 QuickShell,我才終於意識到:這就是我能夠用來打造完美作業系統的基石。
Arch Linux 是出了名極簡的 Linux 安裝。在很長一段時間裡,它甚至背負著「安裝極度困難」的名聲,因為你必須自己敲一堆指令手動安裝。幾年前他們推出了 Archinstall,讓安裝過程簡單了許多,但它依然非常純粹原始——基本上只有 Linux 本身、一個叫 Pac-Man 的套件管理器,以及一種「所有東西都該由你自己 DIY 設定」的文化觀念。
Arch Linux:從最空白的基礎開始
諷刺的是,如果要把它當作我心目中完美作業系統的終點站,那它反而距離我的目標最為遙遠。因為我不想每次設定一台電腦都要重新組裝一整盒樂高積木。我希望整套系統能在一分鐘之內全部搞定、外觀精緻,並且隨時可以開始工作。我說的一分鐘,是字面意義上的一分鐘。
一分鐘?好吧!
這代表著我們最近剛突破的一個目標:在現代快速的電腦上,你可以在不到一分鐘內安裝完畢。
我一定要測測看,因為我們等著瞧,我會拿計時器盯著你看。
你真的應該測測看。目前我在真實實體電腦(不是虛擬機)上記錄到最快的時間是 56 秒,是在搭載 Panther Lake 晶片的 Framework 13 Pro 上跑出來的。
一分鐘安裝的目標
但正是 Arch 這種空無一物的起點,給了我最好的制高點,去實現我心目中完美作業系統的願景。於是我開始以此為基礎進行建構,接著採用了 Hyprland 這個平鋪式視窗管理器(Tiling Window Manager)。這是一個很有趣的理念:你根本不應該用滑鼠把視窗拖來拖去。用滑鼠拖動視窗基本上是我們從 80 年代以來桌上型電腦的主流模式。雖然 Windows 比較晚才跟上,但全錄帕羅奧多研究中心(Xerox PARC)開創了這種操作方式,而且大多數人這輩子使用電腦從頭到尾都是這麼操作的。
Hyprland:鍵盤導向的平鋪式視窗管理
平鋪式視窗管理器做的事情截然不同。它會自動在你的桌面上排列好視窗,讓所有內容一覽無遺、永遠不會互相重疊;而你只需要透過鍵盤就能在各個視窗之間切換焦點、重新排列。如果你習慣了用滑鼠拖著小視窗到處跑,這種方式會讓你覺得非常陌生;但一旦你掌握了訣竅,它就像超能力一樣。那感覺就像在你背上綁了一具噴射背包,你在鍵盤前的生產力瞬間直衝雲霄。
最後,在我們最新版本的發行版(我們稱之為 Quattro,本週即將發布)中,我們加入了一個全新元件——QuickShell。它就像是一塊具有高度延展性的膠水或黏土,我們可以藉此塑造你所互動的整體界面外觀。所有的選單、面板、工作列、圖示,所有的一切全部都是用 QuickShell 打造的。
Quattro 與 QuickShell:塑造整套操作介面
將這三者結合——Arch Linux、Hyprland 以及 QuickShell——讓我得以將這個系統打造成極致的結晶,融合了美學、生產力以及我對電腦的所有熱愛。特別是最近這幾個月,我們全面擁抱了 AI 與 Agent。我們現在能用電腦做全新的事情,跟機器展開完全自由延展的互動。我在這個安裝套件裡提供給你的,其實只是一個起點。
一套能被使用者與 AI 自由塑造的作業系統
你可以站在跟我完全相同的層級去微調這個作業系統。這裡不存在那種二元階級——以前在 Apple 或 Windows 上,是他們打造出真正的系統底層,而你只能嘗試在周圍拼湊、外掛你自己的小工具,外觀看起來永遠次人一等,因為蘋果掌控著所有內部專有 API。但在這裡完全不是這樣,我們大家都在同一個層次上。
我會負責提供基礎配置,它開箱即用就包含了開發者或電腦愛好者想看到的一切:所有的 Agent 調用環境、所有安裝配置,所有東西全部就緒。終端機看起來極具質感,所有的佈景主題都深度整合,所以當你把主題從 Tokyo Night 切換到其他風格時,整個系統的視覺效果會一氣呵成。
但同時它也是一場 DIY 的冒險,你可以自己打造出完全全新的應用程式。我們內建了許多開發技能(Skills),可以直接用 Qt 後端啟動 C++ 應用程式。你能利用極少的時間去修改 QuickShell 外殼,成果令人驚嘆——你可以加入自己的面板、自訂圖示、日曆,還有所有你想得到的元件;當然也可以自訂主題、色彩和所有細節。
我覺得這一切加總起來,創造出了一種極為嶄新的電腦使用與互動方式。這正是我個人整整等待了 40 年的體驗。我從 1984 年拿到第一台電腦開始使用至今,我一直在等待這一刻的到來:一台真正完全屬於我自己的電腦,如果它有任何設計或功能不符合我的精確要求,我隨時隨地都能修改。如今我們終於做到了,我超級興奮能把它分享給大家。
你讓我整個人超級興奮,這是我很久沒聽過最棒的推銷了!我現在恨不得立刻在手邊裝起來,一分鐘搞定!
不過你剛才說的一句話讓我忍不住想:「等等,他剛剛是說有提供給各種 Agent 環境的 Skills 嗎?」我想到的是像 Hermes、OpenClaw、Claude Code 等等,你有提供技能可以直接存取 QuickShell 並隨心所欲修改作業系統?
沒錯!
太神了。
plugins.com 就是社群資源庫,上面已經有很多人打造了這些外掛。Quattro(基於 QuickShell 構建的新版本)甚至都還沒正式推出,我今天早上看的時候,上面就已經有大概 75 個外掛被製作出來了;昨天才 40 個而已。所以成長速度非常驚人。
全面擁抱 AI Agent 的 Linux 發行版
因為這種「可以透過 AI 和 Agent 隨意揉捏、客製化成自己喜歡樣貌的電腦」願景,吸引力實在太強大了。而且我認為這一旦進入市場,我們是 100% 全力投入的。這也是我們當前所處的一個有趣時刻:傳統的 Linux 社群對 AI 充其量是持觀望態度,最壞的情況甚至是非常排斥 AI。
沒錯。
我覺得這完全沒問題,我不會要求每個人都必須像我一樣對 AI 或 Agent 感到興奮,這很正常。但在 Linux 陣營裡,我們也需要有人真正對 AI 充滿熱情、全力投入 Agent。這就是我們這個發行版的定位,我們是 100% 擁抱它的。
AI 與 Agent 成為系統本身的一部分
因為我打造這個系統是為了我自己、為了我的生產力、為了我的電腦操作體驗。在 37signals 開發軟體、改進 Basecamp、打磨 HEY 的整個過程,已經完全被這個 Agent 時代徹底重塑了。所以我不可能去打造一個沒有全力投入 AI 的作業系統,因為我本身就是全面投入的,我必須打造出一款能體現這種理念的系統,而 Quattro 百分之百做到了。
我覺得它在這一點上是非常獨特的。舉例來說,我今天早上才剛剛加入的一個功能:如果在系統中有任何應用程式當機崩潰,畫面上會彈出一個小視窗說:「Nautilus 當機了,點擊使用 AI 進行診斷。」你點擊那個小提示,我們有一個診斷應用程式當機的 Skill,它會加載到你慣用的 Agent 環境中——無論你是用 Pi、AMP、Claude Code 還是 OpenCode 等等——它會啟動並載入該 Skill,抓取當機的相關日誌與資訊,並開始分析診斷。
應用程式崩潰後,由 AI 診斷、回報 Bug,再變成 PR
更厲害的還在後頭:診斷完畢後,它會自動載入另一個回報問題的 Skill,並分析:「這到底是這個系統本身的問題嗎?你是不是發現了系統的 Bug?」如果是的話,它會引導步驟、檢查使用者是否設定了 GitHub CLI(我們在剛裝好系統時就會引導大家設定),然後在經過你允許的情況下,直接把這份包含所有詳細資訊的 Bug 回報提交到我們 GitHub 的倉庫中。所有的工作全部由 Agent 代勞:它去釐清問題究竟出在哪裡、是你電腦的個案還是系統本身的 Bug;如果確認是系統問題,它會幫你準備好錯誤報告並提交。
最棒的部分是,當我們收到這些錯誤報告後,我那邊會有另一個 Agent 進行審查;如果成功重現問題,Agent 就會直接把它轉成 Pull Request(PR)。這就是我們如何在新時代裡實現超光速迭代作業系統本身的方法。光是在過去這三個月開發 Quattro 的期間,我個人就合併了超過 1,000 個 Pull Request。
我的天啊!
在大約 90 天內搞定,相當於平均一天大概要合併 13 個 PR,某些日子我甚至可能一天就合併了 50 到 100 個 PR。
好的,所以我們的電腦能用 Skills 進行自我診斷、提交錯誤報告,最終還會變成 PR。那我們距離徹底去中心化還有多遠?也就是說,我們只要按個開關,AI 就會自己提出程式碼修改、完成撰寫,而你那邊只需要點個核准?
其實這件事已經在發生了。不過在全面自動化之前,我還是想要謹慎一點。但在一些非核心的系統上,我已經開始在某種程度上實現自動化了。
我上週做了一件非常有趣的事(最近這幾天過得太緊湊,日子都混在一起了):我讓 AI 去將一個叫「terminal text effects」的 Python 函式庫改寫。這是一個非常酷的函式庫,我們拿它來製作系統的螢幕保護程式。不知道你有沒有看過,那是一個 ASCII 風格的螢幕保護程式,帶有非常漂亮的色彩與復古懷舊字體,真的很炫。
讓 AI 把 Python 函式庫重寫成 Rust
但它是用 Python 寫的,這意味著它有一堆相依套件,而且速度不是頂快。這代表如果你在筆電上跑那個螢幕保護程式,它會是一場考驗筆電風扇的嚴苛測試,因為 CPU 使用率會飆高、風扇會狂轉。你可能會想:「這真的有差嗎?」我不知道這有沒有差,但我覺得:「我們何不做得更好一點?」
於是我讓 AI 把這個 Python 函式庫重寫成純 Rust 的單一執行檔。它運算了大概 45 分鐘,產出了一個像素級完美復刻的 Rust 版本。最初版本速度就快了 10 倍,只有一個 3MB 的執行檔,而且你的風扇再也不會狂轉了,因為速度快了 10 倍、CPU 佔用率降到了十分之一。接著我又跑了一輪自動化研究讓它自我最佳化,最後得到的執行檔比原本的 Python 版本快了整整 27 倍,啟動時間從 86 毫秒縮短到只要 2 毫秒!
現在這個專案已經處於自動化維護狀態。昨天我看到這個專案有兩個待處理的 PR,我直接跟我的 Agent 說:「嘿,去看一下那兩個 PR,如果你覺得沒問題,就修整一下程式碼、確認符合我們的風格標準,然後合併進去、發布新版本並推送到倉庫,完成後通知我一聲就好。」唰的一下就完成了!0.3.1 版就這樣發布了,它在 GitHub 上打了 Tag、寫好了 Release Notes、推送了二進位檔案,隨時可用。
我會對所有事情都這樣做嗎?當然不會。那個專案只是一個視覺效果函式庫,就算壞了,頂多就是螢幕保護程式的顏色偏綠或偏藍而已,沒什麼大不了的。但我認為隨著時間進展,很多領域都會達到這種境界,我們會開始信任 AI 來自動化處理大量事物。
當然,這並非毫無風險。任何看過 OpenAI 最新資安展示影片的人——他們詳細展示了開發中的模型如何逃逸出沙盒並執行一堆操作——都會心想:「好吧,或許我們現在還不能把所有權限都交給它。」但我希望在這個系統上走在最前線,我想要全力擁抱它,探討我們能將這條路推進到多遠。Agent 正在重寫開發者以及所有人對軟體的認知:軟體到底是什麼?變更如何發生?我們如何製造軟體?誰有權限創造軟體?誰有權限修改軟體?我們理應擁有一款作業系統與發行版,能夠對那些想要一窺未來模樣的人說:「來試試這個吧。」
這套 Linux 是為誰打造的?
那你會說這個發行版是為誰打造的?你目前的目標用戶是誰?
任何已經深愛自己電腦的人,或者對「愛上自己的電腦」感興趣的人。
我覺得「愛」這個概念其實是一個很好的篩選門檻,因為它甚至不包含所有的程式設計師。我這輩子見過很多程式設計師其實根本談不上喜歡電腦,他們只是因為這是一份工作而感到些許無奈;當電腦不聽話時,他們會覺得很煩躁。我覺得這個系統不適合他們。
重度鍵盤導向:易學性與可用性的取捨
同樣地,這個系統也不適合那些根本不在乎電腦、不想花任何時間去學習電腦底層運作的人。舉例來說,這個發行版是毫不掩飾的「重度鍵盤導向」,它的設計本意基本上就是完全由鍵盤來驅動。所有功能都可以透過快捷鍵觸發,所有東西都能點擊,除了滾動網頁之外,你幾乎不需要去碰滑鼠。當然,它依然支援滑鼠操作,但大多數作業系統的設計思維是相反的:它們以滑鼠為中心出發,然後說:「好吧,我想你也可以加減用一下鍵盤。」而我們是反過來的,我們以鍵盤為根本,然後說:「當然,如果你想用滑鼠也是可以的。」
所以這需要投入學習成本。它需要你記住一些快捷鍵、需要一點練習,它不會是一拿上手就能憑直覺全盤掌握的。因為絕大多數作業系統理所當然地把「易學性(Learnability)」放在第一位——一開始容易上手嗎?我需要先具備任何知識嗎?不需要?太好了,那大家都能摸索出來。但這意味著它們必須死守所有人早就熟悉的舊模式,在介面變革上不敢越雷池一步。
而我則是走向另一個極端:「不,我們要為『可用性(Usability)』做到極致最佳化。」就算花個幾天時間重新熟悉你的電腦,那也完全值得。這是一套為專家設計的電腦系統——我指的專家,是那些全心全意熱愛電腦、願意投入時間精力去鑽研工具運作原理,並從這份投入中享受巨大回報的專業人士。
如果用這種思維來設計,那麼當你打開一個視窗時,右上角沒有一個顯眼的關閉按鈕,這完全沒關係。這就是我痛恨的事情之一:自古以來每個作業系統的視窗右上角都有的那三個小按鈕。在我們這裡完全沒有那些東西。你只要學會按下 Super 鍵(也就是 Windows 鍵或 Command 鍵)加 W 就能關閉視窗。你只要記住這一次,以後就再也不用拿著你的笨滑鼠去瞄準角落那個小小的叉叉了,直接敲一下 Super+W,視窗瞬間關閉。
這就是一種取捨。如果有人不願意學習鍵盤操作,他一開機就會問:「我要怎麼關閉視窗?」我會說:「你學一下 Super+W 嘛,這又不難。」但這確實需要一點學習成本,需要適應與轉變。
「毫不妥協地做 Linux」而不是模仿 Windows 或 macOS
這也是這個發行版背後的核心理念之一:我不希望這個 Linux 系統變成廉價仿冒版的 Windows,或者是山寨低配版的 macOS。我希望它能展現毫不妥協的純粹 Linux 風範。
但我這樣說是有但書的。傳統上有一種 Linux 刻板印象:那是屬於滿臉大鬍子、口袋插著筆套的極客世界,完全缺乏美感與色彩協調。而我們正是要站在這個基礎之上——底層是由過去 30 多年來無數頂尖怪傑寫出的 4,000 萬行硬派程式碼,令人讚嘆;如果沒有他們的奉獻,今天這一切都不可能實現。但在這個強大的底層之上,我們要鋪上一層絕美的設計感。因為 Linux 根本不需要長得那麼醜,字型渲染不需要那麼糟糕,視窗排版和顏色搭配也不該搞得像色盲做出來的一樣。我們完全可以把它們整合得美輪美奐,賦予它宛如駭客電影般迷人的美學質感!
這是我一直以來夢寐以求的。以前每次看《駭客任務》之類的酷炫電影,看到主角操作電腦的畫面,我心裡總會想:「為什麼我的電腦不能長成那樣?為什麼那種帥氣的介面只能出現在電影裡?」後來我想:「等等,我們明明可以把它做出來啊!我們可以做出一個跟電影裡一樣酷炫的作業系統!」好吧,也許稍微收斂個 20%,好讓它依然具備實用性。但這就是我們的核心精髓:融合這些要素。
用快捷鍵取代視窗按鈕與 Dock
這代表它開起來不會像 macOS,外觀也不會像 Windows。我完全沒有要保留那些東西,這裡沒有底部工作列、沒有 Dock 欄。你有一個應用程式啟動器,但你很少會用到它,因為絕大多數常用軟體都綁定了快速鍵。例如:
* 按下 Super + Enter:啟動終端機。
* 按下 Super + Shift + Enter:啟動瀏覽器。
在當今數位世界中,這就是兩大核心基石:終端機與瀏覽器,佔了我們日常工作的 80%。
我們還有很多其他快捷鍵:Super + Shift + M 打開音樂播放器,Super + Shift + X 直接啟動 X(Twitter)的 Web 應用。一旦你熟悉了這些鍵位,你想開啟的任何軟體都只需要按一個鍵。
將這一點與平鋪式視窗管理器結合——系統會自動幫你優雅排版,你不需要手動拖曳任何視窗。這感覺就像直接進入超光速推進一樣。你會覺得:「天啊,我以前到底為什麼要騎著三輪車在小小的電腦世界裡慢慢踩?現在我坐進了千年鷹號,直接跳躍進超空間,衝吧!」
我真的太熱愛這種感覺了。電腦本來就該是這麼令人熱血沸騰的工具。我想要成為那種在機場工作時,旁邊的人看到螢幕會忍不住驚呼:「這傢伙是在駭進機場系統嗎?他在幹嘛?」的人。我跟你保證,如果你跑這個系統,在機場打開電腦,讓螢幕保護程式跑起來,或者開幾個終端機視窗,畫面看起來絕對就是那樣,大家一定會看著你心想:「那到底是什麼神仙系統?」
為什麼一定要把完整安裝壓到一分鐘?
我完全能理解!因為像 Arch Linux,我會覺得:「聽起來很酷,美化桌面(Ricing)也很有趣,但我根本沒那個閒工夫去折騰。」這就是為什麼我一直留在 Ubuntu。所以你這個系統就像是:「我們已經幫你把系統全部美化調校好了,直接拿去爽吧!」
沒錯,完全就是這樣!在過去這一年裡,我真的投入了大概 3,000 個小時,就是為了把這套系統打磨到極致。不是因為我想一直折騰這些,恰恰相反,正是因為我「不想」一直重複折騰!我想一次性把這筆心力投入進去,然後有一天我能坐在山丘上的小屋裡退休,只用著我這個完美的系統。
哈哈,你才不可能退休呢!
我要把系統做到完美,讓那些只想要一台超酷電腦的人——它不採用 Windows 的運作邏輯,也不像 macOS,外觀比兩者好看一百萬倍——在短短一分鐘之內就能開箱即用。一分鐘!
Windows 90 分鐘、Mac 42 分鐘與 Quattro 30 秒
這是讓我極度著迷的一點。我最近買了兩台新電腦,一台 Mac,一台 Windows。
首先是那台 Windows 電腦,從我拆開包裝開始,整整過了一個半小時它才把所有的系統更新、驅動程式更新以及亂七八糟的東西跑完。我當下心想:「這是一台剛買的全新電腦耶!從拆封到能用,到底憑什麼要花上該死的 90 分鐘?」而且裝完之後根本還不能直接幹活!你安裝完 Windows,上面根本沒有你要用的軟體,所有東西都得用你的小滑鼠重新下載:去這個網站、下載安裝包、點擊安裝精靈,然後乾坐在那裡乾等……電腦的使用體驗真的不該是這種鬼樣子。
然後我想:「好吧,至少蘋果應該把這塊搞定了吧。」於是我買了一台新的 MacBook,因為我想跑 Adobe Lightroom,我想說買台專用設備來跑,而且我也想見識一下蘋果最新的 M 系列晶片。即便我不把 Mac 當主力系統,但我熱愛各種類型的電腦。結果我打開那台機器——我沒在跟你開玩笑——我拿碼錶計時,整整花了 42 分鐘才把所有更新跑完!這簡直太瘋狂了,直接從工廠寄出來的新機,居然是以這種完全無法立刻使用的狀態交到消費者手上。也許剛好是我運氣不好,機器出廠配送的時候剛好撞上系統大改版,但我不管,42 分鐘就是不合理。
所以在我們這個系統上,我們在大量 Agent 的協助下持續最佳化了數週,思考著如何將安裝流程壓縮到人類極限。最後的成果就是:他媽的只要一分鐘!這是全新完整安裝的時間。如果你是從前一個版本升級到最新的 Quattro 版本,在網路順暢的情況下,大概只要 30 秒。
想想看:42 分鐘對比 30 秒!
這兩者做的事情完全一樣嗎?當然不完全一樣。蘋果和微軟必須考慮無數我根本不需要管的歷史包袱,他們有成千上萬人的 QA 測試團隊去捕捉各種冷門的邊界案例,而每一次的修補妥協都會讓安裝時間多拖慢一分鐘。這我完全承認,我並沒有自大到認為我在這裡做的事情跟他們的規模完全相同。但我想要表達的是:對於熱愛電腦的人來說,現在有一款作業系統可以在一分鐘內安裝完畢。如果他們在某些冷門硬體上遇到問題,我們修復它就好,或者讓 Agent 幫我們修復。
但這是絕對辦得到的!我們不必逆來順受地接受這種現狀——現在這些電腦的運算速度,比當年把人類送上月球的電腦快了幾萬億倍,憑什麼從開箱到能用還要乾等 42 分鐘?這毫無道理!這些電腦快得不可思議,它們帶給使用者的感受也應該要快得不可思議!
DHH 使用的硬體:Dell XPS、Framework 與 Panther Lake
天啊,我超級期待親自體驗看看!因為時間差不多了,我最後只問兩個問題:
第一個是硬體。你目前是用什麼硬體來跑這個系統?
我主要用 Dell XPS 筆電,我很喜歡 Dell。不過老實說現在有很多很棒的筆電,有陣子我很難挑到滿意的。這台是 Dell XPS 16,真的很棒。這台 16 吋的筆電,我基本上用兩根手指就能把它拎起來,非常輕便。這是我目前最喜歡的機器。
另外 Framework 也很棒,我以前也用過一陣子,像 Framework 13 Pro 也是台好機器。
最關鍵的一點在於:如果你現在要買一台新的筆記型電腦,一定要買搭載 Intel Panther Lake 晶片的款式。這是一個重大的轉捩點,讓 Intel 陣營實現了巨大的躍進。Intel 終於在能耗比上追平了蘋果,而在全效能輸出方面,大致落在了 M3 到 M4 之間的水平;單核心大概在 M3 左右,多核心則有 M5 的水準。
蘋果的晶片依然非常優秀,但不再像兩年前那樣——以前是蘋果獨霸一方,其他所有人在效能與能耗上都被遠遠甩在幾萬億英里之外。所以只要搭載 Panther Lake 晶片的機器都很優秀。我個人特別偏愛 Dell XPS,因為做工品質非常驚艷,他們採用串聯式 OLED(Tandem OLED)螢幕,畫質極度震撼。你就算把一台高階 MacBook 擺在它旁邊對比,也會忍不住驚呼:這種串聯式螢幕真的太強了,色彩飽和通透,非常討喜。但如果你偏好 DIY 自己動手維修更換零件的風格,Framework 也是很棒的選擇。
Dell XPS 的無網格全平整鍵盤
XPS 的鍵盤手感如何?
這正是 Dell XPS 的特點之一:它採用了一種無網格(Zero-lattice)全平整鍵盤。這是一個很有趣的設計,也是我喜歡它的地方之一。它外觀有點像 MacBook,但鍵盤表面是完全平整的。一開始確實需要習慣一下,我大概適應了一個禮拜才真正上手,但現在我很喜歡。而且它有個好處:當你把筆電塞進背包裡、裡面還有其他東西擠壓時,傳統鍵盤鍵帽比較凸出,螢幕很容易被壓出鍵盤印;而這種完全平整的鍵盤大幅減少了這個問題。
DHH 現在怎麼用 AI Agent 寫程式?
第二個問題,你可以盡量簡短回答,雖然這話題隨便聊都能聊上四個小時:
你現在的 AI Agent 開發環境(Harness)是怎麼搭配的?你目前是怎麼用 AI 寫程式的?
這套工作流一直在變,因為每種工具我都想嘗試,所以我幾乎是同時混用所有工具。
Herder 取代 tmux
如果說到「此時此刻」我用的工具:
我用 Herder 取代了傳統的 tmux。Herder 本質上就像是專門為 Agent 感知而設計的 tmux。我們錄影剛開始時聽到的那一聲叮咚提示音就是 Herder 發出來的,在管理 Agent 上非常好用。
Claude、Codex、Pi 與 OpenCode 混合使用
至於 Agent Harness,我同時混用好幾款:
* 我直接使用 Claude 的原生終端環境,因為我有訂閱,而且目前授權條款對其他第三方工具整合有限制。不過 Claude 本身就非常優秀。
* 如果是用 OpenAI,我就用 Codex 原生工具。
* 如果是用開源模型(例如 Qwen 2.5 等等),我就會用 Pi 或 OpenCode。
hdl:把 Claude、Codex、Neovim 與終端機排成指揮中心
我會在系統裡把它們全部組合起來。例如系統內建了快捷縮寫指令 `hdl`(Herder Development Layout 開發版面配置)。你在終端機敲 `hdl [Agent名稱]`,例如我設定 `cx` 代表開啟全自動免確認權限的 Claude,`cy` 代表開啟免確認權限的 Codex(Codex YOLO 模式)。當我兩個一起啟動時,中央主視窗會開我的 Neovim,上方是 Claude,正下方是 Codex,最底下是一個常規終端機,側邊則是 Herder 的 Agent 控制導航列。你還可以隨時開啟更多這樣的版面。
從單機走向多機 Agent 協同作業
這直接變成了一個指揮中心,而且這還只是在單一台機器上的配置。
我最近更著迷的是「多機協同作業」。我用了一款叫做 GL.iNet Comet 的硬體 KVM 設備,架設了好幾台額外的 PC 電腦。這種 KVM 能透過瀏覽器遠端操控機器,並且能完美擷取所有的鍵盤指令——包含 Super 鍵等全套快捷鍵。這解決了我以前用其他軟體 KVM 最大的痛點:無法完整傳遞所有鍵盤操作。
接著我透過 Herder 連線到這些機器。Herder 支援遠端模式(d-remote),你可以在另一台機器上啟動 Herder,操作起來就跟本地終端完全一樣。這樣一來,我可以同時在四台實體機器上運作,意味著可以有海量的 Agent 同時並行幫我幹活。這就是我們如何在三個月內完成 1,000 個 PR 的祕訣!
這最終打造出了一種「戰情指揮中心」般的體驗:我手上拿著筆電處理一部分工作,而大量繁重的編譯與建構任務則交給機櫃或儲藏室裡掛著 Comet 的幾台 PC 跑,我只要透過 Tailscale 內網隨時隨地遠端控制它們。
訪談結尾
哇,這資訊量真的太大了!考慮到時間關係,雖然我很想繼續追問,但今天就先聊到這裡。這聽起來真的太棒了。David,非常感謝你跟我們分享你的熱情,我整個人都被推坑了,我現在有功課要做了!
一定要試試 Quattro,無論如何我們這週一定會正式發布。目前已經有公開測試版可以下載,表現已經非常穩定,許多人已經跑了幾個月了;候選發布版(RC)預計今天就會釋出,正式版很快就會跟大家見面。
太棒了,我超級期待!順便問一下,你平時喝咖啡嗎?
其實我不喝咖啡。我確實喜歡攝取咖啡因,但我通常是喝抹茶或是紅牛(Red Bull)。
了解!那我不會寄咖啡給你,不過如果你不介意的話,我會寄一些我們的品牌周邊給你。非常感謝你抽空受訪,我知道你還得趕著回去開發 Quattro,我就不耽誤你的時間了,讓你趕快去把它完成!
好的,我這就去收尾把它完成,弄好後我們隨時再來多聊聊,謝謝你。
太棒了,謝謝 David,保重囉!
保重!
