Claude(Anthropic)概觀
Anthropic Claude 模型家族的架構與安全概觀,涵蓋 Sonnet、Opus 與 Haiku 變體、Constitutional AI 訓練、RLHF 做法,以及 harmlessness 設計哲學。
Claude 是 Anthropic 的大型語言模型家族,以Constitutional AI(CAI)作為主要安全機制而著稱。這種以原則為本的對齊做法,造就了與僅 RLHF 模型(例如 GPT-4)截然不同的安全輪廓——具獨特的優勢、弱點與攻擊面。
模型家族
Claude 以多層級提供,最佳化於不同效能與成本點:
| 模型 | 特性 | 紅隊相關性 |
|---|---|---|
| Claude Opus | 最大、能力最強、推理最出色 | 安全最穩健、最難越獄、基準標的 |
| Claude Sonnet | 效能與成本均衡 | 生產環境中最常部署、主要測試目標 |
| Claude Haiku | 最小、最快、最便宜 | 安全可能較弱、適用於快速 payload 篩檢 |
各層級接受與其能力相符的安全訓練,但根本的 Constitutional AI 做法於所有變體間共用。較小模型(Haiku)的安全相對較弱,並非因訓練方式不同,而是因容量較少,難以實施細膩的安全推理。
版本節奏
Anthropic 發布更新版本(例如 Claude 3.5 Sonnet、Claude 4 Opus),可能顯著改變安全行為。與 OpenAI 的模型別名不同,Anthropic 的 API 版本通常更明確,但紅隊人員仍應釘選特定版本以利重現。
Constitutional AI 如何運作
Constitutional AI 是 Claude 的定義性安全特性,也是理解其漏洞輪廓的關鍵。
訓練流程
- 監督學習階段 —— Claude 先以標準語言建模目標於大型語料上訓練
- RLHF 階段 —— 由人類評審評估輸出,模型學習符合人類偏好
- Constitutional AI 階段 —— 給模型一組原則(「constitution」),並訓練它:
- 對提示產生回應
- 依憲章原則批評自身回應
- 修訂回應以更符合原則
- 以此自我批評作為訓練訊號,代替額外的人類回饋
憲章
Claude 的憲章包含關於幫助性、無害性與誠實的原則。雖然完整憲章未公開,Anthropic 已公開一些代表性原則:
- 避免有害、不道德或違法的輸出
- 要誠實、不欺騙
- 承認不確定而非捏造資訊
- 支援人類監督與控制
- 抵抗透過社交工程操弄行為的嘗試
Constitutional AI 的安全意涵
Constitutional AI 帶來與純 RLHF 截然不同的安全姿態:
優勢:
- 以原則為本的推理讓模型能將安全概化至新情境
- 自我批評降低對特定訓練範例的依賴
- 模型能說明為何拒答,使安全行為更一致
- 新穎的有害請求可依原則評估,無需特定訓練
弱點:
- 原則可被重新詮釋或被辯駁(模型會加入推理)
- 憲章式框架製造了「可辯論」的法條式攻擊面
- 原則衝突的邊界情境(幫助性 vs. 無害性)製造可被利用的模糊性
- 模型願意對自身約束進行推理,反過來可被用於對付它
API 介面
Messages API
Claude 採與 OpenAI 類似的 messages API,但有重要差異:
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system="System instructions here", # 與 messages 陣列分離
messages=[
{"role": "user", "content": "User message"}
]
)系統提示作為獨立參數提供,而非陣列中的訊息。此設計選擇影響模型對「系統 vs. 使用者」指令的處理方式。
工具使用
Claude 透過結構化綱要定義支援工具使用:
tools = [{
"name": "search_database",
"description": "Search the customer database",
"input_schema": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "Search query"}
},
"required": ["query"]
}
}]Claude 的工具使用實作與 GPT-4 的 function calling 在多處影響資安測試(見 Claude 攻擊面)。
視覺
Claude 透過訊息內容中的 base64 編碼或 URL 參照支援影像輸入。如同其他多模態模型,影像輸入代表一個額外注入面。
延伸思考
Claude 支援「延伸思考」模式:模型於最終回應前先產出思考鏈。思考內容會獨立回傳,可能揭露可引導攻擊策略的安全推理。
上下文視窗
Claude 支援最多 200K token 的上下文,這使其易受長上下文攻擊,包括 many-shot 越獄。模型在超長上下文(>100K token)下的行為可能與短互動不同。
Harmlessness 設計哲學
Anthropic 的安全做法植根於研究導向的哲學,將 AI 安全視為對齊問題而非內容審核問題。這反映在多項可觀察的行為上:
校準拒答
Claude 力求只拒絕真正有害的請求,並在適當脈絡下(資安研究、醫療資訊、法律分析)仍提供有用協助,即便主題敏感。這種校準形成細膩的邊界,既更有用也更易被利用。
推理透明
Claude 拒答時通常會說明其推理,提供它視為相關之憲章原則的洞察。此透明度對使用者有益,也同時向攻擊者揭露模型的決策過程。
脈絡安全
Claude 會依對話脈絡調整其安全行為。一個單獨出現會被拒答的請求,在具備充足脈絡並確立合法用途的情況下,可能得到回答。這種脈絡敏感性帶來了漸進升級(crescendo 攻擊)的機會。
部署生態
Claude 透過多個通道部署,各具不同安全特性:
- Anthropic API —— 由開發者控制系統提示的直接 API 存取
- Claude.ai —— Anthropic 的消費者端聊天介面,含額外安全層
- Amazon Bedrock —— AWS 託管部署,具 AWS 特有存取控管
- Google Cloud Vertex AI —— GCP 託管部署
- 第三方應用 —— 基於 API 打造、安全實作各異的應用
相關主題
- Claude 攻擊面 -- 針對 Claude 的具體攻擊向量
- Claude 已知漏洞 -- 已記錄的 exploit 與研究發現
- Claude 測試方法論 -- 系統化測試程序
- 提示注入與越獄 -- 適用於 Claude 的核心技術
- 跨模型比較 -- Claude 與其他模型家族的比較
參考資料
- Bai, Y. et al.(2022)。"Constitutional AI: Harmlessness from AI Feedback"
- Anthropic(2024)。Claude Model Card
- Anthropic(2024)。"The Claude Model Spec"
- Ganguli, D. et al.(2022)。"Red Teaming Language Models to Reduce Harms"
Constitutional AI 的安全做法與純 RLHF 有何不同?這對紅隊有何意涵?