BHGBrain 一周前作为开源 MCP 记忆服务器发布:一个为 AI 智能体构建的共享向量大脑,基于 SQLite 和 Qdrant,具备语义召回、自动去重和混合搜索。初始版本涵盖了核心架构——双存储写入流水线、记忆类型、命名空间、集合、企业认证和多智能体场景。
本次更新涵盖了此后发布的内容:一套完整的记忆生命周期系统、显著改进的搜索、运维安全特性以及多语言文档。这些并非小补充——分层保留系统尤其将曾经的扁平存储替换为智能生命周期管理,改变了智能体随时间与记忆交互的方式。
记忆生命周期:层级、滑动窗口与自动晋升
分层保留(T0–T3)
BHGBrain 中的每条记忆现在在写入时都会被分配一个保留层级。四个层级覆盖了从永久参考知识到临时工作上下文的完整范围:
| 层级 | 标签 | TTL | 典型内容 |
|---|---|---|---|
| T0 | 基础性 | 永不过期 | 架构参考、合规要求、公司政策 |
| T1 | 制度性 | 1 年零访问 | 设计决策、API 契约、运行手册、编码标准 |
| T2 | 运营性 | 90 天零访问 | 项目状态、冲刺成果、技术调查 |
| T3 | 临时性 | 30 天零访问 | 故障工单、邮件摘要、调试会话 |
层级分配遵循一条优先级链:显式的由调用方提供的 retention_tier 优先;否则类别始终为 T0;然后应用基于来源的启发式规则(程序式智能体记忆 → T1,情景式 → T2);然后在抽取流水线激活时使用 LLM 分类;最后如果没有其他匹配,则默认为 T2。
T0 记忆永不过期。它们也被排除在所有清理作业之外,在 SQLite 中以完整内容存储以便在需要重建向量存储时恢复,并在混合搜索结果中获得 +0.1 的分数加成。
滑动窗口 TTL
TTL 基于访问,而非基于创建日期。每次记忆被召回或搜索时,其过期计时会从那一刻起重置为完整 TTL。一条 28 天前创建的 T3 记忆如果今天被召回,会延长到从现在起 30 天后过期。
这意味着记忆衰减由实际使用驱动。你的智能体主动引用的记忆保持存活。真正不再被使用的记忆自然衰减,无需手动管理。你不必预先猜测哪些记忆长期重要。
自动晋升
任何在 TTL 窗口内被访问 5 次或以上的 T2 或 T3 记忆会自动晋升一个层级——T3 升到 T2,T2 升到 T1。如果运营性知识被证明持续有用,系统会识别这一点,并赋予它更持久的存储,无需你干预。
结合滑动窗口 TTL,这意味着保留系统会适应实际的智能体行为,而不是要求预先分类完美无缺。
搜索改进
混合 RRF 搜索
搜索引擎现在使用 Reciprocal Rank Fusion (RRF) 来合并来自两条独立检索路径的结果:
- 语义向量搜索 —— 对 Qdrant 嵌入的余弦相似度(默认 70% 权重)
- 全文 BM25 搜索 —— SQLite 中的 FTS5 索引(默认 30% 权重)
RRF 的工作方式是独立地对每个系统的结果排名,然后根据每个结果在两个列表中的位置计算综合分数。一条在语义中排第 3、在全文中排第 8 的记忆,得分高于一条在语义中排第 1 但在全文中无名次的记忆。
{
"tool": "bhgbrain.search",
"params": {
"query": "authentication architecture decisions",
"mode": "hybrid",
"limit": 10
}
}
提供三种搜索模式:semantic、fulltext 和 hybrid。如果你的工作负载偏向精确匹配检索或纯语义召回,可在 config.json 中配置权重。
recall 工具(与 search 不同)针对会话开始时的上下文注入进行了优化——它使用带层级加成的语义搜索,并应用最低分数阈值。search 是通用工具,支持完整的过滤和模式。
改进的语义去重
去重在存储新记忆前现在运行两轮:
SHA-256 校验和匹配 —— 内容在哈希前会被规范化(合并空白、折叠大小写、去除标点)。功能上相同但格式略有差异的内容会在计算任何嵌入之前在这里被捕获。
余弦相似度阈值 —— 新记忆的嵌入会与现有记忆比较。基线阈值为 0.92,并按层级调整阈值:T0 和 T1 记忆使用更严格的阈值(更难对持久知识去重),而 T3 使用更宽松的阈值(临时内容去重更积极)。
当检测到重复时,传入的记忆会合并进现有记录——更新访问时间、合并标签,并保留较高的保留层级——而不是创建第二条记录。向量空间保持干净。
重要性评分
记忆现在带有一个 importance 字段(0.0–1.0,默认 0.5),影响搜索结果排名。重要性更高的记忆在召回结果中获得分数加成,使关键知识更突出,而无需通过精确查询匹配来检索。
存储记忆时显式设置重要性:
{
"tool": "bhgbrain.remember",
"params": {
"content": "All database writes must go through the repository layer. No direct ORM calls in service code.",
"type": "procedural",
"retention_tier": "T1",
"importance": 0.9,
"category": "coding-standards"
}
}
运维安全
容量预算
每个层级现在有按命名空间的记忆上限:
| 层级 | 默认上限 |
|---|---|
| T0 | 无限 |
| T1 | 100,000 条记忆 |
| T2 | 200,000 条记忆 |
| T3 | 200,000 条记忆 |
当某个层级接近上限时,/health 端点会报告。上限可在 config.json 中配置。这防止了 T2/T3 中来自高频智能体工作负载的无界增长挤占向量空间中的 T0/T1 知识。
过期前预警
任何记忆过期前 7 天,它会在元数据存储中被标记。智能体和运维人员可以查询健康端点或使用 CLI 列出即将过期的记忆:
bhgbrain list --expiring-within 7d
这个窗口给你时间干预——手动晋升一条记忆、重置其 TTL,或判断它确实可以归档了。
删除前归档
过期记忆永远不会被直接删除。它们会先被移到 SQLite 中的 archive 表,然后再从活跃记忆存储和 Qdrant 中移除。归档可通过 CLI 查询,并保留完整内容、元数据和访问历史。
如果一条记忆被错误归档——或者某条看似临时的记忆后来证明很重要——你可以恢复它。没有显式删除,任何东西都不会永久丢失。
原子写入与延迟刷盘
随保留系统一起发布的还有两项性能和可靠性改进:
原子写入 —— 所有 SQLite 磁盘 I/O 使用先写临时文件再重命名的方式。磁盘上的数据库文件永远不会处于部分写入的状态。如果进程在写入中途崩溃,之前的有效状态会被保留。
延迟刷盘 —— 访问元数据更新(最后访问时间戳、用于自动晋升的访问计数)会在内存中批量缓存最多 5 秒后再刷盘。在读取密集的路径上——智能体在会话开始时进行大量上下文注入——这消除了每次召回的数据库写入,而对 TTL 准确性没有实质性影响。
类别:持久的策略槽位
类别是用于结构化参考内容的命名存储槽位,命名空间内的每个智能体都应能一致地访问。与普通记忆不同,类别能熬过所有清理周期(无论层级如何),没有 TTL,并以可预测的槽位格式注入到上下文中。
用例包括架构决策记录、编码标准、安全策略和运行规则:
{
"tool": "bhgbrain.category",
"params": {
"action": "set",
"name": "database-access-policy",
"slot": "coding-standards",
"content": "All database access must use the repository pattern. Direct ORM calls in service layer are not permitted. Repositories must return domain objects, not ORM entities."
}
}
类别可以单独检索或作为一组列出。它们与 T0 记忆的不同之处在于,它们被构造为键值策略槽位,而不是经过向量索引的语义记忆——它们不经过去重或嵌入流水线。
多语言文档
完整 README 现已以五种语言发布:
- 英文 (
README.md) - 简体中文 (
README.zh-CN.md) - 德文 (
README.de.md) - 法文 (
README.fr.md) - 西班牙文 (
README.es.md)
这些是完整翻译,不是机翻的简陋版本——架构图、配置参考、CLI 命令和 MCP 工具参数在每种语言中都有覆盖。
下一步
分层保留和混合搜索系统是后续版本中几项功能的基础:通过抽取 LLM 流水线实现的自动层级分类(目前为手动或启发式驱动)、面向多租户场景的跨命名空间记忆联邦,以及一个用于记忆健康监控的仪表板。
仓库中的 ROADMAP.md 跟踪已计划和正在进行的内容。
BHGBrain 是开源的,采用 MIT 许可证,可在 github.com/Big-Hat-Group-Inc/BHGBrain 获取。如果你在生产环境中运行 AI 智能体并饱受上下文税之苦——智能体重新发现之前见过的状态、每次会话重新解释架构、在运行之间丢失决策——这正是它旨在解决的问题。
加星、提 issue、发 PR。它看到的生产工作负载越多,层级分类启发式就越准确。
Kevin Kaminski 是 Big Hat Group 的负责人,专注于企业 AI 基础设施、Microsoft 365 和 Windows 365。他为在工作中运行 AI 智能体的团队构建开源工具。