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
2
pip install basic-memory

3.2.2 独立虚拟环境安装

有些新版 Ubuntu 系统不允许直接修改系统 Python 库。可以建一个专用虚拟环境(venv):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 准备系统依赖
sudo apt update
sudo apt install -y python3-venv python3-full

# 创建专用虚拟环境并安装
mkdir -p ~/.venvs
python3 -m venv ~/.venvs/basic-memory
~/.venvs/basic-memory/bin/pip install -U pip
~/.venvs/basic-memory/bin/pip install basic-memory

# 创建软链接到个人 bin 目录方便全局调用
mkdir -p ~/.local/bin
ln -sf ~/.venvs/basic-memory/bin/basic-memory ~/.local/bin/basic-memory
ln -sf ~/.venvs/basic-memory/bin/bm ~/.local/bin/bm

3.2.3 初始化与测试

首次使用时,系统初始化 $HOME/.basic-memory$HOME/basic-memory 目录,分别存放配置和用户可读数据。

查看状态:

1
2
bm status

新建项目(建议直接建新项目作为默认项目):

1
2
bm project add test1 ~/basic-memory/test1 --default --local

测试写入:

1
2
bm 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 协议,即可接入:

  1. 打开 settings.json,配置 basic-memory MCP 服务器:
1
2
3
4
5
6
7
8
9
"github.copilot.chat.mcpServers": {
"basic-memory": {
"command": "/home/xieyan/.local/bin/bm",
"args": [
"mcp"
]
}
}

  1. 开启 chat.useAgentSkills,并配置 Agent Skills Locations 指定 Skill 目录。
  2. 安装第三方 Skill 约束模型行为:
1
2
3
4
5
6
# 安装常用功能
npx skills add basicmachines-co/basic-memory-skills@memory-notes -g -y
npx skills add basicmachines-co/basic-memory-skills@memory-reflect -g -y
# 或直接安装全套
npx skills add basicmachines-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