剛接觸 AI 輔助程式開發,你有兩種心態可以選擇:
A. 追求 AI 生成完美無缺的程式碼,每個細節都要符合最佳實踐。
B. 專注於解決實際問題,接受「能用就是好程式」的現實。
理論上 A 是理想的,也是傳統程式教育強調的,但這個路徑的障礙非常多,你的學習曲線會變得異常陡峭。
一開始,我也嘗試了 A。
我想讓 AI 生成一個完美的檔案整理程式,要有完整的錯誤處理、優雅的使用者介面、高效的演算法。
我的想法是:既然要用 AI 寫程式,就要生成標準一點的程式碼吧?
但真正與 AI 協作之後,我才發現光是讓 AI 理解我對「完美」的定義,就需要極其精確的提示工程。處理檔案路徑的各種例外情況,檔名包含特殊字元、檔案被其他程式佔用、磁碟空間不足...這些邊界條件需要無數輪的對話調整。
一下子面臨這麼多複雜需求,我覺得太撞牆了。不行,我需要成就感。
於是這個「完美」專案先擱置,我轉去做一個「不完美但能用」的簡單版本:只處理最常見的檔案類型,只在我自己的電腦上執行,遇到錯誤就顯示簡單訊息。
結果呢?
這個「不完美」的程式在我的日常生活中發揮了巨大作用。它幫我整理了桌面上幾百個亂七八糟的檔案,節省了我無數時間。
而且,從這個「能用」的基礎版本出發,我可以一點一點與 AI 協作加功能:今天請 AI 加個進度條,明天讓它處理重複檔名,後天增加更多檔案類型支援。
這就是實用主義哲學的精髓:
你不需要 AI 一開始就生成完美的程式碼。
直接動手解決真實問題,讓成就感驅動你持續與 AI 迭代改進。
從可用的最小版本開始,透過多輪對話逐步完善到更好的版本。
面對 AI 寫程式這件事,你可以選擇:
「AI 應該一次就理解我的需求,生成完美的程式碼,我只要複製貼上就好。」
或者:「AI 是我的程式設計夥伴,我們需要來回溝通才能達成目標。」
兩種心態都很常見,但適用於完全不同的現實。
如果你把 AI 當作魔法棒,期待它一個指令就變出完美程式,你會發現自己經常失望。AI 生成的程式碼常常有 bug、邏輯不夠嚴謹、無法處理你沒有明確說明的邊界情況。
但如果你把 AI 當作經驗豐富但需要明確指導的協作夥伴,一切就不同了。
例如,我要建立檔案整理工具時,我不會直接問:「幫我寫一個完美的檔案整理程式」
而是會這樣跟 AI 展開多輪對話:
第一輪:「我想要一個 Python 程式,能掃描桌面資料夾,依副檔名分類檔案到不同子資料夾。」
AI 回應後,第二輪:「很好,但我希望在移動檔案前先顯示會移動哪些檔案,讓使用者確認。」
第三輪:「如果目標資料夾已經有同名檔案怎麼辦?請加上重複檔名的處理邏輯。」
透過這種來回對話,AI 能理解你的具體需求,而你也能從 AI 的回應中學到新的概念和方法。
這就是協作夥伴心態的威力:
把 AI 當作需要明確溝通的協作者,而不是讀心術大師。
準備好進行多輪對話,每次改進一小部分功能。
從 AI 的建議中學習新知識,而不只是複製程式碼。
傳統程式教育常常讓人陷入「技術導向」的思維陷阱:
我要學會這個演算法、那個設計模式、各種最佳實踐...
但在 Vibe Coding 的世界裡,最重要的是「問題導向」:
我要解決什麼實際問題?這個問題對我或使用者有什麼價值?
舉個例子,當我想學資料處理時,與其去學習複雜的資料結構理論,我直接從「我想分析我的消費習慣」這個具體問題開始。
我不需要先掌握 pandas 的所有功能,只要知道如何:
透過與 AI 協作解決這個實際問題,我自然而然學會了資料處理的核心概念。而且,因為是解決自己的真實需求,學習動機特別強烈。
更重要的是,當你專注於解決問題而非炫技時,你會發現:
簡單的解法往往比複雜的更好。
能解決實際問題的「笨」程式,勝過解決不了問題的「聰明」程式。
使用者在意的是結果,不是你用了多高深的技術。
Vibe Coding 最大的優勢,就是可以快速實驗和迭代。
但要享受這個優勢,你需要培養「實驗精神」:
不怕嘗試新想法,即使可能失敗。
把每次嘗試都當作學習機會,而不是成敗的判斷。
相信小步快跑勝過完美規劃。
我在開發檔案整理工具時,就與 AI 經歷了無數次實驗:
實驗 1:「能不能讓 AI 自動判斷檔案內容來分類?」
結果:太慢了,處理一個檔案要好幾秒。
學習:有些看似聰明的方案,在實際使用上並不實用。
實驗 2:「能不能加上自動備份功能?」
結果:程式變得很複雜,而且我發現自己很少用到備份。
學習:功能不是越多越好,要專注在最有價值的核心功能。
實驗 3:「能不能讓程式記住我的分類偏好?」
結果:大成功!程式可以學習我的習慣,分類準確度大幅提升。
學習:有時候簡單的個人化功能,比複雜的通用功能更有價值。
每次實驗都讓我對問題有更深的理解,也讓我和 AI 的協作變得更加順暢。
這是我學習 Vibe Coding 最大的心態轉變。
傳統學程式,你是學生,老師或教材告訴你該學什麼、怎麼學。
但在 AI 協作中,你需要成為 AI 的「產品經理」。
你不是在問:「AI 能為我做什麼?」
而是要問:「我能為 AI 提供什麼指導,讓它幫我達成目標?」
這個轉換非常重要,因為:
AI 需要清晰的指導和背景資訊才能發揮最大效用。
你的角色是提供脈絡、約束條件和評判標準。
成功的關鍵在於如何管理和指導 AI,而不是等待 AI 主動理解你。
例如,當我要讓 AI 幫我寫資料分析程式時,我會這樣指導:
「我有一個包含日期、金額、類別三個欄位的 CSV 檔案。我想要生成月度消費趨勢圖,x 軸是月份,y 軸是總金額。請用 matplotlib 繪製,並在圖表上標註每個月的最高消費類別。」
而不是簡單地說:「幫我分析這個檔案」。
最後一個重要的心態轉變:你不需要完全理解 AI 生成的每一行程式碼。
但你必須理解:
這就像開車一樣,你不需要理解引擎的每個零件如何運作,但你需要知道如何操控方向盤、踩煞車、讀懂儀表板[1]。
在 Vibe Coding 中,最重要的技能是:
問題分解能力:把複雜需求拆解成 AI 能理解的小任務
溝通表達能力:用精確的語言描述你的需求和約束條件
測試驗證能力:知道如何檢驗 AI 生成的程式是否符合預期
迭代改進能力:根據結果調整需求,與 AI 進行下一輪協作