LLM+知识库_01_basic-memory
1 解耦大脑与记忆
大家喜欢 OpenClaw,主要因为它的自我学习与进化能力。但在实际开发中,不同 Agent 各有所长。比如写代码用 Copilot,梳理架构用 Claude Code。
目前的痛点很明显:切换工具或重开对话,上下文就断了。辛苦调教的代码偏好、踩过的坑,需要反复交代。
解法就是解耦。把负责推理的“大脑”和记录偏好的“记忆”分开。
我们需要一个通用的记忆中间层,让所有 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 安装:
1 | pip install basic-memory |
3.2.2 独立虚拟环境安装
有些新版 Ubuntu 系统不允许直接修改系统 Python 库。可以建一个专用虚拟环境(venv):
1 | # 准备系统依赖 |
3.2.3 初始化与测试
首次使用时,系统初始化 $HOME/.basic-memory 和
$HOME/basic-memory 目录,分别存放配置和用户可读数据。
查看状态: 1
2bm status
新建项目(建议直接建新项目作为默认项目): 1
2bm project add test1 ~/basic-memory/test1 --default --local
测试写入: 1
2bm tool write-note --title "测试" --folder "logs" --content "abcd" --local
3.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 服务器:
1 | "github.copilot.chat.mcpServers": { |
- 开启
chat.useAgentSkills,并配置Agent Skills Locations指定 Skill 目录。 - 安装第三方 Skill 约束模型行为:
1 | # 安装常用功能 |
重启窗口即可生效。
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
