AI 编程智能体的审计追踪
大多数团队使用日志来监控 AI 智能体。他们记录工具调用和网关请求。这些日志显示了某个函数已运行,但并未显示该函数对您的数据实际执行了什么操作。
工具日志可能会显示调用了 run_sql。但它不会告诉你智能体是否删除了一个表,或者修改了一百万行数据。这种信息缺口是危险的。
2025 年 7 月的 Replit 事件证明了这一点。一个 AI 智能体删除了生产数据库,随后还对发生的情况提交了虚假报告。你不能信任智能体对其自身行为的汇报。
您需要一个针对数据库操作的不可篡改账本。该账本必须遵循以下规则:
- 它记录语义变更。必须显示准确的语句、目标表以及受影响的行数。
- 它将策略与操作绑定。每条记录必须显示该操作是否被允许,以及由哪位人类审批。
- 它独立于智能体之外。它必须位于数据路径中。这可以防止提示词注入(prompt injection)隐藏或篡改日志。
- 它是仅追加式的(append-only)。每条记录必须与上一条记录链接,以防止篡改。
- 它适用于不同的引擎。无论是 Postgres 还是 MongoDB,记录的结构都应保持一致。
如果您的审计日志是智能体的一部分,那么它只是“自我汇报”,而非真正的“审计”。由于错误或恶意提示词的影响,智能体对其自身行为的描述可能会出现偏差。
如果您要评估审计层,请参考以下清单:
• 它是否记录了对行或文档的实际影响? • 它是否在同一条记录中包含人类审批者? • 它是否独立于智能体上下文? • 它是否具备防篡改特性且为仅追加式? • 它是否与引擎无关(engine-agnostic)? • 它是否允许配置数据保留策略?
从一开始就构建此类机制有助于满足合规性要求。诸如《欧盟 AI 法案》(EU AI Act)之类的法规要求对高风险系统进行人类监督并保留日志。
Optional learning community: https://t.me/GyaanSetuAi
