回到所有文章

我不會寫程式。我用 Claude Code 六個月蓋出一個活的世界

我不會寫程式。六個月、五千多次修改之後,我還是不會。我會的,是幾乎每天晚上坐下來,用我所能做到最精確的方式,描述一個我想讓它存在的世界。剩下的事,由一個叫 Claude Code 的 AI 工具完成。那個世界現在叫 BeMatrx:九十座城市、選舉、一套會運轉的經濟、十二種語言。全部加起來,花了我大約 1,100 美元,還有大部分的夜晚。這是這一切如何發生的老實版本,包括一切都壞掉的那個晚上。

說故事的人是誰

我叫 Sezgin,住在土耳其安塔利亞。直到去年,我沒開過終端機,沒上過一堂資訊科學的課,還真心以為「repository」大概是銀行在用的詞。講這些不是為了討喜。這是起跑線,而起跑線正是整件事的重點:下面發生的一切,都是在我沒有學會寫程式的情況下發生的。

不過有一件事我一直很擅長,只是從來沒把它當成一種能力:我可以把一件事描述到不可能被誤解為止。成年人的工作生活大半本來就是這樣——你說清楚「完成」長什麼樣子,成果回來了,你指出差距,它再出去一趟。從來沒有人告訴我,做軟體大部分也是這麼一回事。原來我缺的,只有打字的那部分。

那股癢

這個想法是以一個放不下的問題出現的:如果你投進一個應用程式的時間會留下點什麼,那個應用程式用起來會是什麼感覺?一份真的會往前走的職涯。一段因為你們都持續出現而越來越深的友誼。一座在地球另一端、慢慢變成你的城市。我想要在晚上關掉螢幕的時候,手上留有這個晚上的成果。真的沒有比這更複雜。

我沒有團隊,沒有任何一家新創會承認的預算,也完全沒有能力自己動手做。我有的,是一幅清晰得可疑的畫面,知道自己要什麼;還有一個越來越強烈的直覺:那幅畫面,才是最難的部分。

遇見 Claude Code

一個朋友幾乎是當閒聊般跟我提起 Claude Code。他說,那是 Anthropic 的程式代理工具,人們跟它講話,它就把東西做出來。我當時認定是誇大,因為大部分含有「AI」的句子都是。然後某天晚上我打開它,像對設計師交代那樣描述了一個歡迎畫面,看著它出現在眼前。而且能動。接著它用平白的句子解釋自己做了什麼,像個裝潢師傅,帶你走一遍他剛完工的房間。

有兩件事到現在還是讓我驚訝,而我已經有六個月可以習慣它們了。第一,它從來沒有讓我覺得自己很蠢。我問過資料庫是什麼。我問過資料實際上放在哪裡。我在凌晨兩點問過,刪掉一個檔案危不危險。每一次,我得到的都是直接的回答,而不是一聲嘆氣。第二件事更重要:它會反駁。當我提出一個三個星期後會悄悄弄壞整個世界的要求,它會說出來,並且用我真的能聽懂的話解釋為什麼。我付過顧問很多錢,換到的誠實少得多。

一個晚上實際的樣子

流程從來不是「先學寫程式,再開始蓋」。而是描述、看結果、修正、重來。廚房的桌子、放涼的茶,手機靠著碗立著,方便我在真機上測試。這是早期的一段對話,幾乎一字不差:

我:有人打開城市地圖的時候,感覺應該像抵達一個地方,而不是像網頁在載入。讓畫面出現之前,先留一口呼吸。

Claude Code:把它做出來,然後用平白的語言解釋改了什麼、為什麼改。

我:接近了。但網路慢的時候,那個停頓會讓人以為當掉了。先馬上給一點生命跡象,只延遲揭曉的那一刻。

幾個月後,對話跟著這個世界一起長大了。選舉大概就是這樣誕生的:

我:我想讓一座城市可以選出自己的市長。真實的選票、真實的任期,還有一個卸任之後依然跟著你的真實頭銜。

Claude Code:提出可行的做法,先堵住重複投票這個明顯的漏洞,然後問了三個我答不出來的問題:落選的候選人怎麼辦?沒有人參選怎麼辦?一屆任期應該多長?

請再讀一次第二段對話。這個工具問出的產品問題,比我這個做產品的人問的還要好。這種事一再發生,直到我不再驚訝,開始把它當成理所當然:不管我九點端上桌的是什麼,到了十點,對話已經把它磨利了。

還有,沒有,我從來沒讀過那些程式碼。一次也沒有,真的沒有。我讀的是結果,我爭論的是行為,然後繼續往前走。大家覺得這是整個故事裡最難相信的部分。它也是裡面最真的一句話。

一切都壞掉的那個晚上

有一個晚上,我到現在還會想起。一個小時前在我手機上跑得好好的更新,在朋友的手機上打不開。該出現城市的地方,只有一片白。我不知道什麼是 stack trace,甚至不知道這個問題該叫什麼名字。所以我做了唯一會做的事:把症狀當成人命關天的事來描述。我按了什麼。我預期看到什麼。我實際看到什麼。哪一支手機、幾點鐘、那天改過什麼。

這樣就夠了。不是因為運氣好,而是因為精確地描述症狀是一種真實的能力,而它可以從普通的工作生活,直接搬進做軟體這件事。你不需要知道烤箱為什麼壞了,也能一五一十說出轉動旋鈕時發生什麼事。我們找到了問題,修好了它;我也帶走了那條塑造了整個專案後半段的規則:我不必看懂機器內部。我必須對「哪裡不對」和「修好長什麼樣」寸步不讓。

第一次覺得它是真的

讓我真正相信這件事的時刻,不是上線,也不是什麼里程碑。它小得多。一個我從沒見過的人打開了應用程式,選了一座自己從沒去過的城市,然後給住在那裡的一個陌生人送出了第一則訊息。我即時看著這一切發生,感覺腳下的地面輕輕動了一下。這已經不是我的應用程式了。它是一個地方,而剛剛有人搬了進來。

花了多少錢

大家總是想知道數字,那就直說:六個月加起來,大約 1,100 美元。其中差不多一半付給了 Claude Code 本身;我可以坦白講,它在第一個星期就不再讓我覺得貴了——大概就在我拿它跟一個外包開發團隊一星期的報價比較的那一刻。其餘的是隨著世界一起長大的雲端主機和資料庫、每個應用程式都逃不掉的 Apple 和 Google 開發者帳號——不管背後是四十位工程師,還是一個守在廚房桌邊的固執男人——再加上網域、信箱和一小堆零碎開銷,就是大家問「做一個應用程式到底要花多少錢」時,永遠忘記算進去的那些。

不是免費,也不是小錢。但一年前的我會非常有把握地告訴你:我想做的那個東西,需要一個我永遠請不起的團隊。

如果我們正在喝咖啡

你大概會問我到底學到了什麼。那我就用隔著桌子聊天的方式回答,而不是像在放簡報。

你不需要讀得懂程式碼,也能對一個產品進行嚴謹的思考。你需要的是確切知道自己要什麼,而且說得出為什麼——這個能力從來沒有被鎖在資訊科學的學位後面。精確每一次都贏過術語;我從頭到尾沒有一次需要某個 bug 的正確技術名稱,需要的只是對發生了什麼的正確描述。前進贏過完美,因為那個小小的、有點不對勁、但真的上線了的版本,教你的東西比那個不存在的完美版本多。而最難的部分從來不是工具,是說不。我每拒絕一個功能,留下來的那些就更像一個地方,更不像一排按鈕的選單。

大概在第四個月的某一天,我發現自己不再說「我在試的那個東西」,開始說「我在蓋的那個世界」。原來六個月,剛剛好長到讓你不再把一件事叫做實驗。

最後一句,說給一群特定的讀者聽。如果 Anthropic 有任何人讀到這裡:在你們的紀錄檔某處,有一個男人在凌晨兩點問刪掉一個檔案危不危險。謝謝你們做了一個溫柔回答他的工具,也謝謝你們讓「我不會寫程式」變成一個句子的開頭,而不是結尾。

如果你是第一次來

BeMatrx 是一個活的世界,不是一道動態牆。這裡沒有演算法決定你看到什麼,而那是一個決定,不是一個疏忽。你挑一座城市、一份職涯、一個版本的自己,然後和真實的人一起,活出你選擇的生活。大門正在一點一點打開,而這個部落格,就是我會持續說實話的地方——關於蓋這個世界到底是什麼感覺。

別錯過下一篇

BeMatrx 的大門正在一點一點打開。留下你的電子郵件,輪到你的時候我們會通知你——有像這樣的新文章上線時也是。