跳至主要內容

里程碑

n8n x LINE|面試作戰室:一個會自己來找我練口試的推甄小精靈

抹茶 @jason7773發布於

🎯 為什麼做這個

最近在準備研究所推甄,報了好幾間,每間的研究計畫、口試形式都不一樣,有一間還要考計概筆試。

一開始我是直接開 AI 聊天練面試,但用幾次就發現三個問題:

  1. 每開一次新對話,就要重貼一次研究計畫
  2. 它不記得我上次哪一題答得爛
  3. 我不去找它,它就不會來找我

這三件事剛好都是聊天 App 做不到、n8n 做得到的:記住資料、照時間自己跑、主動推播。
所以這次的小精靈不只是「把 AI 搬進 LINE」,而是讓 n8n 當一個會記錄、會排程的口試教練。

══════════════════════════════════════════════════════

🤖 怎麼用

■ 模擬口試
 練 XX(學校簡稱) 扮演那間的口試委員,依我的研究計畫出題
 (直接打字回答)  評分 1–5、優點、待加強、建議講法,然後追問
 (直接錄語音回答) 多一段「口語表達」回饋:長度、贅字、有沒有先講結論
 結束        總結這一輪平均分數和最該補的兩件事

■ 複習弱點
 弱點 XX      挑出這間 3 分以下的題目重問

■ 行程
 行程        列出之後的名單公告、筆試、口試和倒數天數

■ 計概
 每天早上推一題,直接回 A/B/C/D 作答
 答完會逐一分析每個選項,再補一段相關觀念

■ 每天早上 8:00 自動推「今日戰報」
 倒數、到期該重答的弱點題、一題計概

══════════════════════════════════════════════════════

💬 互動示範(截圖中的學校、研究主題已替換成代號)

[截圖 1:模擬口試出題]
[截圖 2:錄語音回答 → 評分+口語表達回饋]
[截圖 3:今日戰報推播]
[截圖 4:計概作答與解析]

══════════════════════════════════════════════════════

🧱 架構

兩條工作流+五張資料表。

■ 工作流 1:面試作戰室(對話)

 LINE(文字/語音)
   │ Webhook
   ▼
 解析(Code)→ 送「輸入中」動畫
   │
 是語音嗎?
  ├─ 是:下載音檔 → 補副檔名 → Gemini 轉逐字稿
  └─ 否:直接往下
   ▼
 AI Agent(Gemini+Simple Memory)
  └─ 6 個 Data table 工具
    get_schools   讀各校的研究計畫摘要、預期追問
    get_events    讀行程
    getweakpoints 讀 3 分以下的練習紀錄
    log_answer    每評完一題就寫一筆
    getcsquestion 讀今天的計概題
    savecsanswer  寫回作答結果
   ▼
 清格式(去掉 Markdown)→ LINE reply

[截圖:工作流 1 畫布]

■ 工作流 2:每日戰報(排程)

 每天 8:00 → 讀行程、到期弱點、計概主題、作答紀錄
 → 組資料(Code:算倒數、挑最弱的一題、挑熟練度最低的計概主題)
 → Gemini 出一題計概(Structured Output Parser 固定格式)
 → 存進資料表 → 組推播文字 → LINE push
 → 推過的弱點延後三天再問

[截圖:工作流 2 畫布]

■ 資料層:n8n Data tables
 Schools(各校研究計畫摘要、預期追問)/Events(關鍵日期)/
 QALog(每題練習紀錄)/CSTopics(計概主題、熟練度)/CS_Log(每日計概題)

══════════════════════════════════════════════════════

🧗 製作過程與踩坑

・LINE 後台的 Webhook 開關一直打不開
 要先在 LINE Developers 貼上 Webhook URL 才能開。Verify 按鈕也在 Developers Console,不在官方帳號後台,我在後台找了很久。

・Channel ID、Channel secret、Channel access token 搞混
 n8n 要的是 Messaging API 分頁最下面那串很長的 access token,Header 填 Bearer 加空格加 token。

・日期一律不給 AI 算
 練習紀錄的「下次複習日」,AI 只回「幾天後」這個整數,日期由系統算;戰報裡的倒數也是 Code 算好再塞進去。AI 只負責出題和評分。

・Gemini 輸出被截斷,結構化格式解析失敗
 新版 Gemini 的思考過程也會吃 output token,2048 不夠用,題目寫到一半就斷掉。調高上限,再加上失敗自動重試。

・換成自己的 API key 後出現 Corrupted thought signature
 對話記憶裡還留著舊模型的工具呼叫紀錄,新模型讀到就報錯。把記憶的 Session Key 換掉、重新開始就好了。

・LINE 下載的語音沒有副檔名
 轉文字的 API 靠副檔名判斷格式,所以中間加一顆 Code 把檔名補成 .m4a。

・額度
 n8n Cloud 送的 AI 額度很少,用完節點就停。改成自己在 Google AI Studio 申請的 Gemini 免費金鑰,聊天、出題、轉文字都用同一把。

・整理簡章時發現撞期
 有一間的口試和另一間的筆試排在同一天。把它寫進行程表後,戰報和問行程時都會跳提醒。

══════════════════════════════════════════════════════

💭 心得

做完覺得 AI Agent 本身不是最難的部分,難的是決定哪些事交給 AI、哪些事要寫死。
日期、倒數、挑哪一題重問,這些有標準答案的我都用程式處理;出題、評分、解析這種需要判斷的才交給模型。分工清楚之後,回覆穩定很多。

另一個收穫是「主動」。以前練面試都要自己想到才去練,現在每天早上它會先推一題過來,就算只回一個字母,也算有在準備。

這個小精靈我會一路用到最後一場口試。

══════════════════════════════════════════════════════

🔜 之後想加的

・監看各校公告頁,名單或口試時段一公布就推播
・口試結束後錄一段語音覆盤,被問到的題目自動進題庫
・依作答結果更新計概熟練度,週末推錯題回顧
・試用期結束後改成自架 n8n

1 個愛心0 則留言

登入並驗證手機後就能留言。登入