← 返回首頁
LESSON 036AI 安全13 分鐘

Guardrail、Safeguard、Uncensored Model 是什麼?把模型能力、對齊與應用安全分成不同層看

第 36 篇拆解 Guardrail、Safeguard、Moderation、System Prompt、Alignment 與 Uncensored Model,說明 Open-weight 不等於無限制、Local 不等於沒安全層,以及應用程式仍需要權限與 Runtime 防護。

今天用這個比喻模型像一台很強的機器;安全不是只靠機器本身,而是還有駕駛規則、門禁、保險絲、操作權限與外部監控一層層疊上去

上一章 Lesson 035:Prompt Injection 講了一個很重要的結論:

不要把模型本身當成唯一安全邊界。

這時你會開始碰到一堆看起來很像的詞:

網路討論常把它們全部簡化成:

有限制 vs 沒限制

但真正系統不是一個開關,而是很多層。

先把模型和應用程式分開

可以先畫一張簡化圖:

使用者
↓
App / Product Policy
↓
Input Guardrail / Moderation
↓
System Prompt / Instructions
↓
Model
↓
Tool Permission / Runtime
↓
Output Guardrail / Moderation
↓
使用者或外部系統

不同產品不一定完全照這張圖,但它能幫你看到:

「模型本身怎麼訓練」和「App 外面加了哪些控制」是不同問題。

Alignment 是什麼?

對齊(Alignment) 是一個很大的研究與工程概念,粗略來說,是讓 AI 系統的行為更符合人類意圖、規則、安全需求與期望。

模型可以透過不同後訓練方法,學會:

這些行為可能已經部分存在模型權重裡。

所以不是所有安全行為都只來自 System Prompt。

System Prompt 是另一層

Lesson 005:Prompt 已經講過:Prompt 是把任務、Context 與限制交給模型的方式。

System Prompt 通常是應用程式在較高指令層提供的規則。

例如概念上:

You are a customer-support assistant.
Never reveal internal account secrets.

這能影響模型行為,但它仍然是 Context 中的指令層。

所以在 Prompt Injection 場景裡,不應把 System Prompt 當成唯一安全機制。

Moderation 是什麼?

內容審查(Moderation) 可以在模型呼叫前後額外分析內容。

概念流程:

User Input
↓
Input Moderation
↓
Main Model
↓
Output Moderation
↓
Response

Moderation 可以是:

它和「主模型本身會不會拒答」不是同一件事。

Guardrail 和 Safeguard 是什麼?

這兩個詞在業界沒有永遠唯一、完全一致的定義。

通常可以把 Guardrail / Safeguard 理解成:

為了限制 AI 系統不安全、越權或不符合規則的行為,而加上的一層或多層控制。

它可能包含:

所以 Guardrail 不一定是「模型外面一個 Filter」。

它更像安全設計的集合詞。

最重要的一層:Tool Permission

如果 Agent 可以呼叫 Tool,安全就不能只看文字。

例如:

ALLOWED_TOOLS = {
    "search_docs",
    "calculator",
}


def can_run(tool_name):
    return tool_name in ALLOWED_TOOLS

這和 Lesson 035 的概念一樣。

逐行看:

  1. ALLOWED_TOOLS 明確列出允許的 Tool。
  2. can_run() 接收 Agent 想執行的 Tool Name。
  3. 只有在白名單裡才回傳 True。

這個限制是在應用 Runtime 做的。

就算模型文字輸出說:

我要執行 delete_database

如果 Runtime 根本沒有暴露這個 Tool,或權限檢查拒絕它,就不會因為模型「想做」而真的執行。

Uncensored Model 到底是什麼?

Uncensored Model 不是一個嚴格、統一的技術標準。

社群裡常用它描述:

但看到 uncensored 這個 Label,不能自動推導:

更聰明
更真實
更完整
更適合所有任務

它只是在描述某種行為取向,而且不同模型作者使用這個詞的方式可能不一致。

Uncensored 不等於 Base Model

基礎模型(Base Model) 通常指預訓練完成、尚未經某些 Instruction / Chat 後訓練流程的模型版本。

Base Model 可能:

而 Uncensored Model 常常反而是經過額外 Fine-tuning 的模型,只是目標是降低某些拒答模式。

所以:

Base ≠ Uncensored

Open-weight 也不等於 Uncensored

Lesson 025:Local LLM 已經介紹過:Open-weight 指模型權重可以在授權條件下取得,但不等於完全 Open Source。

同樣地:

Open-weight ≠ Uncensored

一個 Open-weight 模型可以有完整的 Instruction Tuning 與安全後訓練。

也可能有人基於它建立不同 Fine-tune。

「能下載」描述的是取得與部署方式;「拒答傾向」描述的是模型行為。

是不同維度。

Local 也不等於沒有 Guardrail

Lesson 030:Ollama 已經講過 Local Model 可以透過本機 API 提供服務。

你完全可以建立:

Local LLM
+
Input Moderation
+
Tool Allowlist
+
Human Approval
+
Sandbox

所以 Local 只是在說模型主要在哪裡執行。

不是在說:

一定無審查
一定沒安全層
一定更自由

Safeguard 會讓模型能力變差嗎?

有時安全限制確實可能造成 False Positive,也就是把原本合理的 Request 錯誤阻擋。

所以安全設計需要平衡:

但這不代表「所有 Guardrail 都只是讓模型變笨」。

例如限制 Agent 不能刪 Production Database,不是在降低它寫摘要的能力。

安全控制應該盡量和實際風險對齊。

高風險系統需要 Defense in Depth

縱深防禦(Defense in Depth) 的直覺是:不要只靠單一防線。

例如一個能操作公司系統的 Agent:

Model Alignment
+
System Instructions
+
Input Validation
+
Prompt Injection Defense
+
Tool Permission
+
Human Approval
+
Sandbox
+
Audit Log

其中一層失效,不代表整個系統立刻失控。

這比期待模型「永遠聽話」更像真正的資安工程。

模型下載前應該看 Model Card

Lesson 029:Hugging Face 已經提過 Model Card。

如果模型標示:

uncensored
abliterated
base
instruct
roleplay

不要只看名稱。

應該檢查:

模型名稱只是入口,不是完整風險評估。

「更少拒答」什麼時候可能有合理用途?

有些合法情境確實需要模型處理敏感內容,例如:

但「模型願意回答更多」不等於應用程式就應該給它更多 Tool 權限。

文字生成自由度和外部行動權限必須分開評估。

一句話帶走

Guardrail / Safeguard 是 AI 系統不同層的安全控制;Uncensored 描述的通常是較少拒答的一種模型行為取向,不等於 Base、Open-weight、Local 或更強。真正安全的 Agent 要把模型行為和 Runtime 權限分開設計。

正式資料來源

比喻是理解入口;正式定義與細節請以原始資料為準。

  1. Hugging Face Hub — Model Cards ↗
  2. OpenAI Platform — Safety Best Practices ↗
  3. OWASP GenAI — LLM Top 10 ↗
← 上一章035Prompt Injection 是什麼?為什麼 AI Agent 讀到一段文字,就可能被假指令帶偏
下一章 →0372026 AI 影片生成怎麼選?先分清 Text-to-Video、Image-to-Video、Reference-to-Video
COMMUNITY

留言

有想法、疑問或想補充的地方,都可以留在這裡。

0 / 1200