在AI時代,給非工程背景:對打造產品有興趣的人還需要學習程式嗎?feat. Vibe Coding

更新 發佈閱讀 5 分鐘

Hi 我是Chi,今天想以自身的角度來分享如果從來沒有程式經驗的人該如何開始這趟旅程?尤其在現在AI這麼方便的時代,該如何好好利用這個工具輔助自己理解程式的世界。這個主題已經有許多人分享,甚至有許多理工科系跟非理工科系直接使用Vibe Coding(下人類語言請AI直接完成產品)就完成許多專案產品,還需不需要學習Coding這件事情便使很多人開始產生疑慮。

也還記得前陣子剛發生非理工科系Vibe Coding發生慘案的例子,而我自身的背景是先從非理工人學習程式知識後轉職成軟體工程師一段時間了,或許我也可以從我的角度提供一些想法。究竟要不要學習程式?如果要學習程式要從哪裡開始學習?

以前學習程式對大多數的人來說都需要花上一年半載心無旁騖的來學習這門技術,以我自己舉例,本身大學是金融相關科系,當初學校並無相關課程,在對程式有興趣開始尋找課程時就苦苦找尋適合的資源及課程,到真正開始接觸程式後也花了不小的功夫去理解跟練習。一開始越學越模糊,有種霧裡看花的感覺,所以我可以明白想學習程式但總覺得Gap跨不過去的感受。

Vibe Coding可以快速打造產品?

如果是業務邏輯常見的專案或中小型專案,確實可以使用Vide Coding打造產品,甚至可以說是一鍵式的打造,在我用過幾次之後發現,在最一開始下的指令是最可以讓AI模型建構出大方向跟輪廓正確的架構。

例如我曾經想要打造一個魔力寶貝寵物算檔的模擬器。

魔力寶貝配寵 計算機怎麼算
我想自己做一個算檔模擬器

而我僅僅打了這兩句話給ChatGPT,他先是分享了該怎麼做,下步便已經完成了下面的模擬器(圖一),甚至是用React框架寫好的。

圖一:魔力寶貝寵物算檔模擬器

圖一:魔力寶貝寵物算檔模擬器


AI 會遇到的問題

但如果想要做細節的修改或是加上複雜少見的功能,AI就很容易出錯了。這種時候的修改最好是找出哪裡的程式碼需要調整並寫下明確的指示。而明確的指示如果有程式知識的人就可以寫下關鍵字讓AI明白怎麼修改。

例如像開發上遇到,想要前端顯示使用者小明的資料,常會發生的問題一定是:

  1. AI生成小明假資料
  2. 把小明假資料寫入前端程式碼頁面(hard code)
  3. 頁面正確顯示小明資料

但這樣不管怎麼操作,小明資料都會一樣,這應該不難理解。這時候如果沒有程式基礎可能會跟AI有這樣的對話:

:現在我操作網頁更改小明資料,但小明的資料怎麼沒有跟著調整跟改變?
AI:我將讀取現在的程式碼,並找出可能的原因。
啊,我找到了,因為現在的小明資料寫在前端程式碼裡面並且沒有會更新資料的函式。
:我需要操作後小明也更新資料,例如改小明電話號碼它就要正確修改成新的。

這時AI會:

  1. 它真的知道要連接資料庫 -> 操作時更新資料庫資料 -> 前端正確抓到新資料更新頁面資訊。但這個機率很小。
  2. 它會把前端程式碼做成暫時可以修改的版本。(高機率)什麼意思呢?
const user = {
name: '小明',
phone: '0911111111',
age: '22'
}

前端寫死的程式碼可能會長這樣。它會多寫一個函式,當使用者按修改電話的時候把phone的值修改成新的,但實際上資料本身還是在前端程式碼裡面。這樣的問題是:可能現在瀏覽看都正確修改了,但當你重啟這個頁面一切資料又會回到最原始的假資料。

這時候如果有相關知識就可以發現這個問題並且知道正確的處理方式是什麼,直接叫AI怎麼做修改:

:請幫我連接資料庫,資料庫的網址是:xxxx、帳號是xxx、密碼是xxxx。
:修改使用者資料時,就更改資料庫user的表,先找出name是誰再改對應的欄位。

類似像這樣,這樣AI修改的成功率就會高出許多,而不會再花更多token以及對話去修復錯誤(還無法確定是否真的修好)。

而前端畫面的修改如果單單用語言表達,請AI修改會更加抽象以及費力,最好能直接提供設計圖給AI(靜態)。但動態的部分還是只能使用語言去描述。

總結:該學程式嗎?

我會說如果想要打造自己獨特的專案:

  1. 要能看得懂程式碼,可以理解架構及大方向。知道這個功能放在哪個檔案,哪個function處理這個功能。
  2. 知道程式的知識當遇到錯誤時可以更好辨別怎麼處理。

懂程式基本知識可以更有效開發,讓AI更正確協助人去做事情!接下來我會嘗試分享應該要學習哪些知識才可以幫助開發。

留言
avatar-img
Chi
3會員
2內容數
分享塔羅靈性 x 哲學 x 程式