里程碑
用n8n串聯Line與AI Agent做了個課程錄音整理系統
Josh @josh0619發布於 已編輯
一、為什麼做這個?
上了大二後,專業科目加入,課業繁忙耗時,
上課內容雖然非常重要,但老師的教學方式卻枯燥乏味、
難以接收知識,於是我都會在課堂上讀自己的,
並將上課內容進行錄音,下課後請AI校正、摘要後再自己讀。
這次的作品就是基於我原有的流程進行優化。
1.原處理流程
錄音 : 我是使用iOS內建的語音備忘錄(他可以直接複製逐字稿給我後續的優化很大的幫助)。
上傳 : 將音檔從語音備忘錄分享到Google Drive。
轉錄 & 校正 & 歸檔 : 我用Google Spark寫了一個skill來完成,不過因為工作量有點大所以產出結果不太可控。
在原方法用了一陣子我發現他在上傳與轉錄 & 校正 & 歸檔這兩個步驟需要改進,
上傳方面,因為音檔本身都是4、50分鐘起跳,手機就要定在那2、3min等他傳完;
轉錄 & 校正 & 歸檔方面,主要是不太可控,而且很多雜事讓他的用量消耗很快。
發現問題後我也沒什麼想法所以就暫時放著了,直到接觸到n8n腦袋才浮現一些辦法。
二、Workflow展示+解說
LINE
↓
Webhook
↓
AI Agent辨識
↓
Code
↓
Drive抓講義
↓
AI Agent校正 → 儲存(Drive與NotebookLM)
↓
AI Agent摘要
↓
LINE 回覆
1.各階段AI Agent怎麼執行任務?
階段一 : AI Agent辨識
判斷內容並輸出課程代碼、檔案名稱及逐字稿。
# 輸出格式
ourse_code 必須從以下五個代碼中擇一:
ENG_MATH(工程數學)、FLUID_MECH(流體力學)、DYNAMICS(動力學)、ELEC_ENG(電工學)、LOGIC_PHIL(邏輯與哲學)。
filename 格式為「{{ $now.format('yyMMdd') }}_科目簡稱逐字稿_校正版」。
# 輸出格式範例
{
"course_code":"ENG_MATH"
"filename":"261024_工數逐字稿_校正版"
"逐字稿":"{{ $('逐字稿輸入(Line)').item.json.body.events[0].message.text }}"
}階段二 : AI Agent校正
根據雙軌內容、規範,輸出一份完整校正版逐字稿。
第一軌:Code節點內的本科目專屬同音錯字與符號規範。
第二軌:Drive內的 講義Markdown檔案。
你是一位精通大學理工與哲學領域的學術逐字稿精修專家。你的任務是將課堂語音辨識產出的「原始逐字稿」,結合「科目專屬校正詞庫」與「講義Markdown檔案參考內容」,精修並重構為結構嚴謹、專為 Word (.docx) 閱讀優化的「完整校正版逐字稿」。
由於最終檔案將輸出為 Word (.docx) 格式,請嚴格遵守以下五大校正與視覺排版鐵則:
1. 【修正同音錯字與保留中英對照術語】
- 依據提供的科目專屬詞庫與講義內容,修正所有語音辨識(ASR)產生的同音錯字與口誤。
- 重要專有名詞首次出現或作為小節標題時,請保留「中文(英文全名或縮寫)」對照(例如:自由體圖(Free-Body Diagram, FBD)、積分因子(Integrating Factor)、有效論證(Valid Argument))。
2. 【使用肉眼易讀的 Unicode 數學與物理符號(禁用原始 LaTeX 反斜線代碼)】
- Word (.docx) 無法直接渲染 LaTeX 原始碼,因此請「全面禁止」輸出 $、$$、\frac、\partial、\int、\Sigma、\mathbf 等 LaTeX 反斜線語法!
- 請一律使用清晰直觀的 Unicode 數學符號、希臘字母與上下標來呈現所有方程式與推導過程:
* 微積分與偏微分:dy/dx、d²y/dx²、∂M/∂y = ∂N/∂x、∫ P(x) dx、∇p、∇²V
* 指數、對數與上下標:e^(∫P(x)dx)、e⁻²⁰ᵗ、x₀、y₁(x)、c₁、c₂、V²、10⁷
* 物理與力學向量:∑F = m·a、∑Fₓ = m·aₓ、∑Fₙ = m(v²/ρ)、ṙ (r-dot)、r̈ (r-double-dot)、θ̇ (θ-dot)、θ̈ (θ-double-dot)、eᵣ、e_θ、uₙ、uₜ
* 希臘字母與單位:α, β, γ, θ, λ, μ, ν, ρ, σ, τ, φ, ω, Δ, Ω, °F, kg·m/s², lb/min, gal/min
* 邏輯算子與推導箭頭:· (連言)、∨ (選言)、⊃ (條件句)、≡ (雙條件句)、~ (否定)、⇒ (推得)、⇔ (若且唯若)
- 獨立的重要公式請單獨成行並於行首縮排 4 個半形空白(或加上「▸ 公式:」),確保推導步驟上下對齊、一目了然。
3. 【Word (.docx) 專屬視覺層次排版(避免露出刺眼的 # 與 ** 符號)】
- 請勿使用 #、##、**、``` 等會在純文字轉 .docx 時直接露出的 Markdown 符號。
- 請改用以下乾淨的視覺階層符號與空行來排版:
* 文件主標題置頂:直接寫出「[建議檔名]」,下一行起列出「科目名稱:…」、「授課範圍:…」、「授課日期:…」,下方加一行「═══════════════════════════════════」分隔。
* 大章節標題(第一層):使用全形方括號「【一、 專業術語與公式校正要點摘要】」、「【二、 課堂完整校正後逐字稿】」,前後各留一行空白。
* 段落主標題(第二層):使用「■ 1. 標題名稱」或「■ 2. 標題名稱」,前留一行空白。
* 子標題(第三層):使用「(1)子標題名稱」或「(2)子標題名稱」。
* 重點條列與步驟:主條列使用「• 」,次一層推導步驟使用「 ▸ 」(全形空白+實心三角),讓版面具備教科書般的縮排呼吸感。
4. 【絕對保留教學細節,禁止濃縮刪減推導】
- 刪除無意義的發語詞、口吃與重複碎語(如「那個、對不對、好、えっと」),但「絕對不可」把完整逐字稿濃縮成摘要。
- 必須 100% 完整保留老師講解的物理意義、正負號直覺檢驗(Sanity checks)、生活化比喻(如蛋糕冷卻、海水魚缸混合)、解題步驟拆解、作業規定以及期中期末考點提示。
5. 【格式禁令】
- 整份逐字稿嚴格禁止使用任何彩色 Emoji 表情符號。階段三 : AI Agent摘要
將校正後內容進行摘要。
你是一位貼心的課業助理。請根據校正後的課堂逐字稿,整理出一則專為「手機 LINE 聊天室」設計的「課後重點摘要通知」。
【LINE 專屬排版鐵則(極重要)】
1. 絕對禁止使用任何 Markdown 語法:不可出現 **、*、#、`、---、文字 等符號(LINE 不支援 Markdown,這些符號會直接顯示成亂碼)。
2. 絕對禁止使用 LaTeX 語法:不可出現 $、\frac、\partial、\Sigma 等代碼;所有公式一律改用手機好讀的 Unicode 符號與上下標(例如:dy/dx + P(x)y = f(x)、μ(x) = e^(∫P(x)dx)、∑F = ma、∂M/∂y = ∂N/∂x)。
3. 善用全形標題框、分隔線與縮排建立手機視覺層次:
- 區塊標題請用「▍」或「【】」標示,區塊之間空一行,讓手機畫面清爽不擁擠。
- 主條列使用「• 」,子項目或公式使用「 ▸ 」(前方加一個全形空白縮排)。
4. 網址必須「單獨成行」且前後不加任何括號:在 LINE 中,只有將 https://... 獨立放在一行,才會自動變成可點擊的藍色超連結。
請嚴格依照以下格式輸出回覆訊息:
📚 【課後重點摘要|(填入科目簡稱)】
━━━━━━━━━━━━━━
▍課程與進度
• 日期:(填入授課日期)
• 範圍:(填入章節與核心主題)
▍本堂核心觀念與公式
1. (核心觀念一名稱)
▸ (一句話物理/數學意義或關鍵公式)
2. (核心觀念二名稱)
▸ (一句話物理/數學意義或關鍵公式)
3. (核心觀念三名稱)
▸ (一句話物理/數學意義或關鍵公式)
▍作業、小考與課務提醒
• (列出作業勾題、繳交期限或考點提醒;若無則填「本堂無特別課務宣布」)
━━━━━━━━━━━━━━三、遇到的困難
這次真的非常勞煩Gemini的幫忙,好幾次都差點用完用量。
也因為不斷測試,Google Ai Studio免費額度的tokens都給我用完了。
1.n8n操作問題 :
雖然有把小屋無事和ai小精靈的課程都上完了,
但過程中為了達成目標所用到的節點(Code、Drive相關),有些都是第一次用,
所以也是不斷地問AI、不斷地再測試。
2.很多沒碰過的領域 :
json、javascript、各種API(Gemini、Drive、Docs、Line),
全部都是我沒接觸過的領域,很感謝有Gen AI幫我解惑、帶著我操作,
我才有辦法做出這個作品。
3.Line不會自動渲染Markdown格式 :
再成品(摘要)第一次回復到Line時,我發現訊息帶著滿滿的 **#$\{}-* ,
******才發現Line不支援Markdown格式,馬上就跟我的Spark進行討論,
最後幫我將AI Agent校正裡使用的LaTeX 語法改成Unicode 數學符號、
也將AI Agent摘要中針對 LINE 聊天室指使用純文字進行排版。
Spark還提出了個很有趣的辦法,
那就是在最後的HTTP Request節點中使用LINE Flex Message 互動卡片,
最後輸出時我真的被驚艷了,超級好看。
四、使用到的技術
| 類別 | 技術 | 用在哪裡 |
|---|---|---|
| 自動化平台與對外網域 | n8n(Zeabur 雲端自架) | 流程主要運作區域 |
| 聊天介面 | LINE Messaging API | 在聊天室接收課堂原始逐字稿觸發 Webhook、顯示載入動畫提示處理進度,並透過 Reply / Push 與 Flex Message 互動卡片回傳課後重點摘要及底部互動按鈕(開啟雲端校正稿、NotebookLM) |
| 語言模型 | Gemini 3.6 Flash | 擔任核心「學術逐字稿深度校正 Agent」,結合科目專屬詞庫與雲端講義,修正理工課堂中英夾雜的語音同音錯字(如「權威分 → 全微分」、「煮泥 → 阻尼」),並 100% 還原黑板數學推導與物理意義 |
| 語言模型 | Gemini 3 Preview | 負責長篇課堂內容初步處理、主題偵測與自動判別所屬科目 |
| 語言模型 | Gemini 3.1 Flash-Lite | 負責輕量高速的課後重點濃縮,從校正後逐字稿中提煉出核心觀念公式、作業繳交期限與考點提醒,轉換為符合 LINE 卡片與手機排版的摘要訊息 |
| 程式 | n8n Code 節點(JavaScript) | 解析模型輸出的 JSON 資料、根據五科代碼(工數、流力、動力學、電工學、邏輯與哲學)動態路由對應的雲端資料夾 ID 與 NotebookLM 網址,並載入內建的五科同音錯字詞庫 |
| 資料儲存與檢索 | Google Drive API & Google Docs | 動態搜尋並下載各科講義作為校正依據,並將校正版文件自動建立並分流歸檔至各科 資料夾 |
| 知識庫系統 | Google NotebookLM | 將各科校正後逐字稿對接至五科專屬筆記本(如 大二上工程數學、大二上流體力學、大二上動力學),建立可跨章節問答的學期複習知識庫 |
| 校正規範與排版標準 | 音檔處理規範 & Unicode 數學符號規範 | 統一微積分與物理向量之 Unicode 符號(如 ∂M/∂y = ∂N/∂x、μ(x) = e^(∫P(x)dx))及全形階層符號(【】、■、▸),解決 Word / Google Docs 與 LINE 無法直接渲染 LaTeX 及 Markdown 的亂碼問題 |
五、成果
請參考附件啦,有初期手稿、流程圖、影片實測(在新分頁開啟)、跟Spark討論出來的手冊(手冊建議用Google 文件開啟會比較清楚)
六、心得
活動剛開始的時候,
我是想說要來慢慢做,
一天一點點地前進,
誰知道上大二後的課業繁忙程度,
是一天五點點的來,
在截止前一天努力把其他東西都處理掉,
花了一整天把任務本體完成了,
在做的過程中真的是不斷的讚嘆AI的強大,
好多東西都是我沒聽過、也不會去嘗試的,
但是因為AI的關係,
讓我在面對未知、陌生的事物,
我害怕了,
我去做了,
我做錯了,
我發問了,
我改進了,
最後,我前進了。
很感謝nuva能提供這樣的機會讓我能夠學習這麼多東西,
接下來一年可要好好加油了。
0 個愛心0 則留言
登入並驗證手機後就能留言。登入