Skip to main content

多人记忆

把 Sonzai 中所有让记忆跨越边界的方式收在一个伞下 — 智能体之间(inter-agent)通过共享知识库,共享同一个智能体的用户之间(intra-agent)通过智慧与共享记忆。把闭环公司大脑和团队大脑合并在一起。

默认的智能体记忆模型是按对的 — 每次对话都构建一个限定到一个 (agent, user) 对的事实档案。这种隔离对隐私来说是正确的默认值,但只要你的产品有多个智能体或一个智能体面向多位用户,你就会希望记忆能够以受控、可观测的方式跨越边界。

多人记忆就是这些跨边界能力的伞。它沿着两个轴干净地分开:

跨越什么实际形态能力
智能体之间(Inter-agent)同一项目(或租户)内智能体之间的知识闭环公司大脑 — 智能体 A 学到,智能体 B 拾取knowledgeBase(读取)、knowledgeBaseWrite(自主更新)、knowledgeBaseScopeMode(组织级 cascade)
智能体内部(Intra-agent)与同一智能体对话的用户之间的记忆团队大脑 — 一个智能体用与用户 B 交谈所获的上下文回应用户 Awisdom(不带归属、默认开启)、sharedMemory(带归属、需要启用)

两个轴可以同时运行。完整图景:同一项目的智能体共享它们对世界的认识(智能体之间),同时单个智能体共享它服务的人之间的上下文(智能体内部)。同样的复利曲线,两个维度。

智能体之间 (Inter-agent)
          共享知识库、自主更新、组织级范围、
                     闭环公司大脑
                              |
                              v
 +-------------------------+      +-------------------------+
 |     智能体 A            |      |     智能体 B            |
 |  读 + 写 KB             |<---->|  读 + 写 KB             |
 +-------------------------+      +-------------------------+
          ^ ^ ^                                ^ ^ ^
          | | | 智能体内部 (Intra-agent)       | | |
          | | | wisdom(不带归属)、           | | |
          | | | shared memory(带归属)        | | |
 +--------+ | +---------+              +-------+ | +---------+
 |          |           |              |         |           |
user X1   user X2     user X3        user Y1    user Y2    user Y3

 智能体之间:任何一个智能体学到的东西,对项目里
              其他所有智能体来说都是有依据的数据。
 智能体内部:单个智能体在它服务的用户之间携带记忆 --
              带隐私护栏。

智能体之间的记忆 — 智能体 ↔ 智能体

智能体之间的记忆把项目知识库变成一个闭环的公司大脑:一个智能体在对话中学到或验证过的任何内容,都会成为其他每一个智能体在下次会话中能取出的有依据数据。三层从基线一直叠到组织级。

1. 基线读取 — 每个智能体都让回答有项目知识库做依据

knowledgeBase: true 的智能体在对话期间通过 knowledge_search 工具读取项目知识图谱。图谱可以人工策划、ETL 加载,或两者并用 — 两条导入路径见 数据如何进入知识库

await client.agents.updateCapabilities("agent_abc", {
  knowledgeBase: true,
});

2. 自主编辑 — 智能体把学到的内容写回去

打开 knowledgeBaseWrite: true,智能体获得 knowledge_create / knowledge_update / knowledge_delete 工具。在对话中智能体自己记录已验证的事实,附完整审计追踪(source = "agent:<agent-id>"),并采用 compare-and-swap 更新语义,所以管理员的编辑不会被悄悄覆盖。下一个对同样话题运行 knowledge_search 的智能体,就会取出之前那个智能体记下的内容。

await client.agents.updateCapabilities("agent_abc", {
  knowledgeBase:      true,
  knowledgeBaseWrite: true,
});

真相之源就是对话本身时使用 — 客服记录已验证的事故详情、客户成功捕获续约上下文、记录员智能体写会议记录。详见:智能体如何使用知识库

3. 组织级范围 — 跨项目之上的租户级知识

knowledgeBaseScopeMode: "cascade" 设到智能体上,它就会在每次搜索时同时从项目 KB 和组织级 KB 读取。组织级范围用于租户级别的产物:政策、世界观、品牌、参考目录。冲突时项目获胜,组织填充默认值。

await client.agents.updateCapabilities("agent_abc", {
  knowledgeBase:          true,
  knowledgeBaseScopeMode: "cascade",
});

详见:组织知识库

智能体内部的记忆 — 共享同一智能体的用户之间

智能体内部的记忆把单个智能体变成团队大脑:服务于多位用户的一个智能体携带跨越用户边界的记忆,因此能用与用户 B 交谈所收集的上下文回应用户 A。两个互补的层。

1. 智慧(Wisdom) — 默认开启,不带归属

wisdom 在每个新智能体上都是开的。一个每日晋升作业从按用户事实历史中提取模式,k-匿名化,再通过 LLM 改写成智能体级别的知识。任何个体用户都不可识别。每个智能体都受益于"什么倾向于成功/什么会反复出现",但绝不会泄露谁说过什么。

// 智慧默认开启。只在你想退出时传 false
//(少见 — 通常只在严格的单用户产品中考虑)。
await client.agents.updateCapabilities("agent_abc", { wisdom: false });

这是安全的智能体内部层 — 按构造保护隐私,不需要手动开启。

2. 共享记忆(Shared Memory) — 需启用,带归属

sharedMemory: true强大的智能体内部层。智能体记录人员/实体级带归属的事实(角色、专业、业务上下文、关系),并把它们暴露给共享该智能体的其他用户 — 名字是可见的。"Alice 负责迁移;Bob 处理事故。""Carol 带甜品;Dave 负责布置。"

await client.agents.updateCapabilities("agent_abc", {
  wisdom:       true,   // 先决条件;默认开启
  sharedMemory: true,
});

打开后三件事会切换:智能体获得 sonzai_wisdom_set/update/delete/relate 工具;提示词里多出一个带审慎条款的"Shared facts"段落;每次写入都会在服务器端针对隐私下限(薪酬、健康、政治会被拦下)做语义校验。每次披露都会写入审计表。完整细节:共享记忆

智能体之间与智能体内部的组合

两个轴是独立的 — 任何组合都有效:

智能体之间智能体内部你得到什么
仅按对记忆。单用户伴侣产品的正确默认值
开(仅读)智能体让回答有 KB 做依据,但不在用户之间共享。标准的只读文档助手
开(读 + 写)闭环世界知识。智能体捕获关于产品、价格、事故的已验证事实 — 其他每个智能体都受益
团队大脑 — 一个智能体服务一个小组,但智能体之间没有共享的世界知识
开(读 + 写)完整的多人记忆。 闭环世界知识 + 团队大脑。共享业务上下文产品的最佳选择
// 一次能力更新搞定完整多人记忆
await client.agents.updateCapabilities("agent_abc", {
  knowledgeBase:          true,
  knowledgeBaseWrite:     true,    // 智能体之间:闭环 KB
  knowledgeBaseScopeMode: "cascade", // 智能体之间:组织级范围
  wisdom:                 true,    // 智能体内部:不带归属(默认开启)
  sharedMemory:           true,    // 智能体内部:带归属
});

验证它在工作

每项能力都有一个实时读取端点,可以用来确认环路确实闭合。把 $AGENT_ID$PROJECT_ID$API_KEY 替换成你自己的。

智能体之间 — KB 写入

curl 'https://api.sonz.ai/api/v1/projects/$PROJECT_ID/knowledge/search?q=YourQuery' \
  -H "Authorization: Bearer $API_KEY"

智能体内部 — 带归属的共享记忆

curl 'https://api.sonz.ai/api/v1/agents/$AGENT_ID/wisdom/attributed?limit=20' \
  -H "Authorization: Bearer $API_KEY"

curl 'https://api.sonz.ai/api/v1/agents/$AGENT_ID/wisdom/audit?limit=50' \
  -H "Authorization: Bearer $API_KEY"

智能体内部 — 智慧(默认开启)

不带归属的智慧层一旦每日晋升作业扫过按用户事实历史,就会内联出现在智能体跑的每个提示词里 — 没有单独的读取端点。要确认它在跑,在多用户流量之后看 48 小时窗口的智能体上下文体积;你应该能看到智慧块被填充。

隐私与控制

多人记忆按设计就是敏感的。每项能力都有自己的控制 — 没有一项需要信任 LLM:

能力服务器端控制
knowledgeBaseWrite每次写入做模式校验、写入配额、项目范围检查、完整审计追踪(source = "agent:<agent-id>")、CAS 更新、仅软删除(硬删除仅管理员)
wisdom晋升前的 k-匿名阈值、用 LLM 改写去除可识别细节、每日节奏让单次嘈杂会话不会泄漏
sharedMemory语义隐私下限校验器(薪酬、健康、政治会被拦下)、每个提示词里的审慎条款、每次事实加载的披露审计、软删除墓碑、source 锁定为 developer_api(调用者无法伪造来源)

每条跨边界的流都对应一个读取端点,所以你可以随时回查审计。

深入了解

  • 知识库 — 智能体之间的面:导入路径、模式、自主编辑细节
  • 组织知识库 — 组织级 cascade 的细节
  • 共享记忆 — 智能体内部的面:启用/关闭、四个 wisdom 工具、隐私下限、完整验证探针
  • 自我改进 — 多人记忆如何叠加在按对在线学习之上
  • Wisdom API — 共享记忆 CRUD + 审计的完整端点参考

On this page