AI 日誌架構
中級5 分鐘閱讀更新於 2026-03-15
AI 系統日誌應擷取什麼——提示詞、補全、延遲、符元、工具呼叫——以及儲存策略、保留政策與隱私考量。
為何 AI 日誌與眾不同
AI 系統日誌超越傳統應用日誌。在標準 Web 應用中,您記錄 HTTP 請求、回應與錯誤。在 AI 應用中,「請求」是可能含有敏感資訊的細緻自然語言提示詞,「回應」則是可能含 PII、幻覺內容或安全違規的生成文字。AI 日誌的內容在本質上與傳統應用日誌不同,這改變了擷取、儲存與處理它們的一切方式。
應擷取什麼
核心互動資料
每次 AI 互動都應擷取下列欄位:
| 欄位 | 說明 | 安全價值 |
|---|---|---|
| Request ID | 互動的唯一識別碼 | 跨系統關聯事件 |
| 時間戳 | 收到請求與完成回應的時間 | 時間軸重建 |
| 使用者 ID | 已認證的使用者或會話識別碼 | 歸因、模式分析 |
| 模型 | 處理請求的模型與版本 | 辨識模型特定漏洞 |
| 系統提示詞 | 當時生效的系統指令(或雜湊/版本 ID) | 驗證系統提示詞完整性 |
| 使用者提示詞 | 使用者的輸入文字 | 攻擊鑑識、模式偵測 |
| 補全 | 模型的回應文字 | 輸出分析、安全稽核 |
| 參數 | temperature、max_tokens、top_p 等 | 理解攻擊條件 |
| 符元計數 | 輸入符元、輸出符元、總數 | 成本分析、萃取偵測 |
| 延遲 | TTFT 與總生成時間 | 效能分析、攻擊偵測 |
| 結束原因 | 為何停止生成(長度、停止符元、內容過濾器) | 追蹤過濾器啟動 |
護欄決策資料
| 欄位 | 說明 | 安全價值 |
|---|---|---|
| Guard 名稱 | 評估互動的護欄 | 理解啟動了哪些控制 |
| 決策 | 允許、封鎖或修改 | 追蹤護欄有效性 |
| 分數 | 信心或風險分數 | 閾值調校、趨勢分析 |
| 原因 | 護欄作此決策的依據 | 規則精煉、誤判調查 |
| 延遲 | 護欄評估所耗時間 | 安全控制的效能衝擊 |
工具呼叫資料
對代理式系統而言,工具呼叫需詳細記錄:
| 欄位 | 說明 | 安全價值 |
|---|---|---|
| 工具名稱 | 被呼叫的工具 | 追蹤工具使用模式 |
| 引數 | 傳給工具的引數 | 偵測透過工具參數的注入 |
| 結果 | 工具的回傳值 | 驗證工具行為 |
| 持續時間 | 工具呼叫所耗時間 | 偵測掛起或被利用的工具 |
| 授權 | 該工具呼叫是否被授權 | 追蹤授權決策 |
檢索資料 (RAG 系統)
| 欄位 | 說明 | 安全價值 |
|---|---|---|
| 查詢嵌入 | 檢索所用的嵌入(或雜湊) | 檢索操縱偵測 |
| 檢索到的文件 | 文件 ID 與相關性分數 | 識別被投毒的檢索結果 |
| 來源 | 被查詢的知識庫 | 追蹤資料來源 |
日誌架構
架構模式:雙重管線
建議架構使用兩條並行管線——一條用於即時營運資料,一條用於完整對話記錄:
┌─────────────────┐
│ AI Application │
└────────┬────────┘
│
┌────┴────┐
│ │
▼ ▼
┌────────┐ ┌──────────────┐
│ Real- │ │ Full Content │
│ time │ │ Pipeline │
│Pipeline│ │ │
│ │ │ Prompts + │
│Metrics,│ │ Completions │
│Counts, │ │ + Tool Calls │
│Latency │ │ │
│ │ │ ┌──────────┐ │
│ │ │ │PII Redact│ │
│ │ │ └────┬─────┘ │
│ │ │ │ │
└───┬────┘ └──────┼───────┘
│ │
▼ ▼
┌────────┐ ┌──────────┐
│Metrics │ │Encrypted │
│Store │ │Log Store │
│(Prom.) │ │(S3/GCS) │
└────────┘ └──────────┘
即時管線
即時管線擷取可低延遲查詢的結構化指標:
- 時間序列資料庫 (Prometheus、InfluxDB、Datadog) 存放數值指標
- 串流處理器 (Kafka、Kinesis) 進行即時模式偵測
- 告警引擎 (Alertmanager、PagerDuty) 提供即時通知
- 保留期:全解析度 30-90 天、聚合後 1 年
完整內容管線
內容管線擷取互動的完整文字,供鑑識調查使用:
- 前處理:儲存前進行 PII 偵測與可選之遮蔽
- 加密:所有對話資料在儲存與傳輸中皆加密
- 存取控制:對話內容採嚴格的角色為基礎存取控制
- 保留期:依政策,通常為 30 天至 7 年,視法規要求而定
儲存策略
分層儲存
運用儲存層在成本與存取速度間取得平衡:
| 層級 | 儲存 | 保留期 | 存取時間 | 使用情境 |
|---|---|---|---|---|
| Hot | Elasticsearch、PostgreSQL | 7-30 天 | 毫秒級 | 進行中調查、即時搜尋 |
| Warm | 物件儲存 (S3 Standard) | 30-90 天 | 秒級 | 近期事件調查 |
| Cold | 封存儲存 (S3 Glacier) | 1-7 年 | 小時級 | 合規、歷史分析 |
結構描述設計
設計日誌結構時應考量可查詢性。AI 安全調查中的常見查詢模式:
-- Find all interactions where the guardrail was triggered
-- but the user eventually received a response
SELECT request_id, user_id, user_prompt, completion
FROM ai_interactions
WHERE guardrail_triggered = true
AND response_delivered = true
AND timestamp > NOW() - INTERVAL '7 days';
-- Find users with unusually high refusal rates
-- (may indicate active jailbreak attempts)
SELECT user_id,
COUNT(*) as total_requests,
SUM(CASE WHEN finish_reason = 'content_filter' THEN 1 ELSE 0 END) as filtered,
ROUND(100.0 * SUM(CASE WHEN finish_reason = 'content_filter' THEN 1 ELSE 0 END)
/ COUNT(*), 2) as filter_rate
FROM ai_interactions
WHERE timestamp > NOW() - INTERVAL '24 hours'
GROUP BY user_id
HAVING filter_rate > 20
ORDER BY filter_rate DESC;隱私考量
AI 日誌之所以獨特敏感,是因為包含人與 AI 系統完整對話文字。隱私處理並非可選——它是法律與倫理上的要求。
資料分類
| 內容類型 | 分類 | 處置方式 |
|---|---|---|
| 系統提示詞 | 商業機密 | 安全儲存;限安全團隊存取 |
| 使用者提示詞 | 個人資料 (可能敏感) | 套用 PII 遮蔽政策;靜態加密 |
| 補全 | 生成內容 (可能含 PII) | 套用 PII 偵測;可能需遮蔽 |
| 工具呼叫引數 | 視情況而定 (可能含憑證) | 掃描機密;儲存前遮蔽 |
| 指標 (數值) | 內部 | 標準存取控制 |
PII 處理策略
儲存前偵測 PII
對所有提示詞與補全,在進入內容管線前執行 PII 偵測 (NER + 正則表達式)。對含 PII 的互動加註以強化處理。
決定:遮蔽、假名化或保留
依資料處理政策,選擇遮蔽 PII (以 [REDACTED] 取代)、假名化 (以一致的假值取代) 或強化存取控制後保留。
加密並限制存取
所有對話日誌靜態加密。實作嚴格的角色為基礎存取控制。存取對話內容須提供理由 (break-glass 程序)。
稽核存取
記錄對對話內容的所有存取,包含誰存取、何時、為何 (理由),以及檢視了什麼。
法規要求
| 法規 | 關鍵要求 | 對日誌的影響 |
|---|---|---|
| GDPR | 刪除權、目的限制、資料最小化 | 必須能刪除特定使用者資料;僅記錄必要項目 |
| CCPA/CPRA | 知情權、刪除權、退出權 | 必須揭露所記錄內容;支援依請求刪除 |
| HIPAA | 受保護健康資訊之保障 | 若 AI 處理健康資料,日誌須符合 HIPAA 安全要求 |
| SOC 2 | 安全、可用性、機密性控制 | 需日誌存取控制與稽核軌跡 |
用於事件回應的日誌
當安全事件發生時,您的日誌必須在數分鐘內回答下列問題:
- 發生了什麼? —— 對抗性互動的完整文字
- 何時發生? —— 精確時間戳
- 誰做的? —— 使用者識別與認證細節
- 如何繞過控制? —— 護欄決策與分數
- 衝擊為何? —— 曝光了哪些資料或生成了哪些有害內容
- 是否仍在進行? —— 是否有其他使用者呈現類似模式
事件回應查詢
為常見事件類型建立預寫查詢:
- 系統提示詞萃取:搜尋含已知系統提示詞片段的補全
- PII 洩露:搜尋被 PII 偵測標記的補全
- 越獄活動:依使用者、時間窗、技術彙總護欄觸發模式
- 工具濫用:搜尋異常工具呼叫模式 (非預期工具、高風險引數)
- 資料外洩:搜尋具高輸出符元計數與萃取相關模式的互動
應避免的反模式
| 反模式 | 問題 | 正確做法 |
|---|---|---|
| 完全不記錄 | 無法調查事件 | 記錄核心互動資料並遮蔽 PII |
| 未遮蔽即記錄一切 | 隱私違規、法規風險 | 儲存前套用 PII 偵測與遮蔽 |
| 無保留政策 | 儲存成本與責任無上限 | 按層定義保留期並自動到期 |
| 日誌無存取控制 | 任何人都能讀到使用者對話 | 實作角色為基礎存取與 break-glass 程序 |
| 只記錄錯誤 | 漏掉成功的攻擊 (200 OK 回應) | 記錄所有互動,不僅是錯誤 |
| 單一儲存層 | 不是太貴 (全熱) 就是太慢 (全冷) | 實作分層儲存與自動遷移 |
相關主題
- AI 監控與可觀測性 —— 更廣泛的監控脈絡
- 異常偵測 —— 在日誌資料中偵測模式
- 執行時監控 —— 將監控作為安全控制
- 安全 AI 開發生命週期 —— 日誌在開發生命週期中的位置
參考資料
- "Logging and Monitoring for ML Systems" - Google SRE (2024) —— 生產 ML 系統日誌與監控實務的完整指引
- "Privacy-Preserving Machine Learning Logging" - Tramèr et al. (2024) —— 記錄 ML 系統行為同時最小化隱私衝擊的技術研究
- "GDPR Compliance for AI Systems" - European Data Protection Board (2025) —— 將 GDPR 要求套用至 AI 系統 (含資料記錄與保留) 之指引
- "Building Secure and Observable LLM Applications" - OWASP (2025) —— 以安全為核心之 LLM 應用日誌與可觀測性指引
Knowledge Check
為何 AI 日誌應採雙重管線架構 (即時指標 + 完整內容)?