第一次把「找到規則」與「做出正確判定」拆開來看
問題:計畫執行期滿後,什麼時候要完成結報?
judge.py
Retrieval 成功,不代表 decision 成功。
這是第一次用可以現場跑的程式,具體展示規則判定層和 baseline RAG 的差異。
法規 PDF → 純文字 → 結構化 JSON → 人工複核 → 規則判定
當時最大的弱點在「PDF → 結構化規則」:
引擎可以是 deterministic,但如果進去的規則本身漏了條件,最後仍然會穩定地判錯。
測試題當時分成 A–E 類:
這類還沒有完成。
下一步不只是增加更多規則,而是讓系統知道:
目前缺哪個案件事實?這個事實會不會改變判定?如果會,就先問。
不能再用「PDF 裡出現什麼,就決定 schema 有什麼」。
老師建議改成 top-down:用 人、事、時、地、物 系統化檢查情境。
空值可以存在,但「有沒有問過這個維度」不能靠運氣。
老師區分了兩件事:
要改成:
程式決定每一步一定要檢查什麼 → LLM 只回答這一步 → 程式再驗證答案
不是相信模型「應該有想到」,而是讓流程本身保證每個檢查都被執行。
下一週的任務:把 MECE 與「每一步一定執行」從口號變成可被程式檢查的設計。