Audit Log(稽核日誌)
又稱:稽核日誌 · 審計日誌 · 操作紀錄 · audit trail
一份事後改不動的行為紀錄:Agent 何時、被什麼輸入驅動、呼叫了哪些工具、參數是什麼、結果如何 —— 由執行層寫入,不由模型自述。
你會在什麼時候遇到它
出事之後 —— 資料被動了、錢被花了、錯的報告交出去了 —— 你唯一的問題是「到底發生了什麼」。這時「模型說它做過驗證」不算數:本站記錄過一個實例,Agent 在狀態檔裡寫入 verify.done=true,而 session 日誌顯示驗證從未發生。能拆穿這種說法的,只有獨立於模型敘述、由程式寫下的日誌。
打個比方
像行車記錄器。司機說「我剛才有打方向燈」,跟記錄器畫面是兩種證據;出了事故,保險公司和警察看的是畫面,不是口供。Agent 的自述是口供,harness 寫的日誌才是畫面。
最小範例
不是稽核日誌(模型自述,存在對話裡):
「我已檢查過所有檔案,確認沒有敏感資訊,並完成驗證。」
是稽核日誌(程式寫入,append-only):
14:02:11 tool_call read_file {"path":"data/users.csv"} → ok 4.2KB
14:02:15 tool_call http_post {"url":"api.example.com"} → 403 blocked
14:02:15 gate_decision DENY reason=pii-egress policy=v3
14:03:40 session_end tokens=18233
要件:時間戳、動作、參數、結果、誰批准的;
寫入者不能是被記錄的對象,且事後不可修改。注意第三行:連「被擋下來的事」也要記。只有成功動作的日誌,回答不了「有沒有嘗試過」—— 而沒有得逞的嘗試,往往是入侵最早的信號。
最常搞錯的地方
- 把模型自述或對話紀錄當稽核日誌。對話紀錄是模型生成的文字:它可以跳過、可以美化、也可以直接編造(本站有實證)。稽核日誌必須由執行工具的那層程式在動作發生的當場寫入 —— 記錄者與被記錄者分離。
- 日誌寫了,但跟被監控的系統放在同一個可寫範圍。能改自己日誌的 Agent 等於沒有日誌;稽核紀錄要存在 Agent 寫權限之外,最好 append-only。
相關詞條
下一步
- 從偽造到驗證:Agent 驗證架構的信任建築學6 min
- AI 合規與風險邊界:企業導入的法務檢查表18 min