iT邦幫忙

2026 iThome 鐵人賽

DAY 18
0
Vibe Coding

重新認識Github Copilot (續)系列 第 18 篇

Day18 - Vibe Coding Part2 : 用 Plan Mode 先規劃,再用 Agent Mode 實作:打造中文影片英文翻譯 App

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20261002/20103333sUUuFaXYw2.png
今天要來介紹筆者如何在 VS Code 裡,搭配 Copilot 的 Plan Mode 與 Agent Mode, 做出一個中文影片轉英文影片的 Web App。這對想練習 Vibe Coding、想快速做 PoC,都非常有參考價值 😎

🎯 為什麼要先用 Plan Mode?
實務上最怕的不是 AI 不會寫程式,而是筆者只丟一句「幫我做一個翻譯 App」, 然後 AI 很認真地幫我做出一個「不知道能不能跑、也不知道為什麼不能跑」的東西。 這種結果很像點餐只說「隨便來一份」,最後送來一盤不知道是炒飯還是義大利麵。/images/emoticon/emoticon38.gif

筆者在 Plan Mode 先輸入需求:建立一個可以上傳影片的 Web App,將繁體中文語音轉成英文, 並且產生英文字幕與英文配音。接著它開始反問我幾個關鍵問題,這一步其實很重要, 因為原本那句需求 Prompt 真的太 rough 了,根本不足以直接開工。

https://ithelp.ithome.com.tw/upload/images/20261002/20103333ZYDodTjoi8.jpg

🧭 Plan Mode先確認的四件事
輸出內容:只要字幕、只要英文配音,還是字幕與配音都要?
技術堆疊:使用 Python、FastAPI,還是其他 Web Framework?
AI 服務:OpenAI、Azure AI,或是完全使用本機模型?
限制條件:影片格式、檔案大小、部署方式與錯誤處理。

筆者這次選擇第三種:英文字幕加英文配音。

https://ithelp.ithome.com.tw/upload/images/20261002/20103333sdwhMbUezr.jpg

🧠 AI 模型怎麼選?便宜不一定輸,貴也不一定神
選擇語音與翻譯服務,以及最後要使用的模型。
接下來是選擇語音與翻譯服務。Plan Mode 會繼續詢問我要使用 OpenAI、Microsoft Azure AI, 還是完全在本機執行。筆者這裡選 Microsoft 的方案,主要是因為已經有 Azure Speech 與 Translator 的使用經驗,也希望這次能把 Azure AI 的流程串起來。

本機模型雖然省 API 費用,但需要顯示卡、模型下載與額外維護。
當然,本機模型也不是不能用。如果手上有顯示卡,可以選擇 local/offline 的流程, 不必把 API Key 交給雲端服務;只是速度、模型大小與環境設定都要自己扛。

https://ithelp.ithome.com.tw/upload/images/20261002/20103333G96zTovhkN.jpg

📝 Plan Mode 產生 plan.md:先看施工圖再動工
Plan Mode 產生 plan.md,並列出預計建立的檔案與實作步驟。
回答完問題後,工具開始產生規劃文件,這份內容會被放在 memory 底下的資料夾裡。 筆者可以直接打開它檢查,這一點很貼心,因為它不是只在聊天視窗講一堆543, 而是真的留下了一份可以閱讀、可以修改、可以追蹤的 plan.md。

這份計畫大致分成幾個階段:先建立 FastAPI 專案,再處理影片上傳、音訊擷取、語音辨識、 翻譯、英文語音合成,最後重新組合影片並提供下載。前端則用簡單的 HTML、CSS 與 JavaScript, 顯示上傳進度、處理狀態與下載連結。

https://ithelp.ithome.com.tw/upload/images/20261002/20103333b6caeiDpzs.jpg

筆者補充安全性與可維護性要求:API Key 放在環境變數,所有 Function 都要記錄 Log。
不過筆者沒有直接照單全收,順便再加了兩個條件: API Key 必須放在 environment 檔案,不能 Hard Code;每個 Function 都要留下處理 Log。 而且 Log 要可以用環境變數開關控制,這樣開發時能開啟,正式環境不想記太多就可以關閉。

https://ithelp.ithome.com.tw/upload/images/20261002/201033338ryLFft00D.jpg

🤖 從 Plan Mode 切到 Agent Mode,開始真正寫程式
筆者切換到 Agent Mode,接下來筆者選擇 Start Implementation,讓 Agent 按照剛剛的 plan.md 開始建立檔案。 其實也可以選 AutoPilot,讓它一路自動跑完;不過筆者這次還是想看中間過程是否有要確認的地方。

Agent 依照 plan.md 建立後端、前端與測試檔案。
Agent 開始依照計畫建立 Python 檔案、前端檔案與設定檔,並且居然也幫筆者補上單元測試。

https://ithelp.ithome.com.tw/upload/images/20261002/20103333ZNm74LdP4y.jpg

筆者檢查 Log,確認錯誤發生在哪一個階段。
這也是為什麼筆者特別要求產生 process.log。沒有 Log 的錯誤訊息,就像車子發不動, 只跟你說「有問題」,但不告訴你是沒油、沒電,還是引擎已經離家出走。 有了處理紀錄,至少可以知道是 API 設定錯誤、FFmpeg 找不到,還是翻譯服務回傳失敗。

https://ithelp.ithome.com.tw/upload/images/20261002/20103333wkaR6lkg2s.jpg

📹 上傳影片測試:先看 process log,再相信畫面
環境修正後,開始上傳影片進行測試。
修正設定後,筆者上傳一支短影片開始測試。

https://ithelp.ithome.com.tw/upload/images/20261002/20103333ekCJeaYS7I.jpg

實際處理流程先抓字幕,再產生英文語音,最後重新合成影片。

測試完成後,Web App 顯示影片、字幕檔與英文音訊下載連結。
最後,Web App 會提供處理完成的影片、英文字幕檔與英文音訊檔。 這個結果已經足以完成今天的 Demo:上傳中文影片,產出具有英文字幕與英文配音的影片。

https://ithelp.ithome.com.tw/upload/images/20261002/20103333RMbUYEBsKC.jpg

🎬 最後驗收:影片能播、有字幕、有聲音才算過關
筆者下載並播放產生的影片,確認字幕與配音結果。

https://ithelp.ithome.com.tw/upload/images/20261002/20103333h3eZRcsdEI.jpg

更多實作Demo,請參考完整版影片囉

💡 本日結論:Plan Mode 不是多此一舉
這次最大的心得,就是不要小看 Plan Mode。很多人看到 AI Agent 可以直接改檔案、下指令, 就想跳過規劃直接衝刺;但實務上,先讓它把需求問清楚,反而能少掉很多來回修改。 /images/emoticon/emoticon07.gif


上一篇
Day17 - Vibe Coding Part1 : 用 Azure AI Service 把中文影片變成英文版
下一篇
Day19 - Vibe Coding Part3 : Github Copilot用 YouTube API,加入影片自動發文功能
系列文
重新認識Github Copilot (續) 共 20 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言