【Vibe Coding 或是Vibe Prompting?】

自去年開始,我開始嘗試教孩子一門結合 Python 與 AI 的課程。一開始叫做「AI Assisted Python Programming」,但現在或許叫做「Vibe Coding」會是更貼切的名稱。這門課的想法是運用 Python 作為基礎程並結合 AI 作為教學助力,幫助小學生學習基礎的程式學習。

在最初的設計中,我採取的是「由下而上」的教學設計。透過一個實作專案,我一步步引導學生認識變數、資料型別、if-else跟函式等基本概念。當時我們設定的目標是建構一個簡易的線上訂購網站。雖然最終並未完整實作出來,但這個過程讓學生有機會從目標出發,理解每一項功能背後所需的知識與技能,並逐步補足所需的知識。
當學生遇到困難時,我會先請他們透過 AI 尋求協助。他們可以請 AI 解釋概念,甚至產出程式碼。但我給了他們一個額外的挑戰:他們必須能向我清楚說明這段程式碼的意義與邏輯。為了完成這個挑戰,他們必須學會如何有效地與 AI 對話,從而深化對程式內容的理解。這樣的好處是學生不用花費很多時間查資料獲等待老師解決問題,只要有問題AI都可以回答。然而在實際執行的過程中,我發現即使這樣循序漸進地引導,還是有部分學生容易卡關。
因此今年我嘗試轉向「由上而下」的教學方式,靈感來自 Vercel CEO Guillermo Rauch 的訪談。我從中學到人類的價值在於抽象與高階的思考,我們應該訓練孩子更清楚地表達需求,善用 AI 將想法實現,而不是拘泥於每一行程式碼的細節。
因此這學期我決定從「品味」開始,帶領學生探索「什麼是好的作品」。我們從一塊巧克力開始討論,學習如何描述一個「好吃」的巧克力,進而將這樣的能力轉移到數位創作上。我們的主題是「貪食蛇」遊戲設計。我會讓學生先用 AI 生成一個基礎版本,再引導他們去玩網路上的不同版本,學習觀察與評比:什麼樣的遊戲更美觀?速度更流暢?玩法更有趣或更具挑戰性?
接下來,學生需要根據自己的體驗,提出對「好遊戲」的定義與規格,並運用 AI 進行修正與調整,完成屬於他們自己的版本。對我來說這樣的過程可稱為「Vibe Coding」:從描述目標開始->進行生成->再進入反覆的修改與調整。但因為課程還沒告一段落,還無法做出很精確的結論。
這樣的過程也讓我思考孩子們在這當中究竟學到的是什麼?他們學到的是「Coding」本身,還是「Prompting」——要學的是程式語法跟抽象邏輯還是如何與 AI 對話、如何精準表達需求?
當 AI 越來越強大,我們是否還需要要求孩子學會撰寫每一行程式碼?還是更應該培養他們具備整合工具、協作創造的能力?
我沒有答案,但我認為這是我們教學者必須共同面對的重要議題。我們需要更細緻地去辨識,什麼情境下,孩子應該自己動手做「Vibe Coding」什麼時候,他們可以透過 AI 進行「Vibe Tutoring」,與AI對話理解背後的原理與邏輯。
而我自己也不是程式特別強的老師,我也像許多老師一樣,只是「擲筊型」的使用者,程式能跑就好,出了錯就再問一次AI。但或許也因如此,我更能理解學生使用AI可能的心態跟遇到的困難,也因為如此我意識到自己的不足,我開始回頭補起自己的基礎知識,重新學習 React。雖然過程中時常感到力不從心,因為要補的洞實在太多了。但也讓我從自身經驗反思或許未來就是這種人+AI的單人團隊(?)先找出問題,在解決問題的過程中補足所需知識的學習路徑。






沒有留言:

Lazy prompting