iT邦幫忙

2026 iThome 鐵人賽

DAY 18
0
AI Security

《30 天從零打造資安語言模型:從微調到 Agent 落地》系列 第 18 篇

Day 18|任務二:顧問問答的快慢兩條路徑

  • 分享至 

  • xImage
  •  

本文所有資料皆為合成資料。

這個任務的特殊之處

事件報告的輸入是結構化的機器資料。顧問問答的輸入是人隨手打的一句話,而且問題的類型天差地別:

「這個告警是什麼意思?」
「我們要導入 MFA,你們建議怎麼規劃?」
「上個月那個誤報後來怎麼處理的?」
「金管會新的資安規範我們要做什麼?」
「你們的 SLA 是多久?」

這五題需要的處理方式完全不同。第一題要看告警內容,第二題要顧問經驗,第三題要查歷史,第四題要查法規原文,第五題根本不該讓 AI 回答(那是合約內容,要人回)。

所以這個任務的第一步不是回答,是分類。

問題分類器

我把問題分成六類:

類別 範例 處理路徑
A. 告警解讀 「這個告警是什麼意思」 查告警 + RAG 技術說明
B. 顧問建議 「該不該導入 X」 RAG 歷史 Q&A + 標準
C. 歷史查詢 「上次那個怎麼處理的」 查歷史報告庫
D. 法規合規 「新規範要做什麼」 RAG 法規原文(必附條號)
E. 服務行政 「SLA 多久」「帳單問題」 不生成,直接轉人
F. 無法分類 — 不生成,直接轉人

E 和 F 這兩類直接轉人,是我認為這個設計最重要的部分。

很多人做 QA 系統會想辦法讓它什麼都能答。我反過來——先定義清楚它不該答什麼。服務條款、合約範圍、帳務、以及任何分類器沒把握的問題,一律不生成,直接轉給人。

理由:這幾類問題答錯的代價特別高(合約爭議),而且它們本來就不需要 AI(答案是固定的,人查一下就好)。

快慢兩條路徑

分類完之後,走哪條路?

問題進來
   ↓
分類(A~F)
   ↓
E/F → 轉人,結束
   ↓
A~D → 查歷史 Q&A 庫,有無高度相似的已答問題?
   ↓                                    ↓
  有                                    沒有
   ↓                                    ↓
【快路徑】                            【慢路徑】
取出歷史回答                          完整檢索 + 脈絡組裝
+ 檢查時效性                          + 生成初稿
+ 微調成本次的問法                     ↓
   ↓                                  顧問審核
顧問審核(快速確認)                    ↓
   ↓                                  回存 Q&A 庫 ★
輸出                                   ↓
                                      輸出

快路徑的三個檢查

命中歷史 Q&A 不代表可以直接複製貼上。三件事一定要做:

一、時效性檢查。 歷史回答有 answered_at 與 expires_hint。如果回答涉及法規、產品版本、或威脅情報,就有時效。超過門檻的強制走慢路徑重新產生。

一個合成範例:

{
  "qa_id": "QA-2026-0512-031",
  "question_canonical": "端點防護軟體與現有防毒是否會衝突?",
  "category": "B",
  "answer": "…(顧問核可的回答)…",
  "answered_by": "顧問-王",
  "answered_at": "2026-05-12",
  "expires_hint": "product_version_dependent",
  "review_status": "approved",
  "referenced_sources": ["產品文件 v4.2 第 3 章"],
  "hit_count": 7
}

expires_hint: "product_version_dependent" 代表這個答案綁在特定產品版本上。系統會檢查目前版本是否仍為 4.2,不是就走慢路徑。

二、問法對齊。 歷史問題的措辭跟這次不同,回答要微調成對應這次的問法。這一步用模型做,但只允許改寫措辭,不允許改變事實內容。

三、脈絡差異檢查。 同一個問題,不同客戶的答案可能不同(環境不同、合約範圍不同)。跨客戶命中的歷史 Q&A 要標記出來讓審核者注意。

慢路徑:一個完整例子

以 D 類(法規合規)為例,因為它的要求最嚴格。

問題:「主管機關新的資安規範,我們的稽核紀錄保存要調整嗎?」

檢索:從法規 RAG 庫檢索相關條文。切塊時保留了條號,所以檢索結果帶著明確的來源標記。

system prompt 的關鍵規則(D 類專用):

1. 涉及法規要求的每一項陳述,必須標註對應條號。
2. 無法在 <reference> 中找到條號依據的內容,不得陳述。
3. 不得對法規做延伸解釋或推論適用範圍。
4. 結尾必須加註:本回覆為技術面說明,法規適用性請洽法遵單位確認。

規則 3 是刻意的。法規的適用範圍解釋是法遵專業,不是資安專業,更不是模型的工作。 模型只做「規範說了什麼」,不做「你們適不適用」。

規則 4 那句加註不是免責裝飾,它是真的必要——這個界線劃不清楚,MSSP 會踩到不該踩的專業領域。

分類器本身怎麼做

我試過三種:

  1. 關鍵字規則——快、可控,但覆蓋不了自然語言的變化
  2. 微調過的模型直接分類——準確度好,但每次都要跑模型
  3. 嵌入向量 + 相似度——快、便宜、可解釋

最後用的是 3 為主、1 為輔、2 當退路:先用關鍵字抓明確的 E 類(合約、帳單、SLA 這些詞很好認),再用向量相似度分 A–D,相似度都不高的丟給模型判斷,模型也沒把握的歸 F 轉人。

「沒把握就轉人」這條退路必須存在。 一個沒有 F 類的分類器,會把所有它不懂的東西硬塞進某一類,然後給出一個自信但錯誤的答案。

明天講這個任務最有價值的部分:那個 ★ 標記的回存步驟。


💡 關於作者 我是 Fngi,專注在 AI 安全與雲端資安領域。如果這篇對你有幫助,歡迎追蹤 Instagram @aid3fend,我在那裡分享更多 AI 資安的實務筆記與趨勢觀察。


上一篇
Day 17|任務一實作:從 Data Pack 到報告初稿
下一篇
Day 19|知識飛輪:審核回存怎麼變成下一輪的資料
系列文
《30 天從零打造資安語言模型:從微調到 Agent 落地》 共 21 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言