作者:Ted Lee
再大、再長的程式碼也不過是由幾個基本的功能方塊(functional blocks)組成罷了!
一開始,當我們使用自製教材來教授影像辨識這個專題時,是自己想破頭硬是做程式碼的拆解。拆解完之後好像也就冰在冰箱冷凍起來放了。
然而,學而不用則罔。我們在想:如果人工能拆解程式碼,那GenAI能做嗎?再者,它應該也能幫忙想出更多的進階應用吧?
於是,我們就這樣開啟了這條追尋All Blue的偉大的航道──先說結論:
你可以不會寫程式,但你可以學著叫GenAI幫你生!
人工拆解
我們在《ython玩AI,你也可以 — 從CVZone入門吧!》和《GenAI拆解學習:以「健康手環監測系統」示例》這兩篇中展示如何以人工的方式來拆解原始的程式碼。
然而,對於完全沒有相關概念的初學者而言,要能從成品中去拆解出基本的材料當然不會是一件容易的事。
於是,我們開始幻想:
如果把原始程式碼餵給GenAI來處理會怎樣呢?
GenAI自動拆解
在本小節中,我們在Claude輸入下列咒語(prompt)並附上陳會安老提供的CVZone手部辨識原始碼「0. ch6–4a.py」[2]:
(人設)你是Python Tkinter高手
(任務)拆解以下程式碼讓我學習
(輸出)分階段以最少的程式碼來展示功能性,附拆解圖
from cvzone.HandTrackingModule import HandDetector
import cv2
cap = cv2.VideoCapture(0)
detector = HandDetector(detectionCon=0.5, maxHands=1)
while cap.isOpened():
success, img = cap.read()
hands, img = detector.findHands(img)
if hands:
hand = hands[0]
bbox = hand["bbox"]
fingers = detector.fingersUp(hand)
totalFingers = fingers.count(1)
print(totalFingers)
msg = "None"
if totalFingers == 5:
msg = "Paper"
if totalFingers == 0:
msg = "Rock"
if totalFingers == 2:
if fingers[1] == 1 and fingers[2] == 1:
msg = "Scissors"
cv2.putText(img, msg, (bbox[0]+200,bbox[1]-30),
cv2.FONT_HERSHEY_PLAIN, 2, (0, 255, 0), 2)
cv2.imshow("Image", img)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
經過一番小小的交談之後,Claude生了一個可以讓我們自動分段複製程式碼供測的網頁程式碼「拆解講義.html」,檔案的連結分享於此。讀者們可以下載後用瀏灠器打開使用。

圖:拆解講義.html
Claude將原始碼拆解為下列五個基本功能堆疊的過程:
1.攝影機控制(stage1_basic_camera.py)
2.手部偵測(stage2_hand_detection.py)
3.手指辨識(stage3_finger_recognition.py)
4.RSP(剪刀、石頭、布)手勢判斷(stage4_game_logic.py)
5.辨識結果輸出(stage5_complete.py)
讀者們可將上述五個程式片段(snippets)一一自行測試來幫助自己更深入了解原程式的寫作邏輯。
註:我們和Claude完整的對話記錄分享於此。
進階應用
拆完就滿足了嗎?當然不,邁向高手之路無他,唯勤而已!
那麼,還可以怎麼玩呢?
先前,我們要自己想破頭:在《Python玩AI,你也可以 — 從CVZone入門吧!》這篇中讓人類玩家和電腦對猜,並且能自動判斷輸贏;在《讓我們Py在一起:手勢控制PowerPoint放映切換》這篇……,還有呢?
現在,一句咒語就跑出一張全面性的應用清單出來了!(表1)
給幾個使用這個短短範例程式的進階擴充應用

表1:手部辨識的進階延申指引
因此,GenAI時代
不怕做不出來,反倒是怕想不到而已!
[1]六種授權條款。
[2]這個小專案是援用傳統的影像處理(image processing)技術,並以著名的OpenCV函式庫的簡化版CVZone來實作(implement)的。
(作者為本刊專欄作家,本文同步表於作者部落格,原文連結;責任編輯:謝涵如)
- 用GenAI自動拆解程式碼學習:GenAI時代的新程式學習法 - 2025/12/29
- 「動手」之前 你需要了解電腦系統的基礎知識點! - 2025/11/28
- GenAI拆解學習:以「健康手環監測系統」示例 - 2025/10/23
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!


