SQLite 支援本機工作流
資料與狀態集中在本機,部署簡單;但模型呼叫時間很長,所以資料庫交易要保持短小。
取捨:多個工作同時寫入時仍要處理競爭,不能把單檔資料庫當成沒有並行問題。
個人專案 · 資料整理與 LLM 驗證 01 / TL;DR
整理求職平台的職缺與技能要求,將模型判斷連回原文,讓每天找工作時多一份可以核對的資料。

操作影片
從職缺清單、技能判斷到原文核對與報告查看。
錄製完成後會放在這裡。
找職缺時,我會反覆比較職稱、工作內容與技能要求。相同關鍵字不一定代表相同工作,列表摘要也常常不足以支持判斷。
這個工具先服務自己的資料整理流程:留下來源、整理變動,再請模型協助判讀。我更在意判斷能不能回頭查證,而不是只得到一個看似精準的分數。
由上往下沿藍色箭頭閱讀,右側是各階段的工作。小螢幕可在圖內左右滑動。
資料與狀態集中在本機,部署簡單;但模型呼叫時間很長,所以資料庫交易要保持短小。
取捨:多個工作同時寫入時仍要處理競爭,不能把單檔資料庫當成沒有並行問題。
使用本機模型協助整理文本,對引用原文做可重複的逐字驗證,保存模型與提示版本。
取捨:逐字存在只能證明出處,不能證明推論成立;模型品質仍需人工標註資料評估。
排程與手動操作可能同時發生,用條件更新及資料庫唯一性約束保護最後的寫入。
取捨:跨行程鎖只能協調工作順序,資料正確性仍要由每次狀態轉移自己保證。
模型輸出可以很流暢,卻引用了一句原文沒有的話。把「有引用」與「引用真的存在」分成不同狀態,才能避免將格式完整誤認為內容可靠。
做法差異 · A只看模型輸出的等級與說明。
本專案採用 · B每筆判斷保留引文檢查結果,失敗時可追查。
# 示意:缺資料與比對失敗是不同狀態
if not quote or not description:
quote_valid = None
else:
quote_valid = quote in description
# True 只表示逐字存在,不能保證語意判斷正確
save_result(level, quote, quote_valid, model_version)保留未能驗證的狀態,避免把缺少引文當作已通過。下一層仍需人工檢查引文是否真的支持該技能判斷。
模型可能需要數十秒才回覆。在等待期間保留 SQLite 寫交易,其他工作就可能被擋住。先讀取快照,完成推論後,再用條件更新確認狀態仍然符合。
做法差異 · A開啟寫交易後呼叫模型,其他寫入一起等待。
本專案採用 · B模型在交易外執行,寫回時以原狀態作守衛。
# 示意:讀取完畢即結束資料庫交易
snapshot = read_job(job_id)
result = call_model(snapshot)
# 短交易寫回;期間狀態改變就放棄這次結果
changed = update_if_state_matches(
job_id, expected=snapshot.state, result=result
)
if not changed:
discard_stale_result()條件更新避免覆蓋其他操作。跨行程協調、短交易、狀態守衛與唯一索引各管一層,不能只加一把鎖就視為完成。
發現:104 列表內容可能是關鍵字附近的短片段,不能直接當完整工作說明。
排查與處理:補抓詳情後記錄完成時間,後續列表更新不可再用摘要覆蓋,避免模型輸入倒退。
發現:引文不在原文、缺少人工標註,都會讓漂亮的分類統計失去依據。
排查與處理:將引文檢查與模型品質分開量測。歷史紀錄沒有完成金標準驗證,因此不把整理量當分類準確率。
以下為 2026 年 9 月整理的歷史開發紀錄;數據依各自的樣本與量測情境解讀,並非即時統計。
2026-09-01 快照,累積 18 天資料。數量說明資料流程的使用範圍,不代表涵蓋所有職缺或每筆都完整。
歷史 Lv1+ 子集有 37.4% 引文不在原文。這是引用檢查失敗比例,不是所有模型輸出的幻覺率,也不是分類錯誤率。
該次快照沒有完成標註資料,無法報告可信的分類 accuracy、macro-F1 或一致性指標。引用通過也不能取代這一步。
我學到的是讓結果帶著證據與狀態一起留下來。若重新安排,會先做小批人工標註,再擴大每日處理量,讓模型更換前後有共同的比較基準。
以下是依目前限制整理的後續方向,尚未完成,也尚未排定時程。
從不同來源與技能等級抽樣,先盲標,再整理容易分歧的判準,避免被模型既有答案影響。
怎麼確認有改善:分開量測分類表現、標註一致性及引文有效率,附上樣本數與錯誤分布。
清楚顯示詳情是否補齊、最後成功時間與來源失敗狀態;遇到來源限制時降低請求並停止無效重試。
怎麼確認有改善:讓讀者能判斷資料新鮮度,不把擷取中斷造成的缺漏誤讀成職缺市場變化。
在同一組已標註資料上比較模型及提示,保留成本、耗時和不合格原因。
怎麼確認有改善:以可重現的品質差異決定更換,而不是只看回覆速度或少數成功範例。