手搓你的 LLM Wiki:让Agent自动进化,每次写入新信息即“更新”认知

news2026/4/30 8:23:06
前不久AI 领域知名研究者 Andrej Karpathy 开源了他的 LLM Wiki——一个用大语言模型维护的个人知识库。它的思路非常简洁把知识以纯文本形式存在本地由 LLM 负责理解和更新。这个项目一经发布便引发了广泛讨论很多开发者开始思考LLM 本地存储到底能把“个人知识管理”做到什么程度我在看了 Karpathy 的 LLM Wiki 和 Garry Tan 的 GBrain 之后深受启发——他们用最简单的组合LLM 本地存储搭建出了一个能“理解”知识的系统。我想在这个基础上再往前走一步于是做了 ex-brain。现有工具的局限市面上的知识管理工具大致分为两类但各有不足传统笔记Notion、Obsidian 等——功能强大但你写进去的东西它不会帮你“消化”。一条笔记写进去三个月后依然原封不动地躺在那里。想找关联只能靠手动翻阅。AI 笔记Mem、Granola 等——确实有 AI 帮你整理了但感觉就整理那一下之后呢更重要的是AI 怎么理解你的内容、怎么归类、怎么提取要点这些逻辑你完全没法控制。它的脑子不是你的脑子。如果知识库能像人脑一样每次写入新信息都自动“更新”认知会怎样这正是 ex-brain 的核心理念。它引入了一个核心概念Compiled Truth编译后的真相。名字听起来有些拗口但原理很直观。核心机制一智能编译问题信息越记越多越看越累传统工具的处理方式很简单要么追加到页面末尾要么新建一个页面。结果就是信息越堆越多但认知并不会自动更新。举个例子假设你记录了三条关于 River AI 的信息3月River AI 完成 A 轮融资5000 万美元 6月Sarah Chen 接任 CEO创始人转顾问 8月B 轮 1.2 亿美元半年后你想了解 River AI 的现状需要读完三条记录再在脑中拼凑出“现在是什么情况”的全貌。而人脑的工作方式很自然——接收到新消息后会自动将旧信息标记为“已过时”。但传统工具做不到这一点。“编译”你的知识库ex-brain 的核心机制正是“编译”机制。通过一条命令即可触发知识的智能更新ebrain compile companies/river-ai \ River AI 上了 A 轮5000 万美元 \ --source meeting_notes \ --date 2024-05-20系统会自动执行以下流程第一步让 LLM 分析信息类型系统会判断这条消息属于哪种类型状态变了融资阶段从 Seed 变成 Series A还是发生了一个事件产品发布了还是更正了旧信息第二步根据类型选择处理策略状态类信息融资阶段、CEO→ 直接更新旧值归入历史记录事实类信息成立年份、行业→ 追加不删旧的事件类信息 → 同时记录到时间线中第三步更新 Compiled Truth编译完成后页面呈现为结构化的“当前真相”## Status- **Funding Stage**: Series A(Source: meeting_notes,2024-05-20)- **Valuation**: ~$50M## History- 之前是 Seed到2024-05-20 为止## Facts- A 轮领投方是 Sequoia -2020年成立的“当前真相”一目了然历史信息完整保留在 History 中不会干扰对当前状态的理解。设计理念不同类型的知识有着不同的生命周期——有些会“过期”有些不会这套分类并非写死的规则而是由 LLM 在每次编译时基于语义自动判断而非简单的关键词匹配。核心机制二时间线自动抽取时间是理解变化的关键维度人要理解事物的变化时间线是最直观的方式。观察一家公司的发展历程本质上就是在阅读它的时间线。ex-brain 能够自动从文本中提取时间线事件ebrain timeline extract companies/river-ai系统会从 Compiled Truth 和历史记录中自动提取并结构化关键事件e[{date:2024-05-20,summary:A 轮融资完成5000 万,detail:Sequoia 领投},{date:2024-06-15,summary:Sarah Chen 接任 CEO}]灵活的日期识别系统支持多种日期格式无需手动统一2024-05-20ISO2024年5月20日中文May 20, 2024英文last week、yesterday相对日期系统会自动识别并标准化这些格式。编译与时间线抽取协同工作时间线并非独立功能而是与编译机制深度集成。每次执行compile操作时系统会自动将文本中的事件提取到时间线中。完整流程如下你写River AI 上了 A 轮↓ 系统这是状态更新 事件 ↓ 系统更新融资阶段 → Series A ↓ 系统时间线加一条 →A 轮完成核心机制三自动关联实体知识不是孤立的事实一条知识之所以有价值往往是因为它与其他知识存在联系。“Ali Partovi 是 Neo 创始人”——这条信息的核心不只是 Ali 或 Neo而是“创始人”这个关系本身。ex-brain 利用 LLM 自动识别文本中的实体关系ebrain put people/ali-partovi--filenotes.md# 系统自动认出# - Ali Partovi founder_of Neo# - Ali Partovi invested_in 其他公司它能识别的关系类型关系被发现时自动建页面当系统识别出一个新实体时会自动建个页面记下来# 自动创建的 people/sarah-chen## Facts- **CEO_of**[River AI](companies/river-ai):2024年6月接任知识网络就这样在使用过程中自然生长。核心机制四混合检索单一搜索方式的局限在知识库检索中单靠一种搜索方式往往不够理想全文搜索——精确但不理解语义。搜“融资”找不到“funding round”。向量搜索——理解语义但可能漏掉精确词。搜“Sequoia”可能返回一堆“sequoia tree”的无关结果。实际使用中我们需要的是两者的结合——既能精确匹配关键词又能理解查询意图。这正是 混合搜索Hybrid Search 的核心价值。ex-brain 使用了 seekdb 的混合搜索它在一个引擎中统一了向量搜索、全文搜索与标量过滤支持在一条查询中同时完成语义召回和关键词召回。这意味着你不需要拼接两套检索系统一条 SQL 就能同时利用向量相似度和 BM25 关键词匹配# 精确关键词搜索 ebrain search River AI Series A # 语义查询 ebrain query 哪些公司最近融资了在底层seekdb 的混合搜索支持多路召回与多阶段排序链路先通过向量索引和全文索引分别召回候选结果再通过加权融合或 RRFReciprocal Rank Fusion进行重排序甚至支持基于大模型的 Rerank。这套机制确保了召回的全面性和排序的精准性。搜索结果的智能加权ex-brain 在 seekdb 混合检索的基础上进一步引入了多维度评分逻辑语义匹配占主导85%——基于向量相似度新鲜度有加成10%——最近更新的内容优先级更高类型权重也有影响5%——人物类型通常值得优先关注多维加权确保搜索结果既相关、又新鲜、又重要。技术实现为什么选 seekdbex-brain 的底层数据库选用了 seekdb。作为一个 AI 原生数据库seekdb 在以下几个方面与 ex-brain 的需求高度契合嵌入式部署零运维seekdb 支持嵌入式模式一个数据库文件即可运行无需搭建独立的数据库服务。对于个人知识库这类本地优先的应用场景这是最轻量的选择。轻量到什么程度1C2G 的配置即可流畅运行。原生混合检索seekdb 在一个引擎中同时支持向量搜索、全文搜索和标量过滤并且支持粗排 精排的多阶段搜索链路。向量索引方面支持基于内存的 HNSW、HNSWSQ、HNSWBQ以及基于磁盘的 IVF、IVF_PQ 等多种索引类型可根据数据规模灵活选择。全文搜索支持关键字、短语及布尔表达式等多种匹配模式并支持 BM25 排序。内置 AI 函数seekdb 提供了一套完整的数据库内 AI 工作流。通过AI_EMBED函数可在 SQL 中直接将文本转换为向量嵌入通过AI_COMPLETE函数可执行文本生成通过AI_RERANK函数可调用重排序模型对结果进行精排。支持 OpenAI、DashScope 等多种模型服务也支持注册自定义模型。这意味着嵌入生成、语义检索和推理可以在数据库内一站式完成无需在应用层拼接多套系统。SQL 兼容seekdb 源于成熟的 OceanBase 引擎兼容 MySQL 生态。熟悉 SQL 的开发者可以直接上手建表、建索引、写查询都遵循标准 SQL 语法。同时支持实时写入、实时可查具备完整的 ACID 事务保证。多模数据统一管理除了向量和文本seekdb 还在同一引擎内支持标量、JSON、GIS 等多模数据及索引。对于 ex-brain 这样需要同时管理结构化元数据页面属性、关联关系和非结构化内容文本、向量嵌入的应用一套数据库即可覆盖全部需求。灵活的部署模式除了嵌入式模式seekdb 还支持 Client/Server 模式。如果未来需要团队协作共享知识库只需切换到远程服务模式即可应用代码无需大幅改动。以下是 ex-brain 中使用 seekdb 的核心代码// 连接数据库——就是一个文件路径constdbawait BrainDb.connect(~/.ebrain/data/ebrain.db);// 创建向量集合constpagesawait db.getOrCreateCollection({name:ebrain_pages,embeddingFunction:createBrainEmbeddingFunction(settings.embed),});// 混合检索consthitsawait pages.hybridSearch({query:{whereDocument:{$contains:融资}},nResults:10,});seekdb 将数据存储与语义检索统一在一个引擎中省去了拼接多套系统的复杂度。对于 AI 应用开发者而言这意味着更简洁的架构和更低的维护成本。数据结构ex-brain 的数据存储结构设计如下pages 表存储每个知识页面slug、标题、compiled\_truthlinks 表存储实体之间的关联关系timeline\_entries 表存储时间线事件ebrain\_pages 集合存储向量嵌入用于语义检索关系表和向量集合位于同一套数据库中数据一致性由 seekdb 的 ACID 事务保证无需额外操心。让 AI 直接操作你的知识库ex-brain 内置了 MCP Server。如果你使用 Claude只需简单配置即可让它直接读写你的知识库// Claude Desktop 配置{mcpServers:{ebrain:{command:ebrain,args:[serve]}}}配置完成后Claude 即可使用以下工具你可以让 Claude 帮你整理知识它直接操作本地数据库无需手动复制粘贴。设计原则本地优先——数据存储在本地一个 seekdb 文件。无需联网不必担心服务商停运。完全可编程——所有操作均可通过命令行执行方便编写脚本、接入 AI、实现自动化# 管道输入catnote.md|ebrain put my/note--stdin# JSON 输出方便脚本处理ebrain get companies/river-ai--json|jq.compiledTruth幂等操作——重复执行不会产生副作用。对同一个文件执行十次put结果保持一致。命令结构统一——采用resource verb的命名模式ebrain timeline list companies/river-ai命令结构可预测降低学习成本。数据导入知识库需要内容填充。手动输入效率不高从网页复制粘贴又需要清理格式。推荐使用 MarkSnip——一个浏览器扩展可以一键将网页内容剪藏为干净的 Markdown。核心能力一键剪藏整页或选中内容自动提取正文基于 Mozilla Readability代码块带语言标签表格对齐数学公式支持本地处理不传云端配合 ex-brain 使用# MarkSnip 剪藏后保存为 article.md# 然后导入知识库catarticle.md|ebrain put articles/my-article--stdin# 或者智能编译让 LLM 整理ebrain compile companies/river-ai--filearticle.md--sourceweb_clip这样就形成了一个完整的工作流浏览网页 → MarkSnip 剪藏 → ex-brain 编译 → 知识库自动更新。快速开始npm 地址https://www.npmjs.com/package/ex-brain# 安装buninstall-gex-brain# 初始化——就是建个数据库文件ebrain init# 写第一个页面ebrain put companies/river-ai--typecompany--content River AI 是一家 AI 分析平台公司。 2020 年成立。 # 编译一条新信息ebrain compile companies/river-ai\River AI 上了 A 轮Sequoia 领投\--sourcenews\--date2024-05-20# 搜一下ebrain searchRiver AI 融资# 启动 MCP 服务配合 Claude 使用ebrain serve未来探索方向这个项目仍处于早期阶段但核心机制已经可以正常运行。以下是几个值得继续探索的方向冲突处理——当新信息与已有记录矛盾时例如新信息说 CEO 是 Sarah Chen但之前记录的是 John Doe目前的做法是直接替换并将旧值归入 History。更理想的方式是标记冲突由用户确认。有时两条信息都正确只是对应不同时间点有时确实是错误信息需要人工判断。信息衰减——一条信息长期未更新其可信度是否应该降低例如 2022 年记录的“公司有 50 人”到 2024 年很可能已经过时。系统可以标注“上次更新2022 年”提醒用户关注时效性。这不是简单的过期删除而是为用户提供一个判断信号。关联传播——River AI 的 CEO 变了Sarah Chen 的页面是否应该自动更新目前系统会创建关联页面但不会反向同步。理想情况是一处更新关联页面收到提醒但不会自动修改——因为 Sarah Chen 可能同时担任其他职位。批量编译——当需要一次性整理 100 条关于某公司的新闻时逐条 compile 效率太低但一次性输入又可能超出 LLM 的处理能力。需要设计分批处理、增量合并的方案在效率和质量之间取得平衡。这些方向涉及的不只是功能迭代而是“知识该如何管理”的根本问题。如果你有想法欢迎在评论区交流。写在最后做这个项目本质上是在探索一个问题知识库应该是什么样的好的知识库不应该只是一个“仓库”。它应该像人的记忆一样——会更新、会标记过时、会把新旧信息串联起来。现有工具大多做到了“存”但没有做到“活”。Karpathy 和 Garry Tan 的实践给了我启发用 LLM 来“消化”知识。ex-brain 在此基础上进一步探索——信息的时效性分类、时间线自动抽取、实体关联自动生长。这些机制让知识库不再是静态的笔记集合而是能随着认知更新而持续演进的系统。当然这个项目还有很多不完善的地方。编译逻辑还不够智能时间线提取偶尔会遗漏实体关联有时会误判。但核心理念是明确的知识是活的工具也应该让它活起来。如果你也在思考如何让知识库更“聪明”不妨试试 ex-brain。或者你有更好的想法欢迎来讨论——知识管理这件事还有很多可以探索的空间。关于 seekdbex-brain 的数据存储与检索能力由 seekdb 支持。seekdb 是一个开源的 AI 原生混合搜索数据库在一个引擎中统一了向量搜索、全文搜索、结构化数据与 AI 函数专为 RAG、语义搜索、AI Agent 等应用场景设计。无论是嵌入式的个人项目还是需要团队协作的生产环境seekdb 都能灵活适配。如果你也在开发需要“存储 语义检索 AI 推理”能力的应用欢迎试试 seekdb官网seekdb.ai开源地址github.com/oceanbase/seekdb欢迎 Star ⭐️快速上手pip install -U pyseekdb文档docs.seekdb.ai

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2545923.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…