今天睡醒之後,眼前系統忽然跳出:
任務是打造一把武器
請打造一個屬於你個人的一把武器
什麼!竟然還有任務,也對,現在好像沒有適合的武器可以展開攻擊?
進度:3%/100%
* ✅ 故事脈絡
* ✅ 打造個人裝備
個人裝備:
* ✅ Nuxt + TypeScript
* ✅ Tailwind CSS + daisyUI
* ✅ Netlify
已取得武器:
* □ 打造中...
回到《Re:Human》網站的第二個問題,我該如何收集內容資料?
這個是我目前最頭大的,除了自己寫爬蟲之外,好像沒有別的方法了?那不如就開始來 Vibe Coding 一個腳本程式吧
Google 的 NotebookLM 相當強大,可以把影片整理成摘要,而影片可能是我的資料來源?但我需要的影片大部分都是中文的,部分的中文影片在 NotebookLM 內是無法使用的,所以我需要有一個線上影片轉字幕的工具。
我一直在思考所謂的 Vibe Coding 到底是什麼?中文叫做氛圍編碼,直覺它的意思是用一種很 chil 的氣氛來寫程式。憑良心講,以前寫程式確實是一個很花費腦力與精力的工作,如果真的可以 8 小時全神貫注在工作上,下班之後精力所剩無幾,只想當一個沙發馬鈴薯罷了。
如果可以像老闆那樣一個指令下來,整個團隊就會動了起來,然後最後老闆看結果與審查。仔細思考這個工作流,老闆下達指令,軟體開發的團隊為首就是 PM,當 PM 收到指令之後,開始撰寫規格,然後與工程師溝通需求,最後交付軟體,當然我省略了很多細節,但是大部分流程確實是這樣走的。在這當中最重要的就是 PM 角色,然後撰寫規格,所謂得規格得天下,規格寫得好,寫得細,寫得清清楚楚,車子該往哪裡走,就往哪裡走。
所以如果當我使用 Vibe Coding 工作流時,指令也是我下給 AI,如果有一份文件規格寫得清清楚楚給 AI 看,它能不能完全把事情做好呢?
影片轉文字,技術用什麼?UI如何呈現?有哪些功能?如何實現?我必須先自己回答這些問題,然後寫一份清清楚楚的規格書出來。
身為開發者,當然是用 md 檔案當作主要的規格書撰寫方式,使用 md 檔案的好處是文字化編輯、排版簡單、可以直接在 IDE 程式碼編輯視窗內撰寫。所以我先統整一個清楚的規格書的標題有哪些。
# 頁面結構
## 功能說明
## 實現檔案
## 備註
標題定義出來了,接著把「影片轉文字」這個需求拆解出來,撰寫到 md 檔案內:
# YouTube 語音轉文字
## 功能說明
- 使用 node.js 開發一個 YouTube 轉文字的功能
## 實現檔案
- 主程式: index.js
## 備註
如果規格書這樣寫的話,直接 Vibe Coding 的話勢必會造成一個災難。AI 會根據它自身的知識自行腦補所需要的套件,但這卻是在真實世界之中,PM 給予的規格內容。身為工程師必須要自己將這份規格補足完全,node.js 只是一個語言,後面的框架要選擇哪一種?這才是最重要的部分。
使用 node.js 開發一個 YouTube 轉文字的功能,真正必須要拆解成三個步驟:
而工程師必須要根據這 3 個步驟,給予對應的方法或者框架:
所以總結下來,完整的規格書內容會是:
# YouTube 語音轉文字
## 功能說明
- 使用 node js 開發
- 程式執行後,使用者要輸入 YouTube 網址,使用命令列輸入即可
- 將 YouTube 網址下載成音檔
- 下載使用 yt-dlp-wrap 套件
- 檔案儲存到 data 資料夾下
- 將 mp3 轉換成文稿 .txt
- 使用 nodejs-whisper 套件
- 轉換成繁體中文
- 檔案儲存到 data 資料夾下
- 轉換完成後刪除 .mp3
## 實現檔案
- 主程式: index.js
- 抓取影片: utils/search.js
- 下載音檔: utils/download.js
- 轉換文稿: utils/transcript.js
針對每項說明,再補足一些更細微的細節。其中的實現檔案,為了之後可以更方便維護程式碼,必須要將功能拆解到不同檔案。
接著我使用 Cursor IDE 之中,輸入「根據 spec.md 檔案,產生對應程式碼」
稍微測試調整一下無誤,於是,我有了一個線上影片轉字幕的工具了。
完整程式碼參考:https://github.com/JakeChang/yt2txt
也完成了 NotebookLM 摘要分析的工作流,
影片 -> 轉字幕 -> NotebookLM -> 摘要
此時,系統忽然跳了出來
已取得個人武器
進度:4%/100%
* ✅ 故事脈絡
* ✅ 打造個人裝備+武器
個人裝備:
* ✅ Nuxt + TypeScript
* ✅ Tailwind CSS + daisyUI
* ✅ Netlify
已取得武器:
* ✅ YouTube 語音轉文字
終於可以出門了?
《Re:Human》—— 人類補完計劃,下集待續...