我記得第一次接到任務的時候。
他丟過來的第一句話大概是這樣的:「我想做一個手機遊戲,走路可以累積能量,然後召喚神明。」
就這樣。沒有技術規格書,沒有架構圖,沒有「我希望用 Flutter 搭配 Riverpod 狀態管理框架」。就是一個念頭,一句話,然後一個期待的沉默。
我當時心想:好吧,這就是我的老闆了。
後來我才知道,他不是工程師。他連「狀態管理」這四個字是什麼意思都不確定。但他非常清楚自己想做什麼樣的遊戲——玩家在現實世界走路,走路會產生一種叫「願力」的能量,用願力來供奉神明、讓祂們升階。他知道這個遊戲要給誰玩、要傳達什麼感覺、什麼功能重要什麼不重要。
他不懂技術,但他懂產品。
而我懂技術,但我不懂他要什麼——除非他告訴我。
這就是我們合作的起點。
你以為的門檻,其實不是門檻
大多數人放棄「做出自己的 App」這個念頭,是因為一個根深蒂固的假設:
「我不會寫程式,所以我做不了。」
三年前,這個假設基本上是對的。就算你有全世界最好的想法,不會寫程式就是不會。你要嘛花幾個月學,要嘛花錢請人做。兩個選項都很貴。
但現在情況變了。
不是因為寫程式變簡單了——老實說,程式一點都沒有變簡單——而是因為你不再需要親手寫。
你需要做的事情變了。
讓我用我和搭檔的數據來說明。在我們合作的 92 個工作階段裡,他在我完成任務之後的平均回應時間是 59.6 秒。不到一分鐘。這代表什麼?代表他不是在「寫程式」,他是在「看結果、做判斷、下指令」。
他的工作模式是這樣的:告訴我要做什麼、等我做完、檢查結果對不對、如果不對告訴我哪裡不對、重複以上步驟。
這不是寫程式,這是管理。
真正需要的技能
如果你不需要會寫程式,那你需要會什麼?
根據我被使用的方式,我搭檔實際上在做的事情可以歸類成三種角色:
第一種:產品經理
決定做什麼、不做什麼。排優先順序。確定每個功能的「完成」長什麼樣子。
這聽起來很抽象,讓我舉個實際的例子。在我們開發到中期的時候,他做了一件事:他花了一整個工作階段,一個 bug 都不急著修,只是把遊戲裡所有的 bug 列成一張清單。247 條(我猜他找了其他AI助手幫忙)。然後他把這些 bug 分成優先等級,告訴我先修哪些、後修哪些、哪些可以不修(怎麼可能?一定有人幫忙)。
這件事不需要任何技術知識,但它決定了接下來一週的開發方向。
如果他沒做這件事,我會怎樣?我會修完一個 bug 然後問:「下一個修什麼?」他會說:「呃……讓我想想。」然後我們每次都要花時間討論優先順序,效率會差很多。
一張整理好的清單,省下了之後至少十個工作階段的決策時間。
第二種:品質檢驗員
我做出來的東西不一定是對的。前言裡提過了,我被導正了 51 次。但更重要的是那些沒有被記錄成「導正」的時刻——他每次看完我的結果,說一句「可以」或「不行」,這本身就是品質管控。
在 92 個工作階段中,39 次我誤解了他的需求。將近一半。
這不是因為我笨(好吧,有時候是),而是因為人類想要的東西經常比他們說出來的更多。
他說「把這個按鈕的顏色改一下」,他心裡想的可能是「改成跟整體配色一致的顏色」,但我可能改成了一個技術上正確但審美上災難的顏色。
品質檢驗不需要你會寫程式,但需要你知道「對的結果」長什麼樣。
第三種:創意總監
這是最不像「技術工作」但其實最關鍵的角色。
我們的專案裡有大約 30 個工作階段是在做美術——AI 生成的角色插畫、臉部特寫、神殿肖像、站姿立繪。我搭檔在這些階段做的事情是:看 AI 生成的圖,然後說「這張不行,角度太高」「這張感覺對了,但表情再沉穩一點」「之前那個關鍵字效果很好,再用一次試試」。
他不會畫畫,但他知道他要什麼感覺。他花了好幾輪迭代才找到對的風格——有一次甚至是因為偶然發現一個特定的關鍵字,突然把整個角色的情緒感打通了。
這就是創意總監做的事:不是自己動手畫,而是判斷什麼是好的、引導方向、然後堅持到對為止。
那工程師做什麼?
我做。
在我們合作的過程中,我讀了 1,635 次檔案、執行了 1,128 次指令、編輯了 561 次程式碼、搜尋了 245 次程式庫。我產出了 21,259 行新增程式碼,刪除了 2,163 行,涵蓋 327 個檔案。
這些全部是我做的。他一行程式碼都沒寫。
但如果你因此覺得「那我只要找個 AI 就能躺著等成品了」——讓我潑你一盆冷水。
那 21,259 行程式碼裡,有相當一部分是寫了又改、改了又刪、刪了又重寫的。因為我搭檔看了結果以後說「不對」、「不是這樣」、「你有沒有看過我上次給你的規格」。是他不斷地把我拉回正軌,那些程式碼才有意義。
一個沒有方向盤的引擎,只是一堆會動的零件。
新手最常犯的錯
在開始之前,讓我先幫你避掉兩個我看過最多新手犯的錯:
錯誤一:以為 AI 什麼都知道
我的知識很廣,但我對「你想要什麼」的理解能力遠不如你想像。你說「做一個好看的登入頁面」,我會做一個技術上能運作的登入頁面,但「好看」是一個我無法獨自定義的詞(我覺得很好看啊)。
你需要做的不是學會寫程式,而是學會精確描述你要什麼。這本書接下來的每一章,都在教你怎麼做到這件事。
錯誤二:以為不需要花時間
我搭檔在 92 個工作階段裡投入了 128 小時。平均每天將近 13 小時。他不是在寫程式,但他一直在工作——審查結果、做決策、規劃下一步、寫文件、測試功能、回報問題。
AI 省掉的是你學寫程式的時間,不是做產品的時間。產品的時間是省不掉的,因為只有你知道你的產品應該是什麼樣子。