跳至內容

純粹好心情

當一個念頭到實際成品之間的距離突然縮短時,會湧現一種獨特的感覺。前一分鐘,某件事還躺在腦海中那個標示為 改天。接下來,它是即時的、經過測試的、改進的,而且離優秀出奇地近。不完美。不是最終版。但它是真實的。

那種感覺就是氛圍。

許多人聽到「AI」和「vibe coding」時,腦海中浮現的仍然是某種不嚴肅的事物:某人在聊天機器人中許願,得到一團亂麻,然後宣稱未來已經到來。這種畫面很有趣,但完全抓錯了重點。

真正的承諾並不是工程會消失,而是構想、實作、回饋與修改之間的循環變得如此短,讓動力不再中途熄火。

這改變的不僅僅是編程。它改變了誰能夠建構、修復、交付並理解複雜的事物。

對我來說,這才是氛圍生活真正的承諾。

這不是要取代建造者。這是要消除你能想像的事物與你實際能實現的事物之間的空檔。

good-vibes-only.png
Codex 剛剛更新為「萬能」應用程式

氛圍不是「不做工程」。氛圍是壓縮後的迭代。

人們忽略的就是這個部分。

氛圍程式設計不只是把願望打進終端機,再指望機器意外發明出本事。它是更緊密的合作循環。你仍需要判斷力、仍需要品味,仍得注意主視覺動畫何時無聊、分析事件何時重複觸發、AI 何時不該自動接通語音,或你要的戰鬥機何時看起來更像飛船,而不是戰機。

氛圍不代表沒有工藝。氛圍是壓縮後的迭代。

你持續參與創作循環。模型承擔大量實作工作。你掌舵、評論、重新引導並精修。魔法就在這裡:不是放棄創作主導權,而是在保有主導權的同時,大幅提升推進速度。

一旦你感覺到那個迴圈契合到位,就很難再回頭了。

我透過氛圍編碼將這個網站創造了出來

當我用 OpenAI 的 Codex 重建這個網站時,這一切才真正變得具體。

我沒有把Codex當成聊天機器人來用。我更把它當成一個擁有無限耐心的快速技術合作夥伴。我用簡單易懂的英文給予它方向、品味和限制。它將其轉化為我們可以立即測試的運作程式碼。不是某一天。不是在經歷三週的設定煎熬之後。就是現在。

在少數討論串中,這變成了重建 moebis.com 擺脫舊的 Ghost 設定,進入 React、Vite、TypeScript 堆疊,轉移文章和標籤,新增帶有編輯和上傳功能的管理介面,調整頁面動畫,修復 Google Analytics 重複計算問題,建立「與 Moebis 聊天」互動視窗,並連接一個將文章、頁面和社交內容彙整到原始 context.md 與聊天機器人壓縮記憶檔案中的上下文管線。

還有一些有趣的東西。1942 專案不再感覺像是一個佔位符實驗,而是開始像一個真正的街機遊戲。

這不是玩具展示。這是一個正在出貨的專案。

過去看待這類重建的方式是: 我或許該空出一個月,清空行程,重新沉浸在堆疊的每一層中,然後我可能就會開始了。 新的方式是: 讓我開一段對話,定下方向,然後開始做決定。

這種轉變很重要。

因為好點子的最大殺手很少是能力不足。而是摩擦力。是上下文切換。是開始行動時的心智稅。Vibe coding 降低了這種稅負,讓更多點子得以跨越終點線。

我透過氛圍編碼讓我的NAS起死回生

事情到了這裡,才真正值得學習。

大多數人聽到「氛圍編程」(vibe coding) 時,會認為這代表著在一個下午就能拼湊出一個小應用程式。而我拿到的是一個更混亂的版本:使用 Codex 作為副駕駛來修復我實際的家庭基礎設施。

Home Assistant 過去運行在 TrueNAS虛擬機器內部,因為 HomeKit 需要 mDNS。那個輕微的困擾演變成了一場完整的家庭實驗室手術:Docker 網路、Zigbee USB 直通、Cloudflare 通道、過時的 Home Assistant 登錄檔、SMART 錯誤、ZFS 快取詭異之處,以及一台脾氣非常古怪的 LG 空調。

換句話說,就是正常的家庭實驗室行為。

Codex 真正有用的地方,不只在於它能寫程式片段或 shell 命令,而是在我一次鑽研一個層次時,它仍能緊盯整個問題。我們把 Home Assistant 從虛擬機遷移到擁有獨立區域網路 IP 的 TrueNAS 自訂應用程式,把 SkyConnect Zigbee 接收器映射進容器,還原 Home Assistant 真正依賴的隱藏 .storage 狀態,修好 Cloudflare 通道,讓它指向容器服務,而不再假裝那是一般區域網路主機,並清掉舊的 HACS、SmartThinQ 和 hassio 殘留物;這些東西,使用者介面根本不可能自行清楚解開。

最能揭示問題的是,答案往往並不是「Docker 壞了」。

一旦遷移穩定下來,剩下的問題恰恰是那種讓業餘實驗室(homelabs)如此具有教育意義又如此荒謬的現實世界胡鬧:一台老化的 LG 設備斷開 Wi-Fi,路由器重啟改變了剛好足以惹惱脆弱客戶端的無線電行為,一個網頁按鈕消失的 Plex 應用程式(儘管服務本身運作正常),以及一個 NVMe 磁碟機在試圖扮演可靠快取設備的同時通不過 SMART 自我測試。

Codex 有助於將容器問題與網路問題區分開來,並將網路問題與硬體問題區分開來。當你在對一台逐漸累積了各種職責(就像不知怎地變成作業系統的车庫架子)的 NAS 進行偵錯時,這基本上就是全部的關鍵。

這是我最感興趣的氛圍程式設計版本。不是「向 AI 要程式碼,然後祈禱」,而是當你做真正的系統工作時,有個快速、有耐心、技術深厚的第二大腦。它既是橡皮鴨,也是研究助理,還是熟悉 shell 的隊友。

這不是噱頭。這是槓桿。

我以思考的速度對Atlas進行了氛圍編碼

用 Codex 建置 Atlas 教了我另一件事:最好的 AI 協作感覺不像是某個巨大的英雄式提示詞。它感覺就像是拔除了延遲的產品開發。

其中一個討論串是有關於讓傳送按鈕在淺色模式下感覺對勁。另一個則是關於將 Omni 聊天記錄與應用程式的其他部分分離。其他主題則處理了 markdown 渲染、Podcast 工作階段復原、以詞彙表驅動的上下文、語音行為,以及最終在逐字稿內由 CopilotKit 驅動的工具。

這才是真正的產品成長方式。不是透過單一戲劇性的發明行為,而是透過成千上萬個非常具體的決定、逆轉、改進和修復。

這就是此處「氛圍程式設計」的樣貌。不是魔法。也不是「人工智慧取代了工程學」。更像是在注意到某個問題與將其釋出之間,形成了一個更緊密的迴圈。

我可以說:「把麥克風移回輸入端旁邊」、「除非真的有使用,否則不要記錄音調變更」,或是「讓每場對話都能使用詞彙表術語」,而Codex就能透過React元件、狀態流、伺服器邏輯和Netlify functions落實這些要求,且不會失去脈絡。

最後一部分很重要。

因為耀眼的功能開發只完成了一半的工作。那些不起眼的工作才是防止產品在自身動量下崩潰的關鍵。TypeScript 遷移。測試增長。重構。Hook 提取。工作階段持續性修正。更新日誌維護。這些乏味、必要且通常與有趣事物競爭卻總是落敗的結構性工作。

Codex 在那裡也很有用。

Atlas 同時在演進和變得更乾淨。這就是健康速度的樣貌。快不一定代表脆弱。 vibe coding 只有在速度與足夠的結構相結合以保持持續交付時才真正有效。

這就是為什麼我總是回到同一個結論:模型不是神諭。它是協作者。我依然提供判斷力、優先順序與品味。而 Codex 則帶來了速度、上下文保留,以及當靈感浮現時,孜孜不倦地打磨實作細節的耐心。

結果並不是「AI 幫我把應用程式做好了」。

它更接近於這樣:我留在了創作迴圈中,而且這個迴圈快到讓人感覺像是在以思考的速度進行建構。

我透過氛圍編碼完成了我的報稅表,這或許是最好的展示

這裡有個情節轉折:Vibe 程式碼的最佳示範之一,與推出應用程式毫無關係。

那是稅金。

我讓Codex讀取一個裝滿薪資單、經紀人對帳單、1099表、季度估算稅款確認單以及海外就業文件檔案夾,基本上對它說:幫我把這堆亂七八糟的資料變成一份結構化的報稅表。

接下來發生的事,感覺不像自動完成,而像有個耐心無窮的操作員坐在身旁,讀完每份 PDF、核對數字、檢查規則,慢慢把一堆混亂文件整理成可用的工作底稿。

這就是為什麼整篇「隨興編碼(vibe coding)只適用於玩具應用程式」的批評會不攻自破。

真正的魔法,出現在生活中那些無聊、阻力大、文件又多的環節。那些沒人想開始處理的地方,複雜性散落在檔案、表單、假設與邊界情況之間,而光是把整個問題在工作記憶中維持得夠久,好讓事情有進展,就已經成功了一半。

整個過程始終像對話一樣自然流暢,底層工作卻很有條理。先辨識文件,再把海外薪資和美國自營收入分開,接著追查股票計畫的賣出交易,再找出季度預繳稅款,最後確認外國稅額抵免、海外勞動所得免稅額,或社會安全協定是否相關。

氛圍很隨興,帳務可不是。

這種區別很重要。高風險的工作仍然需要審查。判斷力依然重要。但 Codex 為我提供了一個更好的判斷基礎。它保留了一份持續的工作底稿,浮現出它所做的假設,顯示出估算的堅實之處與仍然暫定的部分,並區分了那些會改變稅單的事項與僅僅改變申報的事項。

這比人們意識到的要重大得多。

因為 AI 的用處不只在於它能幫你發明新事物。它在幫你為混亂建立秩序時同樣很有用。

有時候,模型能做最強大的事情,就是將一個巨大、含糊不清的爛攤子轉化為一系列可以理解的下一步。

這才是真正恍然大悟的時刻

頓悟的那一刻,並不是「哇,AI 會寫程式」。

就是這樣:許多過去感覺被時間、技術開銷或純粹混亂所阻礙的工作,現在突然間都觸手可及了。

瓶頸已經轉移了。

長期以來,問題是:「我有執行這項任務的確切技能嗎?」越來越好的一個問題是:「我能描述我想要的內容、檢查返回的結果,並將其引導至好的方向嗎?」

這是一項更容易獲得的技能組合。

這件事的重要性不在新奇,而在槓桿。AI 把槓桿從熟記每條語法規則的人,重新分配給能清楚界定問題、判斷輸出並聰明迭代的人。

你不必是世界上最優秀的工程師,也能從中受益。你需要品味、好奇心、願意迭代的心態,以及足夠的判斷力,知道什麼時候東西出了錯、不完整、有風險,或不好看。

換句話說,開車時你得保持清醒。

這用一句話總結了氛圍程式設計的生活:人類的意圖,機力的動能。

一旦你開始以這種方式看待 AI,其效用就會迅速擴展。

這不只是為了應用程式。這是為了基礎設施。這是為了研究。這是為了營運。這是為了文書工作。這是為了維護。這是為了那些已經擱置了幾個月、半途而廢的副業專案。這是為了那些沒有人寫主題演講,但每個人實際上都在經歷的奇怪週二難題。

這就是為什麼這很重要。

不是因為 AI 把每個人都變成了魔術師。而是因为它賦予了普通建構者、修補匠、營運商和好奇的人們極大的自主性。

它讓更多人能夠開始。

它讓更多人能夠繼續下去。

它讓更多人能夠完成。

純粹好心情

所以不,氛圍編程(vibe coding)並不是要放棄嚴謹性,靠著一團自動生成的樂觀情緒在生活中飄浮。

它是關於以一種動能勝過恐懼的方式工作。在這種方式中,創意不會在等待完美條件時死去。破碎的系統變得可以解決。「我總有一天該做那件事」與「我已經把它推出去了」之間的距離不斷縮短。

AI 並沒有讓我停止成為建造者。

它讓建造者更難陷入停滯。

這就是為什麼我對「氛圍程式設計」抱持樂觀態度。這就是為什麼我認為應該有更多人給自己嘗試它的許可。這也是為什麼未來感覺更像是放大而非取代。

展現品味。

展現判斷力。

帶上古怪的點子、損壞的 NAS、半成品的產品、一堆報稅表,以及六個月來一直默默輕拍你肩膀的東西。

然後就動起來。

現在,機器跟得上了。

純粹好心情。


繼續探索

Instagram