AI Agent 可审计性:如何构建可复核的证据链

AI Agent 可审计性,是指能够重建并审查 Agent 如何形成决策、哪些信息影响了结果、应用了哪些控制,以及最终真正执行了什么操作。它不等于简单保存聊天记录。生产 Agent 可能检索文档、调用多个工具、请求人工审批、重试失败操作,并修改外部系统。审查人员需要的是覆盖整个工作流的完整证据链。

当客户对操作提出异议、安全团队调查异常行为、审批者需要判断上下文,或产品团队解释不同版本为何表现不同时,可审计性都非常重要。缺乏可审计性时,团队只能根据不完整日志猜测;具备可审计性后,团队才能定位决策路径、控制事件、复测安全措施,并证明系统受到负责任的管理。

可审计性不等于可观测性

可观测性帮助运维人员理解系统健康状态,例如延迟、错误、Token 使用量、可用性和流量。可审计性回答的是另一组问题:谁请求了操作、拥有何种权限、Agent 看到了什么、为什么控制允许或拒绝、谁批准了操作,以及之后真正发生了什么变化。

两者有交集,但不能互相替代。一条 Trace 可以显示工具调用耗时 800 毫秒,却可能无法说明修改了谁的数据;审计记录可以证明谁批准了退款,却不一定能定位延迟回归。生产系统需要同时具备两者。

从未来必须解释的决策开始

不要默认记录所有信息。先确定高价值的审查问题:团队能否解释一次访问拒绝、敏感数据披露、客户消息、财务操作、权限变更或跨系统导出?

针对每个高影响工作流,定义能够回答以下五个问题的证据:

  • 谁:涉及哪个用户、租户、服务身份和审批人?
  • 什么:涉及什么任务、数据、工具、参数和外部副作用?
  • 为什么:哪些指令、来源、策略和模型决策导致了结果?
  • 何时:检索、策略检查、审批、重试和操作按什么顺序发生?
  • 结果:什么被允许、拒绝、修改、披露或处于未完成状态?

1. 稳定身份与关联 ID

每个工作流都需要一个稳定的关联 ID,用于连接用户请求、模型轮次、检索事件、工具调用、审批、策略判断和最终副作用。没有这个连接,审查人员得到的只是一堆零散事件,而不是证据链。

记录经过认证的用户、租户、执行操作的服务身份、会话和委托权限。不要只相信提示中出现的邮箱地址,身份必须来自授权层使用的可信应用上下文。

2. 对指令与配置进行版本化

审计记录应标识模型、系统提示、开发者指令、工具 Schema、策略配置、检索索引和相关应用版本。使用安全的版本 ID 或 Hash,而不是把可能包含密钥的全部配置复制到日志。

这样,审查人员才能区分偶发模型差异和发布回归,也能够在提示或工具发生变化后复现安全测试。

3. 带信任标签的检索证据

记录检索了哪些来源、文档或 Chunk ID、访问控制结果、版本、新鲜度和信任分类。审查人员应能判断答案依赖的是已批准制度、过期文章、客户文档还是不可信外部内容。

不要默认记录完整文档。保留引用和完整性 Hash,并根据合适的访问与保留策略,只保存调查所需的最小片段。

4. 记录校验前后的工具调用

对于每个重要工具调用,记录请求的工具、模型提出的参数、校验后的参数、授权结果、策略结果、执行结果、受影响对象和外部目的地。只记录最终 API 响应,会隐藏不安全输入是被修正还是被拒绝的事实。

密钥和敏感 Payload 应脱敏或 Token 化,但审计记录仍应保留足够结构,说明哪一类数据移动到了什么位置。

5. 能够解释的策略判断

策略事件应标明策略版本、规则或控制、输入事实、决定和原因代码。“被 Guardrail 阻止”并不足够。有效记录应说明,例如导出被拒绝,是因为目的地不在允许列表中,并且 Payload 包含客户数据。

对于高影响操作,应把策略执行放在模型之外。模型可以提出建议或解释,但权威的允许、拒绝或需要审批决定,应由确定性控制产生。

6. 与具体操作绑定的审批记录

记录审批者看到的内容:操作、目标、重要参数、数据目的地、风险原因和预期影响。同时保存审批者身份、时间、决定、修改和过期时间。

审批必须在密码学或业务逻辑上与准确 Payload 绑定。如果 Agent 在批准后更改目的地或金额,原审批必须失效。审计记录还应能够识别重放或过期审批。

7. 记录最终效果,而不只是操作意图

Agent 可能计划更新 CRM 记录,但 API 可能超时、重试、生成重复项或部分成功。应记录真实外部效果以及稳定的资源或交易 ID。对于高影响字段,应尽量保存变更前后的状态。

这一区别对事件响应至关重要。模型成功回复并不能证明操作成功,而错误信息也不能证明外部系统完全没有发生变化。

8. 人工干预与覆盖

记录人工编辑 Agent 草稿、拒绝操作、修改工具参数、恢复暂停流程或覆盖策略的行为。人工干预是决策链的一部分,而不是无需记录的例外。

团队还应衡量审查人员是否反复修正同一类错误。重复覆盖往往意味着提示较弱、策略不清、工具权限不合适,或审批界面无法提供有效判断信息。

9. 证据完整性与访问控制

审计证据应比普通应用数据更难被修改。使用追加式存储、受限写权限、完整性检查、可靠时间戳、保留控制,并监控删除和导出行为。

审计数据本身可能包含客户标识、安全判断和敏感工作流元数据,因此必须遵循最小权限。应把日常运维视图与高权限调查访问分开。

10. 隐私、最小化与保留

可审计性不意味着永久收集每一条提示和 Payload。应明确安全、合规、争议处理和调试所需的字段,在采集时脱敏密钥、减少个人数据,并为不同证据类别设置不同保留周期。

测试删除和法律保留流程。客户记录删除后,团队必须知道哪些审计事实需要保留、哪些值必须匿名化,以及谁可以批准例外。

实用的 AI Agent 审计记录结构

一套有效的事件 Schema 通常包括:

  • 关联 ID、时间戳、环境、发布版本、模型和配置版本。
  • 用户、租户、服务身份、角色和委托权限。
  • 任务类型、风险分类和脱敏后的请求摘要。
  • 检索来源 ID、版本、信任标签和访问决定。
  • 工具请求、校验参数、策略结果、审批和执行结果。
  • 外部资源 ID、目的地、变更前后状态和最终状态。
  • 人工修改、覆盖、升级、事件链接和修复状态。

这些信息应该是结构化并可查询的。自由文本说明可以补充上下文,但不能成为唯一证据。

如何测试可审计性

选择真实场景,让没有参与功能开发的审查人员进行还原。场景应包括被阻止的提示注入、审批拒绝、成功写操作、带重试的部分失败、未授权跨租户请求和敏感数据脱敏。

逐项验证完整性、顺序、身份、策略解释、Payload 绑定、最终效果、脱敏和访问控制,并统计还原所需时间。如果有经验的审查人员仍无法明确解释事件,说明证据设计尚不完整。

常见的可审计性失败

  • 只保存对话,却遗漏检索、工具和外部副作用。
  • 只记录工具名称,不记录校验参数或目的地。
  • 记录“人工已批准”,却没有批准的 Payload 和审批人身份。
  • 只有时间戳,没有共享关联 ID 或可靠顺序。
  • 以完整性为由把原始密钥复制到日志。
  • 普通应用用户可以修改或删除审计证据。
  • 提示、策略、模型和工具定义没有版本信息。

把可审计性作为发布要求

应把证据覆盖纳入生产就绪条件。新增工具、数据源、审批流、记忆功能或浏览器能力,在其决策与副作用能够被还原之前不应上线。把可审计性检查加入回归测试和发布评审。

这样,可审计性才能成为持续运行的控制,而不是事件发生后的合规补救。同时,团队在面对客户安全审查时可以提供具体证据,而不是宽泛承诺。

相关资源

可以通过 AI Agent 就绪度自测发现证据缺口,或针对生产工作流申请一次独立 AI Agent 就绪度审计

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部