用 AI 幫你寫程式!學會 Gemini CLI 打造 4 大超實用自動化流程

2 小時掌握 AI 驅動的開發工作流程

應用程式化思維
原型驅動開發
跨工具整合

事前準備

開始課程前,請確保您已安裝以下工具:

  • VS Code: 請確保已安裝 VS Code 最新 1.105 版
  • Node.js: 請確保已安裝 Node.js 22.x 或更高版本
  • Python: 請確保已安裝 Python 3.x 或更高版本

詳細安裝說明

VS Code 安裝手冊

1. 下載 VS Code
VS Code 下載頁面
2. 執行安裝檔

下載完成後,點擊執行安裝檔 VSCodeUserSetup-x64-1.105.1.exe

3. 同意授權合約

閱讀授權合約,並選擇「我同意此授權合約」,然後點擊「下一步」

4. 選擇安裝路徑

選擇您要安裝 VS Code 的資料夾,或使用預設路徑,然後點擊「下一步」

5. 選取其他工作

根據您的需求,可以選擇是否要建立桌面圖示,或將 VS Code 加入到右鍵選單中。建議全部勾選,然後點擊「下一步」

6. 確認安裝

確認您的安裝設定,然後點擊「安裝」

7. 完成安裝

等待安裝完成後,點擊「完成」即可啟動 VS Code

Node.js 安裝 SOP

Windows 11 安裝

步驟 1: 前往 Node.js 官方下載頁面

開啟您的網頁瀏覽器,並前往 Node.js 官方下載頁面

步驟 2: 下載 Node.js 安裝程式

在頁面中,建議選擇「LTS (Long Term Support)」版本,因為它提供長期穩定支援。點擊對應Windows的下載連結(通常是 .msi 檔案)

Node.js 下載頁面

步驟 3: 執行安裝程式

  1. 找到下載的 .msi 安裝檔案並執行
  2. 按照安裝精靈的指示進行。通常,您可以接受所有預設選項,因為它會自動安裝 npm (Node Package Manager) 並將Node.js加入系統的 PATH 環境變數中
  3. 等待安裝完成

步驟 4: 驗證安裝

  1. 開啟「命令提示字元」(Command Prompt)。您可以按下 Win + R,輸入 cmd,然後按下 Enter
  2. 在命令提示字元中輸入以下指令並按下 Enter:
    node -v
  3. 您將看到已安裝的 Node.js 版本號(例如:v22.21.0)
  4. 接著,輸入以下指令驗證 npm 是否也成功安裝:
    npm -v
  5. 您將看到已安裝的 npm 版本號
macOS 安裝

方式一: 使用官方安裝程式

  1. 前往 Node.js 官方下載頁面
  2. 選擇「LTS (Long Term Support)」版本,點擊對應macOS的下載連結(通常是 .pkg 檔案)
  3. 找到下載的 .pkg 安裝檔案並執行,按照指示完成安裝

方式二: 使用 Homebrew (推薦)

如果您已安裝 Homebrew (macOS 的套件管理器),可以使用以下指令安裝 Node.js:

  1. 開啟「終端機」(Terminal)
  2. 輸入以下指令並按下 Enter:
    brew install node

Python 安裝 SOP

Windows 11 安裝

步驟 1: 前往 Python 官方下載頁面

開啟您的網頁瀏覽器,並前往 Python 官方下載頁面

步驟 2: 下載 Python 安裝程式

在頁面中,您會看到一個顯眼的「Download Python」按鈕。點擊此按鈕以下載適用於Windows的安裝程式

Python 下載頁面

步驟 3: 執行安裝程式

  1. 找到下載的 .exe 安裝檔案並執行
  2. 重要: 在安裝精靈的第一個畫面,請務必勾選「Add Python X.Y to PATH」(將Python X.Y加入環境變數)。這將允許您在命令提示字元中直接執行Python
  3. 選擇「Install Now」進行預設安裝,或選擇「Customize installation」進行自訂安裝(建議初學者使用預設安裝)
  4. 等待安裝完成

步驟 4: 驗證安裝

  1. 開啟「命令提示字元」(Command Prompt)。您可以按下 Win + R,輸入 cmd,然後按下 Enter
  2. 在命令提示字元中輸入以下指令並按下 Enter:
    python --version
  3. 如果安裝成功,您將看到類似 Python 3.14.0 的版本資訊
macOS 安裝

步驟 1: 前往 Python 官方下載頁面

與Windows相同,前往 Python 官方下載頁面

步驟 2: 下載 macOS 安裝程式

在頁面中找到「macOS」相關的下載連結(通常在「Looking for Python with a different OS?」下方)。點擊下載 .pkg 檔案

步驟 3: 執行安裝程式

  1. 找到下載的 .pkg 安裝檔案並執行
  2. 按照安裝精靈的指示完成安裝

步驟 4: 驗證安裝

  1. 開啟「終端機」(Terminal)
  2. 在終端機中輸入以下指令並按下 Enter:
    python3 --version
  3. 如果安裝成功,您將看到類似 Python 3.14.0 的版本資訊

第一部分:基礎奠基與核心概念

歡迎與介紹 (5 分鐘)

為什麼要學 Gemini CLI?

在傳統的開發模式中,我們需要手動編寫每一行程式碼。然而,隨著 AI 技術的發展,我們可以將許多重複性、規律性的工作交給 AI 處理。Gemini CLI 不僅僅是一個 AI 助理,它更像是一位全自動的開發夥伴,能夠理解您的意圖,並自動執行複雜的任務,從而極大地提升您的開發效率。

成果展示

在本課程中,我們將會完成以下幾個小專案:

  1. 資料處理腳本: 使用 Gemini CLI 撰寫資料整理腳本
  2. YT 頻道分析報告: 自動蒐集指定 YouTube 頻道的資訊,找出相似的頻道進行比較,並最終產出詳細的比較報告
  3. YT 影片字幕產生器: 提供一個 YouTube 影片連結,Gemini CLI 將自動轉換為字幕檔並生成影片摘要

環境建置:你的第一個 Gemini 指令 (15 分鐘)

「萬能工具箱」概念

我們可以將 Gemini CLI 想像成我們開發工作流程的「大腦」,它負責思考、規劃和指揮。然而,要完成實際的任務,我們還需要「手」和「腳」,也就是各種專業的工具。本次課程中,我們將重點介紹以下幾款如同瑞士刀般強大的工具:

  • Gemini CLI: 我們的大腦,負責與 AI 溝通
  • pandoc: 一款強大的文件轉換工具,可以將檔案在不同格式之間進行轉換
  • ffmpeg: 一款開源的影音處理工具,可以進行轉檔、剪輯、擷取音訊等操作

安裝步驟

1. Gemini CLI 安裝

前提: 需先安裝 NodeJS 20 或更高版本

bash
npm install -g @google/gemini-cli

首次啟動請跟隨指示,使用 Google 帳號登入以完成驗證。

2. Pandoc 安裝與介紹

介紹: 一個強大的「文件格式轉換神器」,能處理 Markdown, HTML, DOCX 等數十種格式之間的轉換。

安裝: 前往 Pandoc 官網 下載並安裝。

3. FFmpeg 安裝與介紹

介紹: 開源的影音處理工具,能進行轉檔、剪輯、擷取音訊等操作。是我們處理 YouTube 影片的關鍵。

安裝: 前往 FFmpeg 官網 下載,並將其 bin 目錄加到您的系統環境變數 PATH 中。

無頭模式:與 Gemini 高效對話 (5 分鐘)

  • 基本 Prompt: 直接在終端機輸入您想對 Gemini 說的話
bash
gemini "你好嗎?"
  • 管道 (|): 此符號可將前一個指令的結果當作下一個指令的輸入,可將 Shell 指令的輸出直接傳給 Gemini,或將檔案內容作為輸入
bash
ls -Recurse | gemini "有多少檔案?"

Gemini 對話參數

更深入的對話則須進入 Gemini CLI 與 AI 進行對話,以下是常用的操作:

  • 指令 (/): 執行內建指令,輸入 "/help" 可列出所有指令
  • Shell Mode (!): 執行 Shell 指令,無須退出對話,Gemini 可直接讀取結果
  • 添加上下文 (@): 讓 Gemini 讀取檔案或目錄,這是進行程式碼分析和生成的基礎

Gemini 熱鍵

  • Ctrl+C: 退出 Gemini
  • Ctrl+Y: Yolo Mode,所有指令都不再過問
  • Esc: 中斷操作
  • Shift+Tab: 自動同意編輯

實作練習:使用 Gemini CLI 整理資料夾

在日常工作中,我們經常需要整理散亂的檔案。現在輪到你實際操作,透過 Gemini CLI 生成腳本來自動化這些任務。請嘗試完成以下三個練習:

練習 1:依據副檔名整理目錄

任務目標: 撰寫一個腳本,將資料夾中的檔案依照副檔名分類到不同的子資料夾中。

Gemini CLI 提示詞參考:

「請幫我寫一個 PowerShell 腳本,將當前資料夾中的所有檔案依照副檔名分類到不同的子資料夾中。例如所有 .pdf 檔案移到 PDF 資料夾,.docx 檔案移到 DOCX 資料夾。」

練習 2:依據日期整理目錄

任務目標: 撰寫一個腳本,將檔案依照修改日期分類到「年-月」格式的資料夾中。

Gemini CLI 提示詞參考:

「請幫我寫一個 PowerShell 腳本,將當前資料夾中的所有檔案依照修改日期分類到『年-月』格式的資料夾中。例如 2024 年 3 月修改的檔案移到 2024-03 資料夾。」

練習 3:依據 PDF 類型(掃描 or 標準格式)整理目錄

任務目標: 撰寫腳本分析 PDF 檔案,判斷是掃描檔(圖片型)還是標準格式(文字型),並分類到不同資料夾。

提示:

此功能需要安裝 Python 和 PyPDF2 套件。請先執行: pip install PyPDF2

Gemini CLI 提示詞參考:

「請幫我寫一個 PowerShell 腳本,搭配 Python 來判斷 PDF 是掃描檔還是標準格式。如果 PDF 中可以提取到文字就是標準格式,否則是掃描檔。然後將它們分類到 PDF_Standard 和 PDF_Scanned 兩個資料夾。」

實作步驟建議:
  1. 準備一個測試資料夾,放入一些不同類型的檔案
  2. 開啟終端機,使用 gemini 指令啟動對話
  3. 將上述提示詞輸入給 Gemini CLI
  4. 檢視 AI 產生的程式碼,理解其運作邏輯
  5. 執行腳本並觀察結果
  6. 如果有需要調整的地方,繼續與 Gemini 對話優化
學習重點:
  • 學會使用 Gemini CLI 生成自動化腳本
  • 理解如何透過清晰的提示詞獲得想要的程式碼
  • 掌握檔案整理的常見模式:副檔名、日期、內容類型
  • 了解如何結合 PowerShell 和 Python 處理複雜任務

第二部分:活用 MCP 工具

安裝 MCP 工具

  • 介紹 MCP (Model Context Protocol): 一種讓 LLM 擴充功能的協議,透過簡單的安裝讓 Gemini 能直接調用工具,甚至能控制瀏覽器
  • 展示: 探索 geminicli.com 官方提供的擴充功能生態系
安裝 Chrome Devtools Extension
bash
gemini extensions install https://github.com/gemini-cli-extensions/chrome-devtools

實作:工具整合應用

您可以透過自然的語言提示詞來控制 MCP。例如,您可以要求 Gemini:

  • 「打開 YouTube 網站」
  • 「在搜尋框中輸入『Gemini CLI』並按下 Enter」
  • 「擷取目前頁面的所有標題和連結」

1. 使用 MCP 蒐集頻道資訊

學習如何透過提示詞,引導 Gemini 開啟 Chrome、導航至 YouTube 頻道頁面、並抓取頁面上的數據。

目標: 取得頻道名稱、訂閱數、影片列表等資訊

2. 找出相似頻道並產出報告

  • 讓 Gemini 根據蒐集到的資訊,使用 Google 搜尋找出風格或主題相似的其他頻道
  • 重複上一步驟,抓取這些相似頻道的數據
  • 將所有數據整理成 Markdown 表格,並使用 Pandoc 將其轉換為一個精美的 HTML 網頁報告

第三部分:結合 ffmpeg、whisper 開發字幕產生器

本章節是課程的精華,我們將透過 Gemini CLI,以「Vibe Coding」的方式開發一個 YouTube 影片字幕產生器。

準備工作

取得 Groq API Key

  • 前往 GroqCloud 註冊並取得免費的 API 金鑰
  • Groq 提供了高效的 Whisper-large-v3 模型 API,非常適合用於語音轉文字
  • 將 API 金鑰設定為環境變數 (.env),以便在腳本中安全地使用

開發流程

  1. 需求描述: 詳細描述程式要達到的功能,若此時能明確指定開發語言以及使用的工具,可省略下一個步驟
  2. 調查及分析: 讓 AI 依據需求,透過網路查詢提供可行性方案,並要求提供各方案的完整分析
  3. 確認方案並請 AI 製作詳細規格文件: 決定方案,讓 AI 製作詳細的規格文件
  4. 依據規格文件將任務進行拆解: 若任務太龐大,AI 會容易失焦,錯誤率也會更高,可將需求拆解成小任務,依序完成,能大大提升成功機率
  5. 依據任務逐項開發: 所有資料準備齊全後就可進行開發,如果想得到更好的程式品質,可要求 AI 在完成小任務後都進行 Review,確認程式碼內容是沒問題的

字幕產生器功能需求

  1. 開發工具要求:Python 進行開發
  2. 接收 YouTube 連結: 程式腳本需接收使用者輸入的影片 URL
  3. 擷取影片並轉換為音檔:
    • 使用 yt-dlp (一個常用的 YouTube 下載工具) 或類似工具下載影片
    • 呼叫 ffmpeg,將下載的影片轉換為 .mp3 格式的音訊檔。這可以有效縮小檔案大小,避免超過 API 的上傳限制
  4. 透過 Whisper API 轉換逐字稿:
    • 使用 GroqWhisper-large-v3 模型
    • 將上一步產生的 .mp3 音訊檔透過 API 產生完整的逐字稿 (JSON 格式)
  5. 生成 SRT 字幕檔: 將上一步的逐字稿轉換為標準的 .srt 字幕格式
  6. 創意延伸:
    • 影片摘要: 讓 Gemini 讀取字幕檔,要求它生成 300 字的內容摘要
    • 社群貼文: 要求 Gemini 根據摘要,產生一篇適合發布在 Facebook 或 X (Twitter) 上的推廣貼文

實作要點:標準開發流程

為了確保開發過程順利且不出錯,建議按照以下五個步驟進行:

步驟 1:將需求存為 PRD.md

為什麼要這麼做?

在與 AI 對話時,如果需求較長,很容易在打字到一半時不小心按到 Enter 送出,導致需求描述不完整。將需求先寫在 Markdown 檔案中,可以:

  • 完整且有條理地整理需求
  • 避免遺漏重要細節
  • 方便後續修改與版本控制

操作提示: 建立 PRD.md (Product Requirements Document),將上述「字幕產生器功能需求」整理成文件格式。

步驟 2:依據需求轉為詳細 spec.md

務必確認細節!

規格文件是開發的藍圖,細節越清楚,AI 生成的程式碼品質越高。spec.md 應該包含:

  • 技術架構: 使用的程式語言、框架、第三方套件
  • 功能模組: 每個功能的詳細說明與預期行為
  • 資料流程: 輸入、處理、輸出的完整流程
  • 錯誤處理: 各種異常狀況的處理方式
  • 檔案結構: 專案的目錄與檔案組織

Gemini CLI 提示: 使用 @PRD.md 將需求文件加入上下文,然後請 Gemini 產生詳細的技術規格文件。

步驟 3:任務拆解 todolist.md

化整為零,逐步擊破

將大型專案拆解成小任務有以下好處:

  • 降低 AI 的錯誤率 (任務越小越聚焦)
  • 方便追蹤進度
  • 每個小任務完成後可以立即測試
  • 出錯時容易定位問題

範例任務拆解:

  • Task 1: 建立專案結構與環境設定
  • Task 2: 實作 YouTube 影片下載功能
  • Task 3: 實作音訊轉換功能 (ffmpeg)
  • Task 4: 實作 Whisper API 呼叫與逐字稿生成
  • Task 5: 實作 SRT 字幕檔生成
  • Task 6: 實作摘要與社群貼文生成
  • Task 7: 整合測試與錯誤處理

步驟 4:開始實作

重要原則:完成一個任務,更新一次 todolist.md

每完成一個子任務後:

  1. 請 AI 更新 todolist.md,標記該任務為已完成
  2. 簡單測試該功能是否正常運作
  3. 確認無誤後再進行下一個任務
  4. 如果發現問題,立即請 AI 修復後再繼續

開發技巧:

  • 使用 @spec.md@todolist.md 保持 AI 對專案的理解
  • 每個任務都要求 AI 加上詳細的中文註解
  • 適時要求 AI 進行 Code Review

步驟 5:測試驗收

完整測試清單
  • 功能測試: 每個功能是否符合需求
  • 邊界測試: 輸入無效 URL、網路斷線等異常情況
  • 效能測試: 處理長影片時的效能表現
  • 使用者體驗: 錯誤訊息是否清楚、操作是否直覺

驗收標準: 確保程式能夠:

  • ✅ 成功下載 YouTube 影片並轉換為音訊
  • ✅ 正確呼叫 Whisper API 並獲得逐字稿
  • ✅ 生成格式正確的 SRT 字幕檔
  • ✅ 產生準確的內容摘要
  • ✅ 適當處理各種錯誤情況
專業提示:

在整個開發過程中,建議使用 Git 進行版本控制。每完成一個主要任務就 commit 一次,這樣如果遇到問題,可以輕鬆回到之前的穩定版本。

第四部分:Vibe Coding 的迷失與未來展望

不懂程式也能 Vibe Coding? (5分鐘)

「Vibe Coding」的核心在於「溝通」和「整合」。即使您不是專業的程式設計師,只要您能清晰地描述您的需求,並了解如何組合不同的工具,您一樣可以透過 Gemini CLI 來打造出強大的應用程式。

AI 未來發展 (5分鐘)

AI 技術正在快速發展,未來將會有更多強大的工具和模型出現。學習如何與 AI 協作,將是未來開發者不可或缺的核心競爭力。

Q&A (5 分鐘)

鼓勵學員將今天學到的方法應用到解決自己工作中的重複性問題,分享彼此的想法和挑戰。