Vibe Coder
讀懂 AI 給你的程式:Vibe Coder 的程式閱讀入門
Vibe Coder 不需要會從零寫程式,但要看得懂 AI 給的程式碼,才能判斷 AI 做的對不對、精確指出哪裡出問題。方法是認出 import、def、縮排、return 這幾個元素,再逐行用中文念出每一行在做什麼。
讀懂 AI 給你的程式:Vibe Coder 的程式閱讀入門
你是不是常常請 AI 幫你寫程式,跑得動就直接拿去用,完全不知道它裡面做了什麼?這正是 Vibe Coder 最大的風險:AI 說完成,不等於真的完成。你不需要從零學會寫程式,但一定要能讀懂 AI 給你的輸出,才能判斷它做得對不對,而不是盲目複製貼上。
你將學到什麼
五個必認元素
認出 import、def、縮排、return 和註解,看懂一段程式的骨架。
縮排怎麼讀
Python 用縮排分層,抓住冒號後面要縮排的規則就不會迷路。
逐行念出來
能用中文說出每一行在做什麼,才是真的讀懂,不是感覺上懂。
主動檢查四件事
套件有沒有裝、金鑰有沒有寫死、有沒有處理錯誤與空值。
為什麼 Vibe Coder 要能讀懂程式碼
原因有三個。第一,AI 說完成不等於真的完成,你必須讀懂輸出才能判斷對不對。第二,資安漏洞只有你能發現,AI 不會主動告訴你它生了一段有漏洞的程式。第三,讀懂讓你溝通快十倍,能直接說「第三個函式邏輯不對」,而不是從頭重新描述整個需求。
先認出這五個必認元素
AI 給你的程式碼,第一眼先找這五個東西,其他的可以先跳過。
import requests
def get_weather(city):
url = f"https://api.example.com?city={city}"
response = requests.get(url)
if response.status_code == 200:
return response.json()
else:
return None
result = get_weather("Taipei")
print(result)
| 元素 | 長什麼樣 | 代表什麼 |
|---|---|---|
| 註解 | # 開頭的文字 | 說明用,程式不會執行,是 AI 在解釋自己做什麼 |
| import | import requests | 載入套件,出現這行代表要先安裝這個套件 |
| def | def 函式名稱(參數): | 定義一個函式,後面縮排的內容都屬於它 |
| 縮排 | 每行前面的空白 | Python 用縮排分層,同一層縮排代表同一個區塊 |
| return | return 加上要回傳的值 | 函式的輸出,也就是這個函式給出什麼東西 |
看到 import 要做什麼每個
import 套件名 代表你要先在終端機安裝那個套件。看到 import requests,就要記得安裝 requests。這是最常見的新手卡關點。縮排:Python 最特別的地方
Python 用縮排(每行前面的空白)表示程式的層次結構。其他語言用大括號分層,Python 只用縮排,這是很多人第一次接觸 Python 感到困惑的地方。
def check_age(age):
if age >= 18:
print("adult")
else:
print("minor")
print("done")
IndentationError:縮排錯誤看到這個錯誤,代表某一行的縮排不對,通常是複製貼上把空白弄亂了,或者 Tab 和空格混用。跟 AI 說「我出現 IndentationError,錯誤在第幾行」,讓它幫你找。
逐行念出來:真正讀懂的方法
判斷自己有沒有讀懂一段程式,最好的方法是用中文逐行說出每一行在做什麼。說得出來就是讀懂了,說不出來就是還沒懂。
user_input = input("City name: ")
if len(user_input) == 0:
print("City name cannot be empty")
else:
result = get_weather(user_input)
if result is None:
print("City not found")
else:
print(result["temperature"])
收到 AI 程式碼,主動檢查這四件事
| 觀察項目 | 危險示範 | 安全做法 |
|---|---|---|
| 套件有沒有裝 | 看到 import pandas 卻沒有安裝 | 照著每個 import 一一安裝,不要等到報錯才處理 |
| 金鑰有沒有寫死 | 金鑰直接寫在程式碼裡 | 從環境變數讀取,不把金鑰寫進程式碼 |
| 有沒有處理錯誤 | 檔案不存在就直接崩潰 | 用 try 與 except 包住可能出錯的程式 |
| 有沒有處理空值 | 對空值直接取值就會出錯 | 先判斷是不是空值,再往下取值 |
四件事追問模板收到 AI 程式碼後,追問一句:這段程式有沒有需要安裝但沒列出的套件、有沒有金鑰寫死的問題、有沒有缺少 try 與 except 的地方、有沒有可能拿到空值但沒處理的地方?
怎麼問 AI 解釋程式碼
「這是什麼意思」是最沒效率的問法。精確的問法能讓 AI 直接給你需要的資訊,不用來回好幾次。
通用追問模板解釋一行:「請用一句繁體中文說明這行程式在做什麼:[貼上那行]」。解釋整段,聚焦邏輯:「請用條列式、用繁體中文說明這段程式的執行步驟,不要解釋語法,只說每一步在做什麼事:[貼上程式]」。找潛在問題:「這段程式有沒有安全疑慮、錯誤沒處理、或使用上需要注意的地方?[貼上程式]」。
延伸學習
常見問答
Vibe Coder 也需要學會寫程式嗎?
不需要從零學會寫程式。你需要的是讀懂 AI 給你的程式碼,能判斷邏輯對不對、有沒有安全問題,這樣才能有效把關 AI 產出的東西。
看到 IndentationError 該怎麼辦?
通常是複製貼上把空白弄亂,或 Tab 和空格混用造成的。跟 AI 說明是第幾行出現這個錯誤,讓它幫你統一縮排即可。
為什麼要逐行念出程式在做什麼?
這是確認自己有沒有真的讀懂的方法。能用中文完整說出每一行的作用,才是真的懂,只是感覺看得懂容易漏掉隱藏的問題。
收到 AI 給的程式碼,第一件事該做什麼?
先認出五個必認元素:註解、import、def、縮排、return,掌握整段程式的骨架,再逐行確認每一行的邏輯是否合理。
