Skip to content
阅读进度

项目私有记忆如何变成可复用知识? ​

返回 工程项目复盘 目录

标准回答 ​

EachOf 区分项目私有记忆和可复用知识。项目私有记忆保留具体项目的事实、决策和限制;可复用知识则希望抽象出能在其他任务中使用的经验。两者不能因为都叫“记忆”就默认互通。

读取时,Core 根据权限决定 Agent 可以得到什么上下文。模型自己说“我需要访问项目 A”不能作为授权依据。同样,把一段私有内容换一种说法,也不代表已经消除了其中的敏感信息。

比如“某项目周五轮换密钥”属于具体项目事实,“密钥需要定期轮换”可以是一般经验。但泛化结果如果仍包含系统名、时间或具体操作细节,可能仍然受原作用域限制。因此从私有记忆到可复用知识,需要结合来源和发布策略判断,而不能只看模型是否完成总结。

这组权限语义也必须贯穿缓存、迁移、反馈和撤销。查询入口检查正确,但缓存串项目,或者历史接口放宽了权限,整体隔离仍然会失效。具体数据库隔离技术应以实现为准,架构上划分了作用域,不等于自动实现了所有安全边界。

关键机制 ​

  • 身份与项目范围从可信上下文确定,不接受模型自行声明拥有权限。
  • 派生内容可能保留原资料敏感信息,发布到更广范围应有明确策略;历史视图同样受权限约束。
  • 查询、缓存、反馈、迁移与撤销要保持同一作用域语义,避免某个旁路接口漏掉过滤。

通俗例子 ​

“项目 A 的密钥轮换时间”是私有事实;“密钥需要定期轮换”可以是一般知识,但具体时间、系统名和来源细节仍可能需要保留在私有范围。

追问与回答 ​

多个 Agent 是否默认共享记忆? ​

不默认全部共享。Agent 是访问客户端或主体,能看到什么,取决于它代表的用户、项目和授权范围。同一个项目内可以按策略共享,多项目之间则需要明确授权。否则所谓协作很容易变成数据串用,尤其是缓存和可复用知识入口也必须保持同样的权限语义。

缓存怎样防止串项目? ​

缓存必须把影响可见性的作用域纳入设计,不能只用查询文本作键。读取缓存时,还要考虑权限或来源版本是否已经变化。一个用户之前能访问,不代表权限撤销后还可以继续拿到旧缓存。这是缓存正确性的必要条件;具体键结构、失效传播和授权复核位置,需要与项目代码逐一对应。

易混淆点 ​

材料未说明具体租户隔离、RLS 或加密方案,不能把某种常见技术直接写成已实现。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。