AI 寫程式 的技術債陷阱:為何你需要「低限學習」程式?

我將卡片盒筆記法(Zettelkasten)與 AI 寫程式助理縫合在一起,這種非常規結構讓我發現 AI 寫程…

聖誕假期吃著泡沫快樂 coding,卻發現 AI 寫程式 時,如果非常規的技術風險
聖誕假期吃著泡沫快樂 coding,卻發現 AI 寫程式 時,如果非常規的技術風險

這個聖誕假期,身為對個人知識管理(PKM)極重度用戶,我決定自己動手,將卡片盒筆記法(Zettelkasten)與 AI 寫程式助理縫合在一起,自己做一個,卻發現 AI 寫程式 的技術債風險。

什麼是技術債?AI 寫程式最 容易埋下的「隱形炸彈」

在常規軟體開發中,新增一個功能(如:聯絡人、Email、筆記)通常意味著要多一張資料表,以及處理表與表之間複雜的關聯(樞紐表)。這也是為什麼當原廠不給新功能時,你一點辦法都沒有。

常規的軟體開發中,每個功能會有自己的資料格式,就要有對應資料表,不同的內容很難存在一張表上,因為欄位不一樣,例如:

  • 聯絡人:姓名、地址、電話、Email
  • Email:寄件人、收件人、主旨、內文、附件

拿 Outlook 來說,裡面有 Email, Calendar, Contact,那至少有 3 張表?實際上不止 3 張,Email 收件人要從 Contact 中選,還要加一張樞紐表記錄兩張表之間的關係。

為了打造大腦的複本,我選擇設計一種「萬用資料結構」來容納所有資訊,而非像 WordPress 插件那樣無止盡地堆疊資料表導致效能低落。

我選擇使用第二種,這種理念你可以說給 AI 聽,但它總是做一陣子又回到一般 App 寫法,於是過一陣子我就要糾正一次再翻修。

這是因為我看到它出錯了,如果沒看到,它就快快樂樂亂寫,最後難以收尾,這就是「技術債」。

什麼是技術債:

技術債(Technical Debt)是指為了追求開發速度,而選擇了易於實現但非最優的方案,導致未來維護成本增加。AI 就像一個「只求能跑,不求安全」的樂高組裝手,如果我們看不出它的結構缺陷,這些亂寫的程式碼最終會讓你難以收尾。

避免 AI 生成爛程式碼:你需要掌握「低限學習」與基礎語法

就像很多教 Vibe coding 的課程一樣,剛開始我也什麼都不懂,但確實可以做出想要的東西,確實很興奮,所以我也用 SDD 定下需求,只要你寫的程式達到我的需求,就沒問題了。

現在流行 SDD(需求驅動開發),只要定好需求,程式碼似乎就能自動生成。但 Gemini 提醒我:AI 覺得「能用」比「安全」重要。如果你完全不懂技術,你的創造力邊界就只能是「AI 的平均值」。

經過這一次,我理解了 Gemini 說的「組樂高」是什麼意思,如果你有細緻的要求,你要詳細指示,不過想詳細指示,就不能全部不懂了。當然這也看你的野心,如果自己用或是讓 10 個朋友,資料外泄頂多被罵,如果意外太受歡迎獲得上萬會員,同一件事就是大災難了,可能賠掉你的身家。

所以如果一點都不想學也很容易,千萬保持小規模,千萬避免太受歡迎!

但如果願意花兩三天學基礎語法、資料結構,就能跟 AI 雙向互動,情況就不同了。

這差異很難語言表達,舉例說,裕隆速利跟賓士只差在賓士更貴更豪華嗎?其實上高速公路、山路、發生車禍…時,兩者表現都大大不同,但就最基本「代步」來說真差不多。

上週我花了 1 天補充 JavaScript 新知、2 天補充 Go 語言知識,配合先前對技術理解,就可跟 AI 精密溝通,至少我能抓到它亂做。
有 AI 只需要低限學習,不難。轉貼 Gemini 總結:

  • 不懂的人:他的創造力邊界 = AI 的平均值。AI 給他什麼,他的產品就是什麼。
  • 懂的人:你有自己的設計哲學,你是在指揮 AI 去實現你的哲學,而不是讓 AI 替你思考。

手腳可以外包,但思考可不能外包。

AI 寫程式 協作三大語言:Python, JavaScript 與 Go 的選擇指南

這是一份學完一定【不會】寫程式的指南

如果你一種語言學一兩天就可以開發,天才!請收下我的膝蓋。這個學習唯一目的是「可跟 AI 協作」,當然是 AI 自己寫的,它說「這樣就夠」。

為何要學?因為:

  1. AI 寫程式常惡搞,搞壞了還是你浪費時間 debug。
  2. 當 AI 遇到邏輯鬼擋牆時,你只要具備基礎語法觀念,問一句:「為什麼這裡不用 X 方式寫?」它就會恍然大悟地修正,這能省下你數小時的除錯時間。
  3. 當然更多時候是因為你不懂提出矛盾的需求,我觀察 AI 不會回嘴,它只會想盡辦法把類似你想要的做出來。

技術進步,越來越多狀況 AI 自己能搞定,但還有一小部分要你解決,此時完全陌生就糟了,不如花一兩天極簡學習。

手腳可以外包,但思考不能外包。

以下是我為 AI 協作者整理的「低限學習清單」,目標不是讓你變大神,而是讓你學會「指揮 AI 實現你的設計哲學」

三大核心語言:你的協作工具箱

Python:AI 時代的「國語」 (建議學習:6-12 小時)

  • 為什麼學: 它是 AI 和大數據的標準語言,且語法像英文一樣簡潔,沒有煩人的括號。
  • 低限目標: 建立信心。當 AI 舉例時,通常都用 Python,學會它能讓你理解基本的邏輯結構。

當年我學習的想法是,「學儘量少」,所以找了個章節很少的來學,看來不貪心是好方法,網頁前端 ( Frontend” ) 它真的市佔率超高,而常用框架,你一定常聽 AI 說的 React/Vue 也是非常泛用。

我還請 AI 幫每個章節分輕重,可以跳過部分,所以學得更少,它每一章節都很短,壓力很小,而且一按就看到結果,有成就感。

JavaScript:網頁世界的「凌亂補丁」 (建議學習:8 小時)

  • 為什麼學: 雖然它誕生時只花了 10 小時,且充滿了歷史包袱與疊床架屋的補丁,但它是瀏覽器的霸主,也是 n8n、Supabase 等工具的核心。
  • 低限目標: 「不陌生就願意用」。只要能看懂 AI 寫了什麼,並能抓出明顯的錯誤即可。

JavaScript 很像 Photoshop,簡單的人人都會,但難的還是不好懂。

AI 不會粉飾太平說「其實 JavaScript 很不錯…」而是坦言「幾十年發展疊牀架屋,向後相容無法大刀闊斧改善,打開都是凌亂補丁」,它不是「優雅」的語言,當初開發者只花了 10 小時就交卷,他爹都坦言不愛它。

現在全世界大神都在救,詳見拙文

但你不能不學這個奇跡,誰能叫全世界大神幫它寫補丁!如果在瀏覽器裡使用的 App 全逃不開它,n8n 的 Code 節點用它,企業級的 Supabase、Appwrite、Strapi… 也是用它寫的!

還好,你不用愛它,AI 時代只要願意用,其他 AI 會幫你。

我花了約 8 小時,幾個新語法小小卡住,現在看 AI code 確實輕鬆了。

Go:來自 Google 的「優雅重型機車」 (建議學習:12 小時)

  • 為什麼學: 當你需要高效能時,Go 比 Python 快 10 到 100 倍。它的語法甚至比 Python 更精簡,且具備強大的生態系(有很多別人的程式碼可以抄)。
  • 低限目標: 體驗「品味」。Go 是 Google 大神殫精慮慮之作,邏輯極度清晰。最棒的是,它編譯後只有**「一個檔案」**,雲端佈建極其簡單,不再需要為了環境配置折騰一整天。

Go 比 JavaScript/Python 快 10 ~ 100 倍,是 Google 「私家」語言(有開放大家用啦),專門開發複雜 Web App。

但它是編譯語言,讓我遲疑了!

小時候曾有高手推薦用 C++ 入門程式開發失敗,後學數月 Java 被複雜冗長的語法嚇到,它們普遍複雜深奧。雖然後來直譯語言 Python 撫慰了我,但餘悸猶存,PTSD 的我聽到編譯語言就皮皮挫。

但在 AI 慫恿下喵了喵 Go 語法,疑,好像沒這麼恐怖?因為:

  1. 語法簡單:這語言語法竟很簡潔,比 Python 有過之無不及!
  2. 佈建簡單:佈建到雲端只要上傳【 一個檔案 】!!!Web App 結構複雜,佈建雲端常出問題,至少耗一天吧!但 Go 會編譯成「一個檔案」,丟到雲端就能跑,不愧是 Web app 專供語言,太省力了!
  3. 抄襲簡單:Google 掛保證,社群很熱心,生態系發展好,就是「有很多別人寫好的程式可以拿來套」啦!

官方教材承襲 Go 的簡潔要求,說明也極度簡潔到不好理解,我一邊學一邊問 AI,記得 Go 的強項是後端 ( Backend ) 開發,特別是 Web App 常常遇到的「高併發」 ( High Concurrency ) 它都幫你解決了。

如果學完 JavaScript 再學 Go,會有「我能夠品味程式語言的好壞了!」的快感,因為 JavaScript 是一個人十小時搞定的,而 Go 是 Google 的數名特聘大神殫精竭慮之作,邏輯極度清晰,沒有那種「為什麼這樣寫?」「我也不知道」的問題。

我用 1.5 天,比較難一點點,但一邊學一邊拍手叫好!

結語:當個有靈魂的導演

如果你願意花兩三天學習基礎語法與資料結構,你與 AI 的關係將從「它給什麼,我收什麼」昇華為「雙向互動」。這就像開裕隆速利與賓士的差別:平時代步差不多,但在高速行駛或面臨衝擊(複雜功能需求)時,兩者的表現天差地遠。

記住:如果你想保持野心、開發出擁有萬名會員的產品,請務必掌握這些「低限知識」,否則一場成功的意外,也可能因為技術災難而賠掉你的身家

💡 理解小撇步:AI 寫程式想像成「點 Foodpanda」。如果完全不懂,外送員送來臭酸的食物你可能也吃不出來;「低限學習」就像是你雖然不進廚房,但至少知道食材的新鮮度與基本的烹飪邏輯,這樣你才能在餐點不對時,精準地告訴外送員該如何改進。

讓我們保持聯繫

推送 Push:有個資疑慮的您,按下網址列左方「鎖頭」開啟「通知」會收到通知

電子報 Subscribe:在上方框或側邊欄框中訂閱電子報,我會看到信箱,但不會發垃圾郵件。

合作 Cooperation:行銷、課程合作 請到 About 中填寫表單,留言、臉書專頁聯繫也可以

臉書專頁:疑問或聊天,請留言,或到臉書專頁「Simpro 學習控」關注及留言

訂閱電子報

約雙週更新,絕無垃圾郵件|記得到信箱查看驗證信

最有人氣

探索更多來自 Uncle6 Automatia 六叔自動症 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading