背景與挑戰
求職期間每天要看 104 與 1111 的新職缺,判斷哪些真的需要 AI 技能、哪些只是關鍵字。使用者是我自己。兩個難點:本機小模型的判斷不能直接信;每天自動跑的排程和我手上的互動端要同時存取同一個 SQLite 資料庫。
我負責的部分
獨力完成。爬蟲、資料庫、並行控制、LLM 判定與驗證、報告與投遞素材產出。
Python · SQLite · Ollama(qwen2.5)· 排程
成果與驗證
5,489筆職缺入庫,18 天每日快照
37.4%模型引文非原文,量出來才知道不能直接信
1,028個測試案例,全離線
以上為專案在 2026-09-01 至 09-07 整理的成果;測試集與實際使用情境不同,個別量測範圍見各項說明。
實作過程
展開技術選擇、遇到的問題與解法
- 四層並行控制:跨行程檔案鎖讓夜間排程替互動端讓路、LLM 呼叫期間不持 SQLite 寫鎖、狀態守衛寫進同一條 UPDATE 的 WHERE、partial unique index 做冪等。
- 把模型輸出當成要被驗證的宣稱。引文是否逐字出現在原文變成資料庫欄位;應徵信零 LLM 純模板組裝;反編造檢查擋住母版沒有的技能。
- 用測試釘住看不見的保證:在被 mock 的 LLM 呼叫裡另開一條 timeout 一秒的連線去寫,寫得進去才算通過。
延伸閱讀:這個專案的工程筆記
- 把模型的引文變成可機械檢查的欄位 prompt 要求逐字引用,小模型不一定聽話。量了 1,434 筆,37.4% 的引文不是原文。
