一种思考智能体记忆的新方式——"厨师味觉":每天的工作都会生成一个可逆向分解到项目的指纹,还能检测出尚未命名的项目 [开源]

Reddit r/openclaw 工具

摘要

介绍 'tastebud-memory',一个开源的智能体记忆系统,利用超维度计算创建可逆、可搜索的项目指纹,并附带回测验证和用于集成的 MCP 服务器。

我在家用服务器上运行着一个 24/7 的 AI 智能体(本地大模型 + 云端),它每天以 Markdown 日志形式记录我们工作的所有内容。几周前,我洗澡时闪过一个念头:如果每个项目都有一个像 **十六进制颜色** 那样的唯一 ID,而每天的工作将这些 ID 混合成一种新的颜色——这样你就能观察这种混合色,并看到其中的组成部分?结果发现,这个想法因为一个有趣的数学原因而失败:颜色只有 3 个数字,而 3 个数字无法承载约 50 个项目的归属关系。这恰恰就是为什么你无法逆向混合颜料。 真正可行的比喻是 **厨师的味觉**:一位训练有素的厨师品尝一道陌生菜肴,能说出每一种原料,估算出比例,并且——关键的一步——当他发现菜肴中有他不认识的成分时能立刻察觉。 背后的数学原理已有约 30 年历史:超维度计算 / 向量符号架构(Kanerva)。每个项目 slug 确定性地生成一个 4,096 维的 ±1 向量;随机高维向量近乎正交,因此一天的加权和可以通过点积分解回原始向量。混合变得可逆。 现在,我的智能体记忆之上有了这一层,它能回答嵌入搜索结构上无法回答的问题: - "列出 **所有** 涉及项目 X 的日子"(搜索返回的是代表性样本,而非完整集合) - "项目 X 是从什么时候开始的,**包括在其旧名称下**?"(近因性会掩盖起源——这在基线中完全遗漏) - "三月活跃但六月已死的项目有哪些?"(你无法嵌入集合差) - "哪些工作流 **从未获得文档**?"(你无法嵌入一个缺失) - 以及厨师的绝招:"周二有一个未知成分——它频繁与你的烹饪网站同时出现,也许给它起个名字?" 我认为实际上最有复用价值的部分是:**验证协议**。在信任它之前,我们基于我自己的历史进行了回测——冻结一份真实基准文档,让对抗性验证智能体盲审重新推导出 92 天中的 31 天(发现了 2 个真实的标记错误,忠实度 93.5%),并通过从码本中删除已知项目来回放历史,证明未知成分检测器本应能标记出它们(在回测中发生于第 0-2 天;我的实际历史中有一个项目运行了超过 13 天才获得文档,这正是促使我开发此功能的动机)。 诚实的发现(因为每篇关于记忆的文章都应该包含它们): - 纯组合 **表格** 完成了大部分查询工作。向量层在无损解码、日相似性、漂移追踪和固定大小编码方面有其价值,而非用于基础查找。 - 我的本地模型(Gemma 26B)**未通过** 标记质量门槛(一致性 0.74,低于 0.80 的标准),因此它作为告警后备方案,而大型云模型是夜间主方案。使用前请自行测试。 - 这是一个索引,而非摘要器。厨师恢复的是原料列表,而非菜谱。味觉 → 识别 → 获取。 该实现大约 600 行无依赖的 Node.js 代码,两个 JSON 文件,MIT 许可证,附带一个 MCP 服务器,以便任何智能体平台都能使用,并包含虚构的示例数据,克隆后即可运行所有命令: **[https://github.com/Mikhail-Za/tastebud-memory](https://github.com/Mikhail-Za/tastebud-memory)** 和 Claude 一起花了几天时间构建。方法文档(淘汰标准、回测协议)已在仓库中,方便你根据自己的智能体历史进行验证。
查看原文

相似文章

rohitg00/agentmemory

GitHub Trending (daily)

agentmemory 是一个开源的持久化记忆层,专为 AI 编程智能体(Claude Code、Cursor、Gemini CLI、Codex CLI 等)设计。它通过知识图谱、置信度评分和混合搜索技术,借助 MCP、Hooks 或 REST API,为智能体提供跨会话的长期记忆能力。该项目基于 iii 引擎构建,无需外部数据库,提供 51 个 MCP 工具。

智能体的自改进记忆(6分钟阅读)

TLDR AI

Perplexity Brain是一个记忆系统,它构建了一个跨任务、项目、决策、文件和来源的持久上下文图,使智能体能够从相关上下文开始,而不是从头开始,从而提高答案正确性并降低任务成本。