← 新闻动态
技术复盘

为什么我们用 Profile 而不是租户 ID 做记忆隔离

用租户 ID 做逻辑隔离,听起来很省事,直到有一天某个 Prompt 拼接漏了一个 where 条件。我们把隔离下沉到了文件系统。

AI 基础设施老胡2026.10.15964 次阅读

逻辑隔离的隐患

多租户系统最常见的做法是共享一张表,靠 tenant_id 过滤。问题在于:任何一处忘记加过滤条件,就是跨租户数据泄露。这类 bug 在代码评审里极难发现,因为单看每段代码都是对的。

物理隔离的代价与收益

Hermes 选择以 Profile 为隔离单位:每个 Agent 一个独立目录,拥有自己的记忆库、会话状态、技能包与 state.db。

代价很直接:无法跨 Profile 做全局检索,磁盘占用更高,进程数更多。

收益也很直接:隔离不依赖任何一行查询代码的正确性。哪怕上层逻辑写错,也不可能读到另一个 Profile 的数据。

什么时候可以妥协

如果场景是"同一个企业内的多个部门",逻辑隔离 + 行级安全策略(RLS)足够了。但如果是"不同客户之间",物理隔离是唯一让人睡得着的方案。

安全边界的成本,永远低于一次泄露的代价。
#隔离#安全#多租户