纯文字 · 写写停停

最新 给 Agent 加记忆,三条不同的路:LifeOS、TencentDB-Agent-Memory 与 OpenViking

  先说结论:同样面对"给 AI 加记忆"这道题,三个项目给出的答案几乎不重样。LifeOS 围着"人"转TencentDB-Agent-Memory 围着"团队"转OpenViking 围着"数据"转。它们不是迭代关系,而是三个不同的出发点。

  我起初以为它们只是换皮,越看越发现,它们连"记忆是什么"的理解都不同:LifeOS 当成"你这个人",TencentDB 当成"团队的资产",OpenViking 当成"待存取的数据"。理解不同,后面的设计自然就不同。下面把三条路各自的优劣和适合的人拆开讲。

一、LifeOS:记忆是"人"

  LifeOS(作者 Daniel Miessler,MIT 协议)给自己的定位是"通用 AI 携带框架"。它最关心三件事:你是谁、你在乎什么、你想去哪里。它把这套东西装进 AI 工具,让 AI 从"通用工具"变成"认识你的私人助理"。

  它的记忆系统叫 Cortex,核心循环是七步:OBSERVE → THINK → PLAN → BUILD → EXECUTE → VERIFY → LEARN。最有标志性的是“自我改进”——系统会根据学到的内容主动修改自己

  优点是服务"个人":装好后 AI 越来越懂你的偏好与目标,不用每次重新解释。它讲究"从当前状态走向理想状态",是生活方式层面的,不止于工作。

  缺点也在于太"个人":没有团队权限体系,没有代码知识图谱,也没有高性能存储。它一键安装会改动 AI 工具配置(如 ~/.claude),还具备自我修改能力,想保持环境稳定的人要有心理准备。

  适合的人:想让常用 AI"懂我"、愿意长期经营一份个人记忆的人。安装方式很优雅:

# LifeOS:把下面这句话丢给任意 AI 编码工具,它会帮你装好
# "Read https://ourlifeos.ai/install and install LifeOS for me."
curl -fsSL https://ourlifeos.ai/install.sh | bash

二、TencentDB-Agent-Memory:记忆是"团队的资产"

  TencentDB-Agent-Memory(腾讯云开源,MIT)是另一个方向。它把记忆拆成四种资产:对话记忆、技能、知识库、代码图谱。它回答的是:团队让 Agent 干活,怎么避免每个 Agent 都从零开始、重复踩坑。

  它最像"企业的记忆库":对话沉淀成偏好和事实,技能从完成任务里提取,文档整理成带链接图的知识页,代码被索引成能查调用关系的图谱。背后靠 MemoryCore、MemoryHub、MemoryProxy 三个服务,加一个能审技能、分权限、绑 Agent 的管理面板。

  优点是工程治理能力最强:有版本、所有权、可见性、ACL,技能默认私有、共享需显式操作。它跟框架解耦,Claude Code、CodeBuddy、OpenClaw 都能对接,换框架不用重新训练。

  缺点是重:要自托管一套服务,部署门槛更高;它面向"团队/项目",一个人用这套治理体系是杀鸡用牛刀。它擅长代码协作,却不太照顾"个人偏好、写作风格"这类私密记忆。

  适合的人:多人、多 Agent 协作的团队,尤其要沉淀代码知识、做修改前影响分析、又想控制内容可见性的工程团队。部署流程如下:

# TencentDB-Agent-Memory:自托管部署(示意)
git clone https://github.com/TencentCloud/TencentDB-Agent-Memory.git
cd TencentDB-Agent-Memory/deploy/global-images
cp .env.example .env
# 编辑 .env,填入两套 LLM 参数(memory group + proxy group)
./start-all.sh   # 面板会跑在 http://localhost:8125

三、OpenViking:记忆是"一份数据"

  OpenViking(火山引擎开源,主项目 AGPL-3.0)走的是数据库路线。它把代理上下文统一成一个虚拟文件系统 viking://,记忆、资源、技能都挂其下,代理用 lstreefind 浏览上下文,而不是查不透明的向量库。

  它最打动我的是“省”:每次写入自动处理成三层——L0 一句话摘要(约 100 tokens)、L1 核心概览(约 2k tokens)、L2 完整原文。平时只加载轻层,用到才读重层,检索保留完整轨迹、出错能回溯。基准测试里 token 最高省九成,查询延迟也明显下降。

  优点是性能好(Rust 核心)、上下文可解释、可追溯、自进化——会话后自动把偏好和经验沉淀进长期记忆。它本质是"给 Agent 的 DB",适合做高性能底座。

  缺点是:团队治理弱(只有对等代理的雏形),没有专门代码图谱,对上层语义照顾得少;AGPL-3.0 对商用是约束。它更像底层基础设施,端到端用需自己搭一层。

  适合的人:想要高性能、省 token、记忆可解释可追溯的底座,且能接受 AGPL、愿意自己组合上层应用的开发者。使用方式很"数据库":

# OpenViking:Python SDK 用法(示意)
# 记忆/资源/技能都挂在 viking:// 文件系统下,按需读取
import openviking

ov = openviking.Client()
ov.add_resource("docs", "https://example.com/guide")   # 存一份资源
ov.remember("user", user_id, "偏好简洁的中文排版")       # 沉淀一条记忆
result = ov.find("如何给 Agent 加记忆")                 # 目录式检索
print(result)

  把它们摆成一张图,三条路其实拼成了一套完整的分层结构。三者不是平行的赛道,而是各司其职、叠在一起的地基:

        ┌─────────────────────────────────────────────┐
        │  LifeOS        方向层:个人目标 / 身份 / 偏好  │
        │  「你也去哪 · 你在乎什么」 → 让 AI 认识你      │
        └──────────────────────┬──────────────────────┘
                               │ 指导 Agent 往哪走
        ┌──────────────────────┴──────────────────────┐
        │  TencentDB-Agent-Memory  治理层:团队经验传承  │
        │  Chat Memory · Skill · Wiki · CodeGraph      │
        │  版本 / 所有权 / ACL / 审核共享 / 跨框架装备    │
        └──────────────────────┬──────────────────────┘
                               │ 管理、检索、共享记忆
        ┌──────────────────────┴──────────────────────┐
        │  OpenViking  底座层:上下文存储与检索          │
        │  viking:// 文件系统 · L0/L1/L2 分层加载        │
        │  省 token · 可观察检索轨迹 · 自进化            │
        └─────────────────────────────────────────────┘

  自下而上看,OpenViking"存得高效",TencentDB"管得住、共享得动",LifeOS"认得人、走对方向"。上层靠下层托底,下层被上层赋予意义。分开各有局限,合起来才是一套完整的记忆体系。

四、放在一起看

维度LifeOSTencentDB-Agent-MemoryOpenViking
一句话定位让 AI 认识"你这个人"让"团队"的经验传承复用把上下文当"数据库"来管
服务对象个人团队/项目单个代理
记忆抽象单一持久记忆(Cortex)对话/技能/知识库/代码图谱统一 viking:// 文件系统
团队权限强(版本/ACL/审核/共享)弱(peers 雏形)
代码能力强(CodeGraph 影响分析)
自我进化会自我修改系统沉淀资产,不改系统会话后自动沉淀记忆
工程复杂度低(一键装)高(自托管三服务)中(Rust 内核 + CLI)
协议MITMITAGPL-3.0
最适合个人长期助手团队协作工程性能/省 token 底座

  写到这里,我觉得它们的方向并不冲突。记忆这道题的答案本就该分层:底层要快、要省、可解释,中间层要管得住、共享得动,上层要认得人、走对方向。三个项目各自守住一层,也就各自守住了一部分答案。

  最后提醒一句:这类工具大多会碰你的配置和记忆,加记忆本质上就是把一部分"你"交给系统。动手前想清楚要哪一层、给谁用、能否接受协议和代价,再决定要不要上车。


更多文章

查看全部 9 篇文章 →