我每週都會跟美國同事開會。兩個月前,我連 CLI 是什麼都不知道。但這不是故事的開頭。真正的起點是某場會議裡,我對著螢幕停了三秒,對方在等我回答。我腦袋裡有完整的技術邏輯:「3D 轉檔圖面有破面、幾何資料異常、可能影響後續開模精度。」然而最後我只講出一句:「No, it’s broken.」

那句話太粗糙了。那不是我真正想說的話。但在會議當下,我講不出來。

為了彌補這個差距,我試過各種方法。打開字幕、用即時翻譯、把會議錄音存下來,隔天再重聽,確認自己沒有漏掉關鍵細節。我也試過學習 App,練商務英文、文法與主題課程。那些內容沒有問題,只是它們提供的是通用場景,而我的需求其實很具體。

我要練的是:

「怎麼跟設計師解釋矽膠材料的製程限制,修改成可行方案。」
「怎麼在部門會議裡提出我的意見、讓對方接受我的提案。」

有一段時間,ChatGPT是我的英文口說好朋友。把當天要討論的專案內容整理成文字,請它模擬對方角色與我對話。它的理解能力太強了,不管我用什麼破英文,它都聽得懂,這讓我能在安全的環境裡練習開口。然而幾輪之後,我開始察覺到問題,對話是即時的,修正是一次性的,幾句之後它往往會偏離角色,開始給出泛泛的鼓勵與建議。

我不需要一個傾聽者。
我需要的是一個會指出問題的教練。

慢慢地,我開始把商務會議拆解開來,它其實有結構。一部分是可控的,例如專案更新、預期問題與固定的討論節奏,這些都可以事先練習;另一部分是不可控的,即興討論與臨時質疑,但即使如此,也可以在會後回顧與優化。如果把會議視為訓練素材,而不是一次性事件,如果把逐字稿轉化為有角色、有衝突與任務設定的對話場景,並且讓每一次修正都能被記錄與分類,那麼練習是否會更接近真實場景?

那時候,我還不會VibeCoding。我不知道 Git workflow 怎麼運作,不知道資料庫怎麼串接,也不知道 API Key 應該放在哪裡。但我已經很清楚我要解決的問題。

於是,我決定自己做一個。


Coach AI 是什麼

Coach AI 是一個商務英語對練工具。

它的核心不是教英文,而是把真實工作場景轉化為可反覆演練的對話情境。

系統會拆解專案背景與角色,重建可重新練習的場景。一次性的會議,不再只發生一次。

Material library dashboard displaying analyzed meeting transcripts.

Fig. 1 Material Library Dashboard — Uploaded transcripts are structured into reusable speaking scenarios.

例如,某一場跟美國 PM 討論產品開發時程的會議紀錄,Coach AI 會從中拆解出多個可練習的情境,每個情境都對應一段具體的主題。

Scenario selection screen generated from a real meeting.

Fig. 2 Scenario Selection — Each meeting generates targeted real-world practice situations.

點進去情境後,會看到任務簡報:
這一步確保練習有明確目標、要解決的問題,而不是隨機對話。

Mission briefing interface showing role and conflict setup.

Fig. 3 Mission Briefing — Roles, objectives, and conflict points are defined before practice begins.

接著,你可以用語音或文字進行對練。AI 會持續追問、質疑、要求具體化。

Live voice practice interface with simulated stakeholder dialogue.

Fig. 4 Live Practice Session — A simulated stakeholder challenges your response in real time.

練習結束後,系統會給出整體評估與逐句優化建議,指出哪些表達過於籠統,哪些說法可以更專業,並自動整理值得記憶的詞彙與句型。

Practice summary report with performance metrics.

Fig. 6 Practice Summary Report — Performance metrics and improvement areas are consolidated into a final evaluation.

Sentence-level feedback view with refined responses.

整個流程其實很單純:

分析 → 對練 → 複盤 → 累積


暫停一下

接下來的重點不是擴充功能,而是使用回饋。我會每週固定用它練習,累積真實體驗,再決定下一步。包含將「練習後的回饋循環」做得更完整。現在練完會有報告,但報告裡的建議還沒有很好地串回下一次練習。

我希望做到:上週練習時常犯的錯誤,這週系統會特別針對那些點設計新情境。

如果這套邏輯真的有效,我可能會把「用真實素材練習」這個框架抽象化,延伸到簡報、談判或其他溝通場景。但這是之後的事了。

這篇文章的意義,不在於工具本身。而在於我開始把「寫程式」納入我的問題解決工具箱。我沒有變成另一種人。只是多了一種建構方式。我做出了第一個完整可運行的 AI 工具。

這只是開始。

若想知道Coach AI更多細節,可參考下方

Coach AI 主要功能

1. 逐字稿分析

  • 上傳會議紀錄(.txt )
  • AI 自動辨識產業、參與者、關鍵字
  • 產出 3-6 個練習情境

2. 情境對練

  • 語音模式:即時語音對話,像真的在開會
  • 文字模式:打字練習,適合想仔細斟酌用詞的時候
  • 角色選擇:你可以選擇扮演哪一方

3. 練習報告

  • 整體評分(詞彙精準度、商務專業度、溝通清晰度)
  • 逐句優化建議(對比你說的 vs. C2 級別怎麼說)
  • 自動擷取值得記憶的詞彙和句型

4. 學習累積

  • 專業詞彙庫:練習中遇到的關鍵詞彙(目前累積 103 個)
  • 金句庫:AI 建議的更好說法
  • 待改進區:標記需要加強的表達
  • 弱點分析:系統會追蹤你的常錯句 TOP 3

技術上怎麼做到的

(給有興趣的人)

前端用 React + TypeScript + Vite,跑在本地端。

AI 由三個 Gemini 模型分工處理:

  • 文字分析與報告生成
  • 即時語音對話
  • 文字轉語音播放

資料庫用 Supabase。有做 Row Level Security,每個用戶只能看到自己的資料。

開發過程中最大的坑是:Google AI Studio 適合快速做原型,但不適合串接後端資料庫。我在上面卡了很久,後來才搬到本地端用 Claude Code 開發。


現狀與限制

可以用的:

  • 完整的分析 → 練習 → 報告流程
  • 語音和文字兩種對練模式
  • 雲端同步(登入後資料不會丟)
  • 個人弱點追蹤(常錯句 TOP 3)

還沒做完的:

  • 手機版(已完成響應式設計,Vercel 部署測試中,很快可以隨身用)
  • 離線模式
  • 更細緻的學習進度分析

限制:

  • 需要準備會議逐字稿或專案文件
  • AI 對練的聲音目前只有英文
  • 免費額度有限,重度使用需要自己申請 Gemini API Key

如果你有什麼想法,歡迎交流。:)