聯絡 EN 中文

legit

契約風險評估 AI agent,結合法規 RAG 與 golden set 評測

試行 獨力完成

沒有公開連結,本頁說明問題、決策與成果。

一眼看懂

問題
慈濟基金會的業務單位在簽約前,要先判斷風險:有沒有用法務處的例稿、風險較高還是較低、需不需要送法務處審閱。
我做了什麼
一套內網服務,分成三塊。
成果
內部試行中;在法務處提供的 golden set 上,三跑一致率從 56% 升到 81%,27 跑中的失敗從 10 跑降到 2 跑。
我的角色
獨力完成
期間
2026-08 → 2026-09

展現的能力

每一項都連到能力頁上對應的能力與等級。

問題

慈濟基金會的業務單位在簽約前,要先判斷風險:有沒有用法務處的例稿、風險較高還是較低、需不需要送法務處審閱。承辦人得從幾十份例稿裡找出對的那份,再對照散在好幾份文件裡的規則,而這些文件之間還有互相矛盾的地方。

我做了什麼

一套內網服務,分成三塊。第一塊是對話式風險評估 agent:讀上傳的契約和附件,每呼叫一次工具,畫面就出現一張卡;它用白話說明看到了什麼,最後產出格式固定的報告。第二塊是小助理,幫忙找出對的例稿、協助填寫業務條款。第三塊是案件庫,每一件送案都留下完整的簽核軌跡。

運作方式

  1. 附件抽取層只接受白名單格式:docx、PDF(掃描頁走 OCR)、試算表、簡報,並設有長度上限。沒有納入的檔案一律標明,不會悄悄略過。
  2. agent 先確認上傳的是不是契約,再到 72 份例稿裡找範本:先用向量粗篩出 30 份,再交給 reranker 精排。前兩名如果是已知的易混淆組,就先問使用者一個問題。
  3. 沒有使用例稿的契約會切成一條條條款。每一條同時用向量和 trigram 兩條路,到 20,491 條的法規庫召回,再精排;報告裡引用的法條,一律回到原文欄位逐字讀取。
  4. agent 送出結構化的評估結果,報告和送審路由由固定的程式產生。
  5. 最後由人按下送案。案件連同以事件溯源記錄的簽核歷程一起存檔。

關鍵決策

  • 判斷交給 agent,證據交給程式。 Python 工具只負責遞證據、存結果,可以離線測試;判斷由模型做。報告格式和路由規則則維持確定性。
  • 不做遮罩。 遮罩過的契約讓模型讀到殘缺內容,報出假問題。模型透過基金會自己的閘道在地端執行。log 不含個資,只引用條號。
  • 法規比對以求全為先。 法務處的要求是「不要放過任何一個法規」,所以較慢的後備檢索維持開啟,時限也調高到 600 秒。
  • 改了檢索就重跑 eval。 找範本的 hit@1 不得低於 0.949,法規對齊不得低於 0.821。

成果

目前在內部試行。法務處提供 10 件真實案件當 golden set,個資已換成虛構值,每件跑 3 次(fast 模式,未啟用法規後備檢索),計分 9 案。修完一輪可靠性問題後,27 跑裡的失敗從 10 跑降到 2 跑,三跑皆成功的案件一致率從 56% 升到 81%。案型準確率(多數票)仍只有 44%(4/9 案),最難的一刀是判斷「這份是不是某份例稿的填寫版」,要等法務處裁示。2026-09-03 的檢查點上,1,127 個 pytest(5 skip、1 xfail)和 340 個 Vitest 全綠。整個專案用 Claude Code 以 spec → plan → implement → review 的流程開發,每一次裁示都寫進 append-only 的決策紀錄。