iT邦幫忙

2026 iThome 鐵人賽

DAY 21
0
AI Security

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

Day 21|任務四:出題、批改,以及為什麼出處比答案重要

  • 分享至 

  • xImage
  •  

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

這個任務跟前三個不一樣

前三個任務的使用者是資深專業人員,他們有能力判斷 AI 產出的對錯。

新人訓練的使用者是新人——他們沒有能力判斷。如果模型出了一道錯題、或給了一個錯誤的解釋,新人會照單全收,而且會把錯誤的認知帶到工作上。

所以這個任務的品質要求,實際上是四個裡面最高的。

第一步:教材的結構化切塊

出題的前提是有可靠的知識來源。教材(產品手冊、內部 SOP、證照教材)要先切成可檢索、可引用的單元。

切塊的關鍵是保留出處到頁/節層級:

{
  "chunk_id": "MAT-EDR-0342",
  "source": "端點防護平台操作手冊 v4.2",
  "section": "3.4 隔離主機的操作流程",
  "page": 47,
  "content": "…(教材內容)…",
  "topic_tags": ["端點防護", "事件處置", "隔離操作"],
  "difficulty": "基礎"
}

source / section / page 這三個欄位是整個任務的地基。沒有它們,批改就沒有出處,而沒有出處的批改是沒有價值的。

第二步:出題

出題的 prompt 規則:

1. 題目必須完全基於 <chunk> 的內容,不得引入外部知識。
2. 每題必須標註 chunk_id 作為出處。
3. 干擾選項必須是似是而非,不得是明顯錯誤或荒謬選項。
4. 干擾選項不得包含實際上也正確的敘述。
5. 每題必須附解析,說明正確答案為何正確,以及各干擾選項為何錯誤。

規則 3 和 4 是出題品質的關鍵。

規則 3 的反面教材:正確答案是「隔離主機」,干擾選項是「重新開機」「關掉電腦」「打電話給老闆」。這種題目測不出任何東西,新人用刪去法就選對了。

規則 4 更隱蔽:出題模型有時會產生一個「也是對的」干擾選項。這種題目會讓學會的人答錯、沒學會的人蒙對,是最糟的題目。

這兩條規則靠自動檢查抓不完,必須有人審。 這也是為什麼任務四的審核者是訓練主管,而不是隨便一個人。

合成範例:

{
  "question_id": "Q-EDR-0117",
  "chunk_id": "MAT-EDR-0342",
  "stem": "在端點防護平台中,發現某端點出現高風險行為且需要保全證據時,下列哪一項操作最為適當?",
  "options": [
    {"key": "A", "text": "執行網路隔離,保留端點運作狀態"},
    {"key": "B", "text": "立即關閉端點電源以中止惡意行為"},
    {"key": "C", "text": "移除偵測到的檔案並讓端點繼續運作"},
    {"key": "D", "text": "將端點移出納管範圍以避免干擾"}
  ],
  "answer": "A",
  "explanation": {
    "correct": "網路隔離可中止對外通訊與橫向擴散,同時保留記憶體與執行中狀態,有利於後續鑑識。",
    "A": "正確。兼顧阻斷與證據保全。",
    "B": "關閉電源會導致記憶體中的揮發性證據遺失。",
    "C": "僅移除檔案無法確認是否仍有其他持續性機制存在。",
    "D": "移出納管會失去可見性,且不會阻斷任何行為。"
  },
  "source_ref": {"doc": "端點防護平台操作手冊 v4.2", "section": "3.4", "page": 47},
  "review_status": "approved",
  "reviewed_by": "訓練主管-陳"
}

注意 B、C、D 三個選項的設計:每一個都是初學者可能真的會選的,而且每一個錯得不一樣。B 錯在證據保全,C 錯在持續性機制,D 錯在可見性。這三個錯誤各自對應一個要學的概念。

好的干擾選項本身就是教材。

第三步:批改 — 答錯才是價值所在

批改的設計原則只有一句話:

答對只需要說對,答錯必須說清楚。

答對時的回饋可以簡短。答錯時的回饋必須包含四件事:

  1. 正確答案是什麼
  2. 為什麼正確
  3. 你選的那個為什麼錯(針對性,不是通用解析)
  4. 出處在哪——文件名、章節、頁碼

第 4 項是我認為最重要的。理由:

一、它讓學習可以延伸。 新人看到出處,可以去讀原文,把一個點變成一片。

二、它讓錯誤可以被追究。 如果解析本身錯了,學員可以去對照原文發現不一致,然後回報。這是這個系統唯一的糾錯機制。

三、它逼系統誠實。 如果一個解析找不到出處,那它就不該存在。這條規則直接排除了模型自由發揮的空間。

批改回饋的合成範例:

❌ 你的答案:B 正確答案:A

&nbsp;

**為什麼 A 正確**
網路隔離會切斷端點的對外通訊與內部橫向路徑,但端點本身
仍維持運作,記憶體中的行程、連線、載入模組等揮發性資訊
得以保留,供後續鑑識分析使用。

&nbsp;

**為什麼 B 不適當**
關閉電源雖然能立即中止惡意行為,但會造成記憶體內容完全
遺失。許多惡意程式僅存在於記憶體中而不落地,一旦斷電即
無法追查其行為與來源。

&nbsp;


**注意「為什麼 B 不適當」這一段是針對性的。** 如果學員選的是 C,這一段的內容會完全不同。這需要在題目資料裡預先為每個選項準備解析(就是上面那個 `explanation` 物件),而不是讓模型即時生成——即時生成會不穩定,而且無法審核。

**這是一個重要的架構決定:解析在出題時就產生並審核,批改時只是取用。** 出題是低頻的(一次出好可以用很久),批改是高頻的。把品質控制放在低頻端,是對的。

## 拒答邊界在這裡的體現

Day 1 提過通用模型的過度謹慎問題。這個任務是它最明顯的地方。

新人訓練需要討論攻擊技術——什麼是橫向移動、勒索軟體怎麼運作、憑證怎麼被竊取。這些內容在通用模型上常常會觸發拒答或大段免責聲明。

微調調整了這個邊界。但我要重申 Day 1 說過的話:**調整邊界不等於拆掉邊界。**

具體的界線是:

- ✅ 解釋攻擊技術的原理與偵測方式(防禦導向)  
- ✅ 說明惡意程式的行為特徵  
- ✅ 討論漏洞的成因與修補  
- ❌ 產生可執行的攻擊程式碼  
- ❌ 提供繞過特定防護產品的具體方法  
- ❌ 針對特定目標的攻擊規劃

而且這些內容是在一個**明確的、封閉的、有審核的訓練系統**裡產生的,不是一個開放的聊天介面。這個脈絡差異很重要——Day 27 會完整講。

明天講弱項累積與訓練報告,把任務四收完。

---

> 🛡️ Instagram: [**@aid3fend**](https://www.instagram.com/aid3fend) — AI 資安實戰紀錄,歡迎追蹤交流。

---

上一篇
Day 20|任務三:月報是續寫,不是重寫
系列文
《30 天從零打造資安語言模型:從微調到 Agent 落地》 共 21 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言