這次需求是英文聽打。之前一直用 AudioPen。AudioPen 即使沒對口音做校正也非常精準,不過它的免費版有個致命的,官網上沒有提到的小問題,就是免費版竟然是有限制的!某天我在手機按下錄音,App 冷冷地告訴我不能用了,要用就要付錢!不過有七天免費試用期優(微笑)。之前一直想學 Vibe Coding,但沒想到好的題目。剛好遇到機會,直接拿這個題目開始做,用 VS Code + Cline + GPT-5 (BYOK) 搥一個 AudioPen 堪用替代品。
結果 GPT 一如既往比我聰明。我原本只想做個簡單的 Client,輸入 OpenAI API Key 存本機,對 Whisper 做 inference 就好。不過心念一動,想到最近某個 Google Gemini Vibe coding 爆雷的事情,還是決定把方案丟給 GPT-5,將 Reasoning 開最高,問一下這樣的計畫到底安不安全。果然 GPT 把我噴得滿頭滿臉,它給了幾個備選方案。我選了把金鑰保存在 Local 端且做成可攜的方案。
接下來就是被 GPT 教育的過程。例如:
Me:我可不可以輸入文字密碼,直接加密 API key 就行?
GPT:不行!你要經用雜湊 KDF 用 Argon2id 其中 target derivation time 至少 200-500ms,另外要有 16-32 byte 的 salt 12 bytes 的 nounce,金鑰長 32 bytes,加密用 AES-256-GCM blahblahblah
Me:恩,好 OwO (當事人大腦已失去回應,系統提示:找不到「20 年前學的應用密碼學」)
另外一次,我發現長語音會造成 App crash。我請 GPT 補 Error Logging,再把 dump 丟給 GPT-5 high reasoning,GPT-5 就直接告訴我這是 PyAudio 的哪個 function 因為什麼樣的原因造成 C runtime 的 stack overflow,然後就幫我把 code 改好。重新執行 Bug 也不見了,我完全沒進 debugger。
這樣一套做下來,發現我真的菜,擔心我到底價值在哪裡?雖然我還是有 function,例如我能告訴 GPT 該怎麼樣切模組,第一步做什麼第二步做什麼逐步做出來,但真正難搞的難點都是 GPT 做掉的,特別是資安,GPT 還提了些我聽都沒聽過的打法(例如 TOCTOU 之類)
以前總覺得寫 Code 是通靈。但我發現錯了,以前根本沒真的通過靈!用 Vibe Coding 才是真通靈,呼叫 AI Agent 就是請神上身施展道法,瞬間寫 code 品質還很好。App 穩定下來後,我還要好好讀 AI 生的 code,因為 AI 的產出比我手寫義大利麵程式碼更結構,看來更好讀、好維護、而且用了不少我還不懂的 Python 細節和技術。
不過這些折騰還是有收獲的。至少現在真的有了 APP,可以勉強實現 AudioPen 免費版和一咪咪的付費版功能,當然都有點劣化,也有些額外小問題,比如只有 PC 端,顯然沒有手機版,網頁版。程式 crash 得自己找問題,得自己申請 OpenAI API Key 搞定付費、金鑰授權...。呼叫 Whisper 和 GPT-4o-mini 顯然也不是真的免費,只是比直接買包好的產品便宜。當然最重要的是有成就感,這也是我自己整一套最重要的原因。
P.S 自己寫 Prompt 調模型做改寫後,發現模型 behavior 跟 AudioPen 很像。推測 AudioPen 很大可能是 Whisper 加上 GPT 改寫套殼 QQ
全文連結
0 意見:
張貼留言