生产工作流的可观测性:执行记录和数据追踪
介绍如何为 AI 工作流实现审计日志,追踪数据使用和执行过程。对治理和问题排查有帮助。
介绍如何为 AI 工作流实现审计日志,追踪数据使用和执行过程。对治理和问题排查有帮助。
假设某个贷款审批 AI Agent 在上个季度的生产环境中运行,它调取了一位客户的财务记录,并拒绝了贷款申请。几个月后,监管机构询问拒绝原因,却没有人能够回答,因为系统中没有留下模型看到了什么、做出了什么决定的记录。
传统审计日志是为确定性软件设计的:相同的输入始终会产生相同的输出。AI 工作流打破了这一假设,因为它涉及非确定性模型、多步骤工具调用,以及每次运行时都可能发生变化的数据访问。
下面介绍 AI 审计轨迹应该记录哪些内容,以及如何实现它。
AI 审计轨迹是一份结构化、按时间排序且防篡改的记录,涵盖 AI 系统执行的每一项操作。它应该足够详细,以便事后完整重建任何一次执行过程。审计轨迹会记录输入、输出,以及每个步骤接触过的数据,让审计人员即使在几个月后,也能在不依赖工作流开发工程师的情况下,重现当时发生的一切。
大多数团队已经在收集日志,但很少有团队会收集完整的 AI 审计轨迹,以回答审计人员的问题,而不仅仅是满足调试需求。两者的区别可以归结为三个层次,每一层记录同一次执行中不同粒度的信息。
工作流层面的记录包括 Run ID、workflow ID、触发器、开始与结束时间戳,以及最终状态。它回答的是运行了什么、何时运行。单凭这些信息,只能证明某次执行确实发生过,却无法说明其中涉及了哪些数据。
节点层会记录每个步骤读取或写入了哪些数据、数据来自哪个系统,以及涉及哪些字段。在审计轨迹中,AI 治理专家和监管机构最关注的正是这一层。它能够说明受保护的信息——例如 PHI、支付详情和财务记录——是否进入了处理流水线,以及这些信息流向了哪里。
面向 LLM 工作流的 AI 审计轨迹必须记录调用本身,而不能只记录调用结果。它需要捕获用户 prompt、返回的响应、模型及其版本、temperature、token 数量,以及模型触发的所有工具调用。缺少这些记录,你只能证明模型运行过,却无法解释它为什么会产生特定输出。
虽然审计轨迹、可观测性和监控彼此相关,但它们各自服务于不同的目的。下面来看看它们之间的区别:
监控可以发现服务中断,可观测性可以解释延迟激增,但只有审计轨迹能够告诉监管机构:模型在拒绝申请之前读取了哪些记录。对于高风险操作,将自动生成的记录与人工监督结合起来,能够同时向审计人员提供机器日志和人工签字确认。
在生产级 AI 系统中,将审计轨迹与可观测性混为一谈是一个常见错误。两者共用一些底层基础设施,例如 trace、span 和结构化事件,但它们面向的受众并不相同。可观测性告诉你 Agent 当前是否健康;审计轨迹则用于证明某个 Agent 在六个月前做出了什么决定。对 10% 的 trace 进行采样,可能足以分析延迟;但如果你必须为之辩护的那次决策恰好位于被丢弃的 90% 中,这些采样就毫无用处。
一份实用的字段规范会按照不同层级组织采集内容。每一层在保留期限和隐私方面承担的权重都不同,分别对应不同的治理计划。工具与集成层最容易被团队忽略,但它恰恰是审计轨迹与现实世界发生交汇的地方:如果系统记录了某项决策,却没有记录该决策触发的退款,那么这份决策记录的意义就非常有限。
一份可靠的审计轨迹主要应记录以下层级:
真正决定 AI 审计轨迹软件能否经受审查,而不是仅仅让日志看起来很详尽的,是下面三个设计决策。
记录保留多长时间,是一项合规决策。欧盟《AI 法案》要求高风险系统的提供商将自动生成的日志保留至少六个月;HIPAA 和美国国税局的相关要求通常会将保留期限推至大约七年。面向金融服务和医疗健康行业的 AI 审计轨迹解决方案面临最严格的要求,通常需要在多年期数据保留机制之上,再叠加能够显示篡改痕迹的存储。应当按层级设置保留期限——执行元数据可以比原始 prompt 保留得更久,因为后者带来的隐私风险最高。
Prompt 和响应是记录中信息最丰富的部分,同时也是最敏感的部分。原样保存它们有助于调查,却也可能捕获你无权保留的 PII 或 PHI。在敏感字段进入长期存储之前,应对其进行脱敏或哈希处理;同时还要记录你删除了哪些内容,让审计人员知道这些缺口是有意为之。
随着模型和节点不断演进,你的日志 schema 也会发生变化。从第一个版本开始就应当对其进行版本管理。审计人员在阅读一条两年前的记录时,需要知道它由哪个 schema 生成。否则,字段含义可能发生偏移,整条审计轨迹也会因此失去权威性。
n8n 是一个工作流自动化平台,基于可视化的节点图构建,同时支持确定性执行和 Agent 式执行。每次运行都会自动生成结构化记录,包括 workflow ID、run ID、节点级输入与输出、时间戳和错误状态,无须添加额外的 instrumentation。这意味着 AI 审计轨迹日志是平台默认具备的能力,而不是需要单独维护的另一套系统。
你可以自行托管 n8n,让敏感的 prompt 和响应数据始终留在自己的基础设施中。这影响的不只是数据主权和安全性。由于 n8n 的源代码可用且具备扩展能力,你可以控制日志 schema、添加自定义节点,并将记录精确发送到合规技术栈所要求的位置。这种定制能力是封闭式 AI 审计轨迹工具很少能够提供的。
每次 n8n 执行都会自动记录 run ID、节点级 I/O 和时间戳,无须额外添加 instrumentation。
下面是 n8n 提供的几项关键审计轨迹能力:
在 Enterprise 方案中,日志流可以将 n8n 实例内部发生的更多事件实时转发到你的日志工具;基于角色的访问控制则用于决定谁可以读取执行数据——这正是审计人员希望在数据记录之外同时看到的访问记录。
n8n 支持执行数据脱敏(Enterprise 功能),可以隐藏输入和输出 payload,同时保留状态、时间等元数据。它还提供可配置的数据清理机制,因此即使团队已经清除了原始 prompt,也可以继续长期保留轻量级元数据。通过这种简洁的方式,你既能满足较长的数据保留期限要求,又不必囤积每次运行中最敏感的内容。
AI 审计轨迹是一项架构决策。如果等到监管机构提出要求后才仓促补上,你就只能从那些原本并非为保存审计证据而设计的日志中重建证据。如果从一开始就将其构建到执行层中,记录便会自动生成。
n8n 默认生成这套基础记录,包括执行日志、run ID 和节点级 I/O。它提供清晰的导出路径,以及 Enterprise 级审计和访问控制。你的团队可以自动生成并保留详尽且能够显示篡改痕迹的审计轨迹,让审计人员和工程师能够立即查看决策、失败记录及执行路径。
从 n8n Cloud 开始,然后查看执行文档和工作流模板,即可着手实践。
n8n 用户拥有各种各样的背景、经验水平和兴趣。我们一直希望在博客文章中重点介绍不同的用户及其项目。如果你正在使用 n8n,并愿意为社区带来启发,欢迎联系我们 💌