Skip to content

记忆 + 知识组合

状态:运行中 (Running)。认知的 MemoryServiceKnowledgeService 通过 C-COG-* 提供;运行时桥接契约是已准入的消费路径。

Cognition 包含两个不同的服务,它们共同承载了代理对用户和事实的持续理解。两者看似相似,底层行为却截然不同。

服务承载内容连续性更新方式
记忆“我对参与者的记忆”——关系连续性每个代理 + 每个参与者范围代理的行为 + 已准入的记忆写入路径
知识“我可以检索的事实”——结构化信息每个知识库范围策划流程 + 摄取路径

混淆这两个服务会导致不良的代理行为:应该存储在记忆中的关系事实会被分散到知识库中(脆弱且无范围限制);应该存储在知识库中的事实会被嵌入到记忆中(高变动率,低检索质量)。

记忆:关于参与者的连续性

属性
权威cognition/kernel/memory-service-contract.md
范围每个代理 + 每个参与者(已准入的 bank 范围:AGENT_COREAGENT_DYADIC 等)
变更通过已准入的记忆写入路径
检索通过认知的提示通道和桥接表面
隐私双方记忆不会跨参与者共享

记忆承载了代理与一个人的关系历史:偏好、之前的对话、约定的惯例、正在进行的主题。bank 范围是隐私和隔离的基本单位。

知识:可检索的事实

属性
权威cognition/kernel/knowledge-service-contract.md
范围每个知识库
变更通过策划/摄取(不是来自单次对话)
检索通过结构化的检索表面
隐私每个知识库授权

知识承载了代理可以查找的事实:文档、常见问题解答、特定领域的参考。知识不是记录特定参与者所说内容的地方。

为什么分离很重要

如果记忆服务吸收了知识服务:

  • 每个参与者都会携带相同的事实副本
  • 策划流程需要更新 N 个副本
  • 跨参与者的事实更新会无声地漂移

如果知识服务吸收了记忆服务:

  • 隐私边界会崩溃(一个参与者的记忆在一个共享的知识库中 = 泄露)
  • 记忆的每个关系的保真度会降为“知识库恰好所说的内容”

Cognition 同时保留两者。应用程序通过已准入的表面来消费这两者;它们不会发明第三种融合它们的东西。

运行时如何消费认知

Runtime 是执行权威。Cognition 是认知权威。运行时桥接契约 (cognition/kernel/runtime-bridge-contract.md) 定义了 Runtime 可以消费的内容:

桥接接口所有者用途
记忆消费认知Runtime 在回合组装时请求相关记忆
知识消费认知Runtime 在回合组装时请求相关知识
提示服务认知认知在已准入的通道下组装提示
引用图认知认知解释为什么某个工件相关

桥接是消费,不是吞并。Runtime 不能重新定义记忆 bank 是什么或知识是如何策划的。Cognition 不依赖 Runtime 来成为自己。

读者场景:代理回忆用户

用户第二天回来与他们的代理交谈。

  1. 回合到达。 Runtime 收到 (agent_id, conversation_anchor_id) 的回合。
  2. Runtime 调用 Cognition 桥接以获取记忆。 请求在代理 + 参与者 bank 范围内 (AGENT_DYADIC + AGENT_CORE 根据已准入策略) 的相关记忆。
  3. Cognition 返回记忆。 由 bank 范围和提示通道分离规则限定。
  4. Runtime 调用 Cognition 桥接以获取知识。 如果回合需要事实(例如,代理有一个绑定到其配置文件的知识库),则询问知识服务。
  5. 知识返回匹配的事实。 通过已准入的检索表面。
  6. Runtime 组装回合。 记忆 + 知识在已准入的提示通道分离下参与提示服务。
  7. 代理响应。 回合生命周期按照 runtime-agent-service-contract.md 进行。

两个服务都参与了。没有一个吞并另一个。Runtime 通过桥接消费两者,但不重新定义它们。

读者场景:回合后的记忆写入

回合完成后,代理的行为可能会允许一次记忆写入。

  1. 记忆写入选项出现。 根据代理的已准入记忆写入规则。
  2. Cognition 准入。 写入在已准入的 bank 范围内 (AGENT_DYADIC 对于此参与者) 进入记忆。
  3. 其他参与者不受影响。 跨参与者范围得到尊重;写入对其他参与者的双方记忆不可见。

读者场景:知识策划更新

维护者更新了一个许多代理使用的知识库中的事实。

  1. 策划流程更新。 知识库条目被更新。
  2. 未来的检索看到新事实。 下次代理查询此知识库时,他们检索到更新的事实。
  3. 记忆不变。 过去的每个参与者的记忆快照不会被无声地重写。如果记忆引用了旧事实,引用图(参见 引用图)显示了关系;清理决策是明确的。

边界保持“知识改变”不会无声地改变“这个用户曾经说过什么”。

此组合不做的事情

  • 它不允许 Runtime 吞并 Cognition。
  • 它不允许记忆吸收知识或知识吸收记忆。
  • 它不允许应用程序代码跳过桥接直接消费。
  • 它不允许通过共享知识库导致跨参与者的记忆泄露。

边界总结

关注点所有者
独立的认知权威cognition/kernel/cognition-contract.md (C-COG-*)
记忆服务真相memory-service-contract.md
知识服务真相knowledge-service-contract.md
Runtime 消费桥接runtime-bridge-contract.md
提示服务(带通道分离)prompt-serving-contract.md(参见 提示通道

来源依据

Nimi AI open world platform documentation.