Weaviate Blog

Persistent memory for Claude Code with Weaviate Engram

6.9内容质量

TL;DR · AI 摘要

Persistent memory for Claude Code with Weaviate Engram Weaviate There's a category of knowledge that never makes it into...

核心要点

  • 主题聚焦:Persistent memory for Claude Code with Weaviate
  • 来源:Weaviate Blog,建议结合原文判断细节。
  • AI 分析暂不可用,本条为保底评分与摘要。
#AI#编程#前端#后端#云计算
打开原文

为 Claude Code 提供持久记忆的 Weaviate Engram | Weaviate

有一种知识从未被记录在 CLAUDE.md 中:你实际做过的事情。

上周添加的功能,以及在实现过程中关于其设计的一些小决定。在尝试了其他两种方法后,最终确定的解决棘手变更的方案。评估并拒绝的库,以及促使决策的关键因素。

这些内容都不属于规则文件。它们是历史,而非政策。但所有这些都会影响下一次接触代码或编写需要匹配它的代码时,什么才算是一个好的答案。

Claude Code 有自己的笔记,但这些笔记会留在编写它们的项目中,而大多数实际工作都涉及多个项目。切换仓库后,Claude 就会从零开始。

这就是我们为 Claude Code 开发 Engram 插件的原因。它为 Claude 提供了与任何仓库或会话无关的长期记忆。你在某个地方做的事情会被记住,并在再次相关时被调用。只需安装一次,它就能精准捕捉到这一层信息。

使用体验

安装插件后,你继续工作。第一天没有明显变化。几天后,变化开始显现。

跨会话

你以前解决过这个问题。

可能已经过去很久了。可能是在这个仓库,也可能是在另一个仓库。你曾为某个服务添加限流功能,并在反复讨论后选择了特定方案。现在你为另一个服务添加限流功能,却几乎忘记了当初的选择和原因。

Claude 却没有忘记。它会回忆起之前的修改,建议采用相同的方案,或指出当前情况类似并提出变体方案。你的代码库在无需你记住所有历史决策的情况下,逐渐趋于一致。

跨代码库

大多数功能并不局限于一个仓库。你为 API 添加了一个端点,随后在同周晚些时候打开前端仓库进行对接。

没有记忆的情况下,第二次会话需要从零开始。端点位于不同仓库,Claude 可能不知道它的存在。你必须再次描述它:路径、请求格式、哪些字段是可选的,很可能会出现一些小错误。或者你得告诉 Claude API 代码的位置,等待它重新读取已知信息。

使用插件后,你打开前端仓库并要求 Claude 添加功能,它已经知道。它记得你构建的端点、响应格式以及沿途做出的决策,因为当时它就在场。

跨团队成员

记忆不一定是你个人的。根据你在 Engram 项目中设置的主题,某些记忆可以在团队内共享。

假设你在处理前端,而某个后端开发人员在本周早些时候添加了一个端点。通过共享主题,他们的会话是记忆的产生地,而你的会话是记忆的调用地。你要求 Claude 进行对接时,它已经知道对方构建了什么以及原因。

这就是整个产品的核心。Claude 逐渐变得像一个参与项目已久的同事。

简要说明工作原理

该插件接入 Claude Code 会话中的两个关键时刻。

在 Claude 回答问题之前,它会先在 Weaviate Engram 中搜索与您输入的提示相关联的记忆,并将相关记忆作为上下文传递。这些记忆被压缩成简短的摘要而非原始对话内容,因此回忆过程保持轻量。回忆功能默认是静默的。只有当 Claude 使用记忆时,您才会注意到,此时它会明确说明。

在 Claude 回答问题之后,它会保存对话内容:您的消息和 Claude 的回复。Engram 负责将原始对话转化为值得保留的记忆。无需 "记住这个" 的指令或特殊仪式。记忆是工作的副产品。

它不会做的事情

它不会打断您。记忆功能是尽力而为的。如果 API 密钥错误、网络中断或配置错误,会话将完全按照不使用插件时的方式继续进行。当确实需要您注意时,Claude 会在回复顶部添加一个简短的 Engram · … 注释,然后正常回答。修复问题后,注释会自动消失。

它不会减慢您的操作。保存操作在 Claude 完成后异步进行,因此不会延迟您的下一个提示。

关于 Engram 的简要说明

Engram 是 Weaviate 为 LLM 代理和应用程序提供的记忆服务器。您向其发送对话内容,它会通过向量嵌入和 LLM 处理提取、转换并存储值得保留的部分作为记忆。这些记忆可通过 REST API 和 Python SDK 进行搜索。

Claude Code 插件是使用 Engram 的一种方式。同样的记忆也可以作为您自己的代理和应用程序的后端。

入门指南

Engram 每月提供最多 1,000 次运行的免费服务,因此您可以在决定之前先在自己的项目中尝试。在 console.weaviate.cloud/engram 创建项目并复制 API 密钥。在 shell 环境或类似 ~/.zshenv 的配置文件中导出密钥:

code
export ENGRAM_API_KEY=...

然后在 Claude Code 会话中:

code
/plugin marketplace add weaviate/engram-plugins
/plugin install engram@weaviate-engram

从下一个提示开始,记忆功能将开始工作。

然后回到您的工作。这一次,您所做的将被保留。

想要进一步了解?

  • 阅读插件文档以获取完整参考,包括如何根据团队需求定制范围。
  • 通过 Engram 文档了解如何将记忆功能添加到您自己的代理和应用程序中。
  • 发现了错误或有改进建议?在 GitHub 上提交问题。

准备开始构建?

查看快速入门教程,或注册 Weaviate Cloud 免费账户。