假设你是一家跨国公司的 CTO,你们的 AI 客服 Agent 每天要接待来自欧盟、中国、日本的用户。有一天法务突然找上门:"欧洲用户的数据不能存在美国,这是违法的。"你第一反应可能是:数据存在哪个机房,用户根本不知道,有什么关系?

这个反应很正常——我最早也这么想。直到审计报告摆在面前,我才意识到,数据驻留这件事不是一个合规 checkbox,而是会直接决定 Agent 架构怎么搭的问题。
数据驻留:不是技术问题,是管辖权问题
数据驻留(Data Residency)的核心要求其实只有一句话:特定类型的数据,必须在特定地理区域内存储和处理,不得离开该区域。
为什么各国都爱立这种法?因为数据一旦出境,本国司法和监管机构就难以调取。所以 GDPR 对个人数据的跨境传输设置重重限制,俄罗斯要求本国公民数据存在俄罗斯境内,中国《个人信息保护法》也规定了数据出境的安全评估。
Agent 不是普通软件,它是一个持续与用户交互、可能调用多个工具、内部保持长期记忆的程序。这意味着它处理的数据,远不止你发出去的那一句话。
Agent 为什么比普通 API 更难合规?
普通 API 是无状态的:请求进来,结果返回,结束。Agent 不同——它有会话上下文、用户画像、工具调用历史,这些状态可能散落在数据库、缓存、日志服务、模型 API 网关等多个组件里。
更麻烦的是,Agent 经常要调用第三方工具:查天气、订机票、调内部 CRM。每次调用,都可能把用户数据发送到另一个服务商那里。如果那个服务商的服务器在另一个国家,数据驻留就失败了。
我踩过的坑:以为只要不改数据库就行
之前我负责一个内部 Agent 项目,部署在欧洲和亚太两个区域。当时想:只要把数据库分开,欧洲的库存在法兰克福,亚太的库存在新加坡,不就合规了吗?
结果审计发现三个问题:第一,用户会话日志默认写入了全局的日志服务,日志存储在另一个区的集群里;第二,Agent 在调用大模型 API 时,把包含用户姓名和地址的提示词发给了境外的模型服务;第三,备份系统把欧洲的数据定期复制到美国区域用于容灾。
这三件事说明一个残酷的现实:数据驻留不是单一系统的属性,而是整个数据生命周期的属性。存储、计算、日志、备份、模型调用,任何一个环节跨出去,都算违规。
多区域隔离的真正做法
那怎么办?你不能靠祈祷,必须从架构上把数据锁死在区域内。我总结了四层做法。
- 区域路由:根据用户注册地或 IP 归属地,把请求分发到对应区域的 Agent 实例。区域之间不共享任何用户状态。
- 本地化推理:模型要么直接部署在本区域的 GPU 上,要么使用你签了数据不走对方训练集的私有化 API。注意:即使模型在境外,只要输入文本里包含个人数据,就已经构成数据出境。
- 区域密钥隔离:每个区域使用独立的 KMS 主密钥,加密本区域的数据库和备份。这样即使某个物理介质被跨区复制,密文也无法被其他区域解密。
- 强制数据流审计:在 Agent 的工具调用、日志写入、备份传输各环节加数据标签,用规则引擎阻断任何跨区域的数据写操作。
这四层做全了,才敢说自己的 Agent 是区域隔离的。
单区域 vs 多区域:一张表说清区别
| 维度 | 单区域 Agent | 多区域 Agent |
|---|---|---|
| 用户数据存储 | 集中一处 | 按区域分库 |
| 模型推理 | 单一模型 API | 可本地化推理或私有化 API |
| 合规风险 | 高,所有数据可能跨境 | 低,但架构复杂度高 |
| 运维成本 | 低 | 高,需多套监控和发布流水线 |
| 全局知识共享 | 容易 | 困难,需避免跨区同步 |
注意最后一行:全局知识共享是多区域 Agent 最痛的妥协。你训练了一个全局意图识别的模型,想共享给所有区域,但模型文件本身可能包含训练数据的信息。所以有些公司干脆在不同区域训练不同模型,或者用联邦学习。
Agent 的"失忆"是隔离的必然代价
你可能会发现一个尴尬的事实:用户在一个区域的 Agent 里聊了些内容,过几天他跑到另一个区域,那边的 Agent 不认识他。数据驻留的代价就是这种"失忆"。
怎么破?一种做法是把用户状态绑定到区域,比如用用户的’数据主权区域’字段来决定使用哪个区域实例,而不是用当前 IP。另一种做法是允许区域间同步加密的用户 ID,但不同步对话内容。更复杂一点可以搞联邦记忆,但工程量大,审计也麻烦。
各国要求都不一样,一张表记住核心差异
| 国家/地区 | 核心法规 | 关键要求 |
|---|---|---|
| 欧盟 | GDPR | 个人数据跨境传输需充分性认定或标准合同条款 |
| 中国 | 《个人信息保护法》《数据安全法》 | 关键数据本地存储,出境需安全评估 |
| 俄罗斯 | 联邦法第 242-FZ | 公民个人数据必须存储在俄境内数据中心 |
| 印度 | DPDP 法案 | 敏感数据本地存储,可受条件转移 |
注意,这只是大致格局,具体行业的细则更多。比如金融、医疗、军工的数据驻留要求往往比一般个人数据严格得多。
四个最容易翻车的场景
问:用户人在海外旅游,访问了本区域 Agent,数据算哪个国家?
按归属地算,不是按当前 IP 算。比如德国用户到中国旅游,他登录后依然属于 EEA 数据主体,Agent 必须在欧洲区域处理他的数据。除非你有短时豁免条款,但别赌这个。
问:如果数据脱敏后传到其他区域做分析,合规吗?
看脱敏程度。真正的匿名化(不可逆)一般可以,但假名化(可逆)依然算个人数据。很多公司以为去掉名字和身份证号就安全了,其实结合其他字段照样能定位到个人,这在 GDPR 下不叫匿名化。
问:把模型部署在自己的机房里,是不是就完全避免跨境了?
不一定。你的机房物理位置明确,但还要看你的模型供应商有没有要求数据回传。另外如果模型需要更新,更新包传送也算数据传输。
问:模型 API 在境外,但协议承诺不留存数据,算跨境吗?
算。只要个人数据被传到境外服务器处理,即使处理完就删,也构成跨境传输。协议承诺只能影响处罚力度,不能改变行为性质。
边界与局限:合规是工程,不是配置
我见过一个团队,把区域路由、密钥隔离全做了,最后在一次例行维护中,运维临时改了一个 DNS 记录,把某个区域的流量切到了另一个区域的负载均衡器上,结果整个会话数据全部流到了境外。审计发现的时候,已经是两周后。
这说明什么?多区域隔离是一个持续的系统工程,任何一次配置变更都可能是新的风险。云服务商的可用区跨政治边界,比如 AWS 的欧洲区(爱尔兰)和美国区,你把数据复制一份用于容灾,就可能踩线。
更麻烦的是,有些国家的法规是叠加的:欧盟的数据不仅要留在欧盟,某些敏感数据还必须在特定国家(如德国)境内。你设计多区域时,区域粒度可能还需要细到国家。
所以我的建议是:先定义好你的合规单元(region),再设计 Agent 的边界。不要先搭好系统再想合规,那样大概率要重写。
说到底,数据驻留不是技术难题,而是政治和法律在地缘博弈中的硬约束。Agent 作为一个处理数据的智能体,必须学会在边界内行动。这也是未来 AI 系统走向真实业务的必修课。
原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/1765.html