LLM+知识库_01_basic-memory
1 解耦大脑与记忆
大家喜欢 OpenClaw,主要因为它的自我学习与进化能力。但在实际开发中,不同 Agent 各有所长。比如写代码用 Copilot,梳理架构用 Claude Code。目前的痛点是:切换工具或重开对话,上下文就断了。辛苦调教的代码偏好、踩过的坑,需要反复交代。我们想要给其它 Agent 也加装记忆功能。
解法就是**解耦:**把负责推理的“大脑”和记录偏好的“记忆”分开。
我们需要一个通用的记忆中间层,让所有 Agent 共享同一个核心知识库。只要接入同一个底座,任何 Agent 都能调取历史经验。
2 通用存储层
记忆如果锁死在某个具体工具里,换工具就得从零开始。
引入“通用语义存储层”作为中间层后:
工具专注于推理和生成的“运算大脑”职责。
记忆层集中存储长期偏好、关系图谱和历史教训。
只要底层数据独立,未来接入任何新的 LLM 工具,就能立刻适应当前工作流。
3 具体实现
目前的最佳实践方案是:MCP (Model Context Protocol) + 本地独立文件存储。
我们可以使用basic-memory作为底层支撑,配合具体 Skill 适配各类场景。
3.1 核心底座:MCP接入
中间层需要对上层 Agent 暴露访问接口。可以通过 MCP 提供接入。
当 Agent 需要了解过往项目经验时,它会输出指令访问指定内容。MCP 插件捕获后,调用本地数据库检索相关的“历史教训”,并将其补充进 Prompt 中返回给 Agent。
basic-memory这类底层库还能自动处理长短期记忆置换,确保 Agent 上下文不过载,同时拿到关键信息。
3.2 部署基础环境
basic-memory提供开箱即用的底层支撑,包含命令行工具和 MCP 服务器。
3.2.1 基础安装
多数环境下直接使用pip安装:
pipinstallbasic-memory3.2.2 独立虚拟环境安装
有些新版 Ubuntu 系统不允许直接修改系统 Python 库。可以建一个专用虚拟环境(venv):
# 准备系统依赖sudoaptupdatesudoaptinstall-ypython3-venv python3-full# 创建专用虚拟环境并安装mkdir-p~/.venvs python3-mvenv ~/.venvs/basic-memory ~/.venvs/basic-memory/bin/pipinstall-Upip ~/.venvs/basic-memory/bin/pipinstallbasic-memory# 创建软链接到个人 bin 目录方便全局调用mkdir-p~/.local/binln-sf~/.venvs/basic-memory/bin/basic-memory ~/.local/bin/basic-memoryln-sf~/.venvs/basic-memory/bin/bm ~/.local/bin/bm3.2.3 初始化与测试
首次使用时,系统初始化$HOME/.basic-memory和$HOME/basic-memory目录,分别存放配置和用户可读数据。
查看状态:
bm status新建项目(建议直接建新项目作为默认项目):
bm projectaddtest1 ~/basic-memory/test1--default--local测试写入:
bm tool write-note--title"测试"--folder"logs"--content"abcd"--local3.3 Skill方式接入
只有底层协议不够,还需配合具体的 Skill。告知 Agent 何时调用读写操作,形成记忆闭环。basic-memory提供了多个实用 skill:
记忆任务 (
memory-tasks) 将复杂任务分解成结构化步骤,跨上下文跟踪。任务前检索历史状态,完成后固化到记忆库。结构化笔记 (
memory-notes) 将零散记忆组织成有效材料。约束 Agent 写入时整理成具备明确主题的结构化笔记,方便高效检索。反思提纯 (
memory-reflect) 单纯记录会变成垃圾场。定期触发沉淀,让模型合并、蒸馏临时记忆,剔除短期上下文,提取真实的“长期偏好”。
3.4 接入 Copilot 实战
以 VS Code 的 GitHub Copilot 为例。开启 Skills 功能并配置 MCP 协议,即可接入:
- 打开
settings.json,配置basic-memoryMCP 服务器:
"github.copilot.chat.mcpServers":{"basic-memory":{"command":"/home/xieyan/.local/bin/bm","args":["mcp"]}}开启
chat.useAgentSkills,并配置Agent Skills Locations指定 Skill 目录。安装第三方 Skill 约束模型行为:
# 安装常用功能npx skillsaddbasicmachines-co/basic-memory-skills@memory-notes-g-ynpx skillsaddbasicmachines-co/basic-memory-skills@memory-reflect-g-y# 或直接安装全套npx skillsaddbasicmachines-co/basic-memory-skills-g-y重启窗口即可生效。
3.5 日常交互准则
接入memory*系列 skill 后,它们的运作逻辑非常克制:
显式触发:默认不全量存储。主动输入指令(如“请用 memory-notes 把刚才的讨论记下来”),Agent 才会执行写入。
只记核心信息:笔记里可能会省略原话。原始聊天废话多,如果不加节制存储,日后检索极易抓准噪音导致上下文混乱。
关键细节显式声明:如需保留特点格式或排查过程,在写入指令补充要求即可。例如:
“把这段讨论整理成知识点记录下来,务必使用中文”
“把排查报错的经验记下来,将报错原文作为参考附上”
4 参考资料
basic-memory 源码:https://github.com/basicmachines-co/basic-memory
basic-memory-skills 源码:https://github.com/basicmachines-co/basic-memory-skills
basic-memory 文档:https://docs.basicmemory.com/whats-new/agent-skills
