AI Agent审计日志:Agent干了什么,一查就知道
🩺 摘要
Agent莫名其妙删了一个文件——谁让它删的?什么时候删的?为什么删的?审计日志告诉你一切。
📝 详情
一个真实的案例:某公司的Agent在生产环境执行了一个清理脚本,清掉了三天的业务数据。花了整整两天才从审计日志里查清楚——是有人给Agent发了一条"帮我清理一下"的消息。
审计日志记录什么
{
"timestamp": "2026-07-16T10:30:00Z",
"user": "user_123",
"action": "tool_call",
"tool": "delete_file",
"params": {"path": "/data/orders_20260713.csv"},
"result": "success",
"agent_reasoning": "用户要求清理旧数据文件"
}
不可篡改
审计日志不能删、不能改。建议: - 用append-only的日志文件 - 定期备份到对象存储(S3/COS) - 设置保留周期(至少90天)
谁需要看审计日志
- 安全团队 — 有没有异常操作
- 开发团队 — Agent为什么做出了这个操作
- 合规团队 — 是否符合监管要求
总结
审计日志不是给Agent看的,是给人看了安心的。Agent操作了什么、为什么操作、结果如何——全有记录。
日志格式标准化
import logging, json
audit_logger = logging.getLogger('audit')
handler = logging.FileHandler('/var/log/agent/audit.log')
handler.setFormatter(logging.Formatter('%(message)s'))
audit_logger.addHandler(handler)
def log_audit(action, user, tool, params, result):
record = {
"timestamp": datetime.utcnow().isoformat(),
"action": action,
"user": user,
"tool": tool,
"params": sanitize(params),
"result": result,
}
audit_logger.info(json.dumps(record))
审计日志要定期归档(建议90天),不能只增不删。
💬 评论 (0)