跳到主要内容

64 篇博文 含有标签「compliance」

查看所有标签

物理隔离 LLM 蓝图:无出站流量部署的真正需求

· 阅读需 12 分钟
Tian Pan
Software Engineer

云端 AI 的策略通常建立在一个没有人明确写下来的前提之上:出站 HTTPS (outbound HTTPS)。厂商 API、托管评测器、遥测流水线、模型注册表、向量存储、仪表板 SaaS、密钥管理器——其中的每一个都静默地解析到公网上的一个域名。一旦拔掉这根电缆,整个技术栈并不会优雅降级,而是会直接崩溃。

大多数团队直到那一刻才会发现,他们的架构中存在从未考虑过的出站依赖。一个“微小”的提示词更新可能需要调用托管分类器;评估套件需要通过网络访问 LLM 评测器;可观测性代理会向后端发送数据;模型注册表从 CDN 拉取权重。这些都不是恶意的,也并不罕见。当你忽视了那根电缆时,云原生技术栈本就是这个样子的。

智能体事件取证:在需要之前即刻捕获

· 阅读需 12 分钟
Tian Pan
Software Engineer

周二,客户给支持团队发了一张截图。他们的账户显示六天前有一笔他们从未要求的退款。你的 CRO 转发了这张截图,并问了一个问题:“这是怎么产生的?”你知道是智能体(agent)干的——审计日志显示 actor: refund-agent-v3。但自那以后,提示词(prompt)已经修改了四次。由于财务部门为了追求 12% 的成本削减而更换了供应商,模型 ID 在上周四进行了轮换。系统提示词是根据三个检索到的文档生成的模板,而检索索引在周一重新进行了索引。对话历史被运行时(runtime)裁剪,以适应更小的上下文窗口。

你可以告诉 CRO 是智能体做的。你无法告诉他们为什么。这种差距——即知道发生了某个操作与能够重建导致该操作的输入之间的差距——是大多数智能体团队在工程团队之外的人提出真正的取证问题时发现的。

你的 AI 功能说明文档是运行时依赖,而非营销文案

· 阅读需 13 分钟
Tian Pan
Software Engineer

我上个季度合作的一个团队发布了一个 AI 助手,并附带了一整套完备的支撑文档:一个提醒 AI 可能会生成不准确结果的产品内工具提示(Tooltip)、一篇题为“助手如何工作”的帮助中心文章、一份处理升级问题的内部支持操作指南(Runbook),以及一份列出了底层模型、助手可调用的工具及其覆盖的数据领域的公开模型卡(Model Card)。发布过程非常顺利。六个月后,提示词(Prompt)被修改了 14 次,模型在不同层级间进行了切换,拒绝行为(Refusal Behavior)发生了微妙的变化,增加了两个新工具,一个工具被废弃但未从提示词中移除,语言设置也从仅限英语扩展到了 9 个语种。

每一份文档都出错了。并非灾难性的错误——而是那种一句话半真半假、描述的功能与模型实际表现不再匹配、记录的拒绝模式在新模型中从未触发、或者帮助文章里出现的工具名称助手根本不会调用的那种错误。这类错误会产生持续不断的令人困惑的支持工单,当 AI 做了文档说它不会做的事情时会导致客户信任倒退,并且——因为公司在受监管的垂直领域销售——还会产生一个微小但真实的合规漏洞,而 AI 团队中没有人想到要跟踪这一点。

80 问之墙:企业级 AI 安全调查问卷的真实需求

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的团队在 3 月发布的 AI 功能对你一半的潜在客户来说是无法销售的,而工程部门目前对此还一无所知。在客户执行(AE)的 Slack 频道里,一个成交概率原本为 80% 的项目刚刚被踢出了预测名单,因为潜在客户的 CISO 发来了一份包含 92 个问题的安全评估以及一份 AI 补充协议。第 31 题要求提供你的训练数据来源证明文档。第 47 题询问是否记录了提示词(prompts)、记录在何处、保存多长时间以及谁有权阅读。第 63 题询问你的推理过程是否可以固定在欧盟(EU)区域。第 78 题要求提供针对 OWASP LLM Top 10 语料库的提示词注入防御率,并按模型版本列出实测数字。销售团队只有 72 小时来做出回复。而 AI 团队中没有一个人写下过这些问题的答案。

这就是新的围墙。财富 500 强的采购团队现在会进行 2023 年尚不存在的 AI 功能专项安全审查,而你的工程部门需要的答案其实并不难产生 —— 只是目前没人负责这件事。这些问题是具体的,框架是公开的,但大多数 AI 产品却在悄无声息中变得无法销售给受监管的企业,因为答案从未被记录下来。

令人沮丧的是,这一切并不神秘。问卷是有模板的。预期的答案也是有据可查的。真正的失败模式在于:AI 功能在发布时被假设现有的 SOC 2 报告能像过去十年那样在企业交易中发挥同样的效力 —— 事实并非如此。

你的影子评估集是一个合规性定时炸弹

· 阅读需 11 分钟
Tian Pan
Software Engineer

你的 AI 技术栈中最危险的数据存储是那个无人设计的存储。这一切始于一次冲刺期间的 Slack 消息:“真实用户是捕捉真实 Bug 的唯一途径 —— 让我们把一定比例的生产流量接入评估流水线,以便我们可以每晚进行回放。”六名工程师给这条消息点了赞。九个月后,该存储桶包含了 430 万条追踪(traces),当失败率上升时,评估任务会呼叫值班人员,而失败案例会被逐字发送到一个有 40 人阅读的 Slack 频道。这些追踪包含电子邮件地址、公司内部名称、部分信用卡卡号、员工电话号码,以及用户解释其愤怒原因的客户支持对话记录。

没有人梳理过数据流。没有 DPIA(数据保护影响评估)涵盖它。上季度的隐私审查查看了模型供应商的 API;但它没有查看你的评估任务。然后,一份数据主体删除请求送达,团队发现“删除该用户的所有数据”这句话已经无法对应到他们实际能做的任何事情。

AI 输出的内容溯源:C2PA、SynthID 以及你很快将面临的审计追踪

· 阅读需 12 分钟
Tian Pan
Software Engineer

模型的输出曾经只是一个字符串。到 2026 年 8 月,它将变成一个带有监管链清单的签名制品(signed artifact),任何将其视为普通字符串的团队都将在截止日期的压力下进行补救式改造。

这种说法听起来可能有些戏剧化,直到你读到《欧盟人工智能法案》(EU AI Act)第 50 条。该条款将于 2026 年 8 月 2 日全面实施,要求生成式系统产生的任何合成内容都必须能被机器检测为 AI 生成。2026 年 3 月发布的《行为准则》(Code of Practice)明确指出,单一的标记技术是不够的——提供商必须将元数据嵌入(C2PA)与不可见水印结合起来,且输出内容必须在裁剪、压缩和截图等常见转换操作后依然存续。不合规的罚金高达 1,500 万欧元或全球营业额的 3%。这不仅仅是一个标签指南;这是一个签名制品的强制指令,它将落在每一个向欧盟市场发布生成式功能的团队头上。

可申诉性差距:如何工程化设计用户真正可申诉的 AI 决策

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个用户打开聊天窗口,请求退款,得到“抱歉,此次购买不符合退款条件”的回复后,关闭了标签页,再也没有回来。在内部,智能体生成了一条完美的追踪记录:工具调用、中间推理过程、参考的政策包,以及运行的模型版本。每一个 span(追踪跨度)都进入了可观测性平台。但没有任何内容是用户可以触及的。这里没有标为“请求人工再次审核”的按钮,即使有,后面也没有相应的服务。这个决定在默认情况下就是终局,而非设计使然。

这就是“可争议性差距”(contestability gap),它是监管机构、律师和愤怒的用户接下来要撕开的口子。这也是一个最典型的例子:一个从外部看像是政策问题,而从内部看实际上是工程链路(plumbing)的问题。

主权崩塌:记录你的 Prompt 究竟去了哪里

· 阅读需 11 分钟
Tian Pan
Software Engineer

监管机构问了一个简单的问题:“对于上周二 UTC 时间 14:32 提交的这个特定用户 Prompt,请证明该请求及其派生状态经过了哪些管辖区。”

你的应用日志显示 model=claude-sonnet-4-5, region=eu-west-1, latency=2.1s。你的网关日志也显示同样的内容。供应商的发票确认了请求确实发生了。但这些都无法回答上述问题。该请求进入了一个由欧盟托管的网关,被转发到美国区域的主端点,但在一次区域性故障期间故障转移到了新加坡,并预热了一个第三方 GPU 池上的 KV 缓存,而该 GPU 池的数据驻留声明仅存在于供应商的脚注中。你所需要的审计追踪存在于一个你的团队并不掌握的层级中。

这就是主权崩溃:即你的合同中关于数据位置的承诺与你的运行时在事后能实际证明的情况之间的差距。合规主张的强度取决于链路中最薄弱的那行日志。

你的 AI 聊天记录即证据:法律保存指令下的 LLM 产品保留设计

· 阅读需 13 分钟
Tian Pan
Software Engineer

2025 年 5 月 13 日,纽约南区的一位联邦地方法官签署了一项保护令,用一个词取代了一家消费级 AI 公司的保留政策:永远。OpenAI 被指示保留并隔离其 Free、Plus、Pro 和 Team 等所有层级的每一份输出日志——包括用户已明确删除的对话,以及隐私法原本要求删除的对话。到 11 月,同一法院下令将其中 2000 万份去标识化的转录文本作为抽样取证(sampled discovery)提供给《纽约时报》及其共同原告。这一无限期保留义务一直持续到当年的 9 月 26 日。在这五个月里,“删除”的实际含义是“保存在隔离的保险库中,供对方当事人日后查阅”。

该命令是对每一个基于 LLM 构建产品的团队发出的警告信号。如果你的产品存储了聊天记录,你的保留政策距离被法院认为合理的任何规定所取代,仅隔着一场潜在的诉讼。工程上的问题不在于这是否会发生在你身上,而在于你的存储架构是否能够承受这种变化,而不至于让你的产品变成法务部门的责任引擎。

电子邮件的保留手册无法直接套用。AI 对话包含的内容远多于用户输入的内容,而这“多出的部分”正是取证争端的开始。

AI 可观测性泄露:你的追踪堆栈正成为数据外泄的出口

· 阅读需 13 分钟
Tian Pan
Software Engineer

我最近接触的一个安全团队发现,他们的 prompt(提示词)和 response(响应)字段被完整地发送到了一个第三方 SaaS 日志后端,而他们从未与该厂商签署过《数据处理协议》(DPA)。这些字段包含客户的医疗摘要、支持人员误粘贴的 Stripe 私钥,以及某人要求内部助手总结的机密收购备忘录全文。Payload 中没有任何内容经过加密,也没有进行任何脱敏处理。数据保留期长达 400 天。这一集成是由一位初衷良好的工程师在黑客松期间通过 pip install 厂商的 SDK、填入 API 密钥后直接上线的。

这就是 AI 观测性泄露。每个 LLM 应用团队最终都会需要追踪(tracing)——没有它,你无法调试提示词回归或非确定性的智能体(agent)循环——因此 LangSmith、Langfuse、Helicone、Phoenix、Braintrust 或厂商提供的 AI 插件最终都会进入技术栈。默认设置会捕获整个请求和响应。对于大多数生产工作负载来说,这种默认设置就是一个等待被发现的合规性违规隐患。

你的思维链是一个故事,而非审计日志

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个智能体用简洁明了的文字告诉你,它检查了用户权限,查阅了策略,确认请求在范围内,并执行了操作。法务阅读追踪记录(trace)。审计人员阅读追踪记录。你的事故复盘也在阅读追踪记录。每个人都阅读同一段话,并且每个人都感到满意。

他们中没有人知道权限检查是否真的运行了。这段文字是叙事的证据,而不是执行的证据——而这两者之所以会被混淆,正是因为叙事足够流畅,让人感觉像是证明。Anthropic 自身关于推理模型忠实度的研究发现,当 Claude 3.7 Sonnet 收到关于正确答案的提示时,平均只有约 25% 的时间承认使用了该提示,而在有问题的类别(如针对评分者的 trick、不道德的提示)中,这一比例低至 19%–41%。模型的陈述推理与其真实行为在大约一半或更多的时间里是不一致的,即使是那些被明确训练以展示思考过程的模型也是如此。

你的微调语料库是 GDPR 数据产物,而不仅仅是机器学习资产

· 阅读需 13 分钟
Tian Pan
Software Engineer

当你的第一个微调模型上线生产环境时,你的权重就成了一种你的隐私计划从未编目过的新型记录。进入训练组合的客户服务记录不再仅仅是数据库中你可以 DELETE 的一行 —— 它现在被冗余且不可提取地编码进了你的 API 所提供的参数中。原始记录可以从 S3 中擦除,从你的仓库中抹去,并从你的 RAG 索引中删除,而模型仍会继续使用该客户的姓名、账户 ID 或病史片段来完成提示词。你的销售团队签署的数据保护协议 (DPA) 承诺你会履行删除请求。但没有人问过 ML 团队这在技术上是否可行。

关于 PII 提取的研究表明,这并非假设。PII-Scope 基准报告显示,在现实的查询预算下,针对预训练模型的对抗性提取率最高可增加五倍;而使用自提示校准的成员推理攻击已将微调模型的 AUC 从 0.7 提升至 0.9。Llama 3.2 1B 是一个被广泛复制的小型基座模型,已被证明会记住其训练集中存在的敏感记录。对于任何在生产追踪数据上发布微调模型的人来说,结论是生硬的:你不能假设你的权重已经忘记了。

这一点很重要,因为大多数微调流水线是由 ML 工程师设计的,他们优化的是损失 (loss),而不是由优化 GDPR 第 17 条款的数据主管设计的。结果产生了一个法律地位模糊、来源极少被记录、且不存在“删除用户 X”工作流的产物。