我喜歡動手做東西:這讓我感到快樂。學習和發現事物緊隨其後,但動手做更有成就感。

由於我並不擅長實際動手做東西,所以在我這裡,「建造」的樂趣主要來自於編寫軟體。軟體是從無到有創造出令人滿意且有用之物的最簡單方法之一。

長期以來,我一直知道,在某個層面上,動手做帶給我多少快樂。[1] 但這在我最近做的兩個業餘軟體專案中才真正體會到。它們都是我拼湊出來的簡單 Python 爬蟲,能做一些我渴望已久且有用的事情。(連結、連結。)它們相當基礎,卻帶給我極大的非理性喜悅。這是我多年來寫程式最快樂的時光。[2]

然後,[請播放《大白鯊》主題曲] 人工智慧來了。

和幾乎所有人一樣,我一直在謹慎地實驗 AI 輔助編碼。我們已經過了可以輕易駁斥 AI 是「愚蠢」(儘管它確實如此)或「實際上並不能讓我更有效率」的階段。因此,我以經典的「護城河與堡壘」策略,一邊假裝不在乎,一邊退縮:AI 編碼的樂趣較少。

這似乎有違直覺,因為 AI 輔助編碼「一開始」絕對令人興奮。

重構 AI 輔助編碼的軟體?就不令人興奮了。

我不會像有些人那樣聲稱,AI 輔助編碼無法帶來實際動手建造東西的樂趣。因為它確實能帶來一部分。

我認為,推動 AI 輔助編碼普及的一個因素是,它在專案和職涯層面上都「預先載入了樂趣」。

如果我有個想法,通常能以很小的努力快速得到一個可行的原型。即時的多巴胺!

同樣地,沒有程式設計經驗的人也能「編寫」一個應用程式,而且它很可能有效。即時的多巴胺!

我個人有一項政策,反對預先載入樂趣。所以,我不喜歡這樣,就像我不喜歡為我沒做過的工作領薪水、負債,以及那種別人今天為我做工作,明天我再為他們做工作的安排一樣。

我認為,在建造某樣東西時,有幾個不同的樂趣/滿足感的來源:

1. 動手做的樂趣

2. 解決問題的樂趣

3. 學習新事物的樂趣

4. 創造出有用的東西的樂趣

5. 創造出美麗或優雅的東西的樂趣

6. 完成工作的樂趣

AI 輔助編碼,總的來說,可以給你 1、2 和 6。但 3、4 和 5 並非 AI 輔助編碼的自然結果。

我能夠,也確實,用 AI 建造了我以前從未能夠,或從未想過要建造的東西。大多數情況下,這是因為花費數週時間手工建造它並不值得,但如果我能在幾分鐘或幾天內完成,那就值得了。

我一次性製作了一個「是否已經提交到 Hacker News」的書籤工具(HN?),基於 Taylor Troesh 在 HN 討論區的片段。它給了我顯著的滿足感,解決了我的一個問題,我經常在我的 Wallabag 收藏頁面上使用它。

在很短的時間內,我用 AI 輔助編碼製作了「派對市場」,這是一個預測市場模擬派對遊戲,用於配合關於預測市場的閃電講座,並在講座期間即時運行了一個關於「我會講多久」的市場。它將一個枯燥乏味的講座變成了頂級娛樂。程式碼很糟糕,而且充滿錯誤,但如果手寫,我不可能在那麼短的時間內完成它。這不是 AI 和手寫之間的選擇:這是 AI 和完全不做之間的選擇。

當我認識的一位消防隊長準備在一個連 Nvidia 顯示卡型號或 Xeon 處理器型號/世代都沒說明的「AI 設備」上投入過多資金時,我使用 Lumo 的免費方案,在兩個下午的時段內,用 AI 輔助編碼製作了一個基於 Pyronear 的功能性野火預警系統,該系統在即時的影像饋送上運行在我的筆記型電腦上,並能在輸入的點火影像的第一幀偵測到煙霧。

我製作了一個基於瀏覽器的 Kobo 資料庫遷移助手(連結),以便不熟悉 SQLite 的使用者能將他們的書籍和註釋轉移到新裝置。

當我與聲樂教練的課程取消時,我製作了我一直想要的即時音準訓練應用程式——這個應用程式我已經計畫了將來建造大約十年了。

在大多數這些情況下,我對結果非常滿意,但這個過程不像我寫那些簡單爬蟲那樣有趣。當然,手寫軟體開發並非總是充滿樂趣。我的第一個 Golang 專案,在很長一段時間內,在有截止日期的情況下,被認證為「非常不有趣」。第一次嘗試編寫,比如,二十行 Rust 程式碼時與 Rust 編譯器搏鬥,也是「非常不有趣」。但從長遠來看,這是「第二類樂趣」,因為它給了我成就感,以及「我做到了!」的輝煌感覺(而且,下次會更容易)。

我嘗試了各種方法,從在 llama-server 上運行本地模型,到從免費、無需註冊的服務(Phind、Lumo 等)複製貼上單次腳本,再到使用全功能的遠端伺服器 Clod Masterpiece 200™ 全包方案,並帶有自訂的自動批准掛鉤,這些掛鉤非常接近——危險地繞過了權限——開發演算法交易模型。

結果都一樣:它很「有效率」,但我討厭它給我的感覺,也討厭輸出的品質。它讓我感到愚蠢和多餘(有時甚至因為使用它而感到骯髒),卻沒有贏得我的尊重。

「多巴胺」這個詞讓我想到了:AI 輔助編碼有點像一系列的初次約會或一夜情。你不會與專案建立關係:你感受不到那種溫暖的感覺、催產素、依戀。只追求多巴胺的生活的問題在於,刺激會隨著重複而變得遲鈍。

另一種看待方式是:AI 輔助編碼在您和現實之間引入了一個層。我屬於那種普遍認為,親身體驗的現實更有趣的人。

Vibecoding 就像是一家你幾乎無法控制的大公司的執行長。你從來不覺得自己真正了解發生了什麼,而且總有被破壞和偷懶的嫌疑。事物似乎完整地出現,但卻不完全是你想像的那樣。有時它們有效,有時它們無效,而你卻無能為力,只能往黑盒子裡投入更多金錢,並更大聲地喊叫。所以這就是你所做的。

這篇文章是用藍墨水在燭光下構思的。AI 甚至不被允許更正我的錯字:請細細品味。

AI 輔助編碼不如手寫程式有趣AI 輔助編碼不如手寫程式有趣AI 輔助編碼不如手寫程式有趣AI 輔助編碼不如手寫程式有趣AI 輔助編碼不如手寫程式有趣AI 輔助編碼不如手寫程式有趣