📌 项目地址garrytan/gbrain | ⭐ 19,673 颗星 | 🔧 TypeScript | 📜 MIT

Y Combinator CEO Garry Tan 把自己AI agent的生产数据写成了一行一行数字:146,646页内容,24,585个人,5,339家公司,66个cron作业每晚自动运行。代码开源在 GitHub,项目叫 gbrain,TypeScript 写的,19673个star。

这不是又一个给PDF加聊天框的工具。它解决的是你真正遇到过的问题:AI agent 记不住上下文,问完张三问李四,它已经把张三忘干净了。

合成回答里的“我不知道”

普通 RAG 的工作方式是:你问“Acme AI 融了多少钱”,向量库翻出10段相关原文,然后你得自己拼答案。Gbrain 的输出是一段完整合成文本——“Acme AI 在2023年完成A轮500万美元,2024年B轮2000万美元,投资人清单如下”,末尾附引用。

有意思的是另一头。如果数据库里缺C轮数据,它写一句“当前没有找到Acme AI的C轮融资信息”。Garry叫这个 gap analysis——系统主动暴露自己的知识边界,而不是假装什么都知道。

我试了几个测试问题。每次回复都有一段明确的“未知信息”部分。问某个创始人的教育背景,系统给出已知的工作履历后,会写“当前知识库中没有该创始人的学历信息”。

这个设计改变了使用方式。你不在查资料,你在和一个知道“自己知道什么、不知道什么”的系统对话。对AI agent来说,知道自己的知识边界比强行输出一个错误答案重要十倍。

零LLM调用的知识图谱

每写入一页内容,gbrain自动抽取出实体和关系边。Garry解释了为什么不用LLM做这件事:LLM会乱造边,规则提取零成本、零幻觉。支持的关系边类型只有五个:attendedworks_atinvested_infoundedadvises

评测数据在 gbrain-evals 仓库里,240页Opus生成的文本语料。结果:

配置 P@5 R@5
图开启 49.1% 97.9%
图关闭 17.7%

图开启时P@5高31.4个百分点。在14万页的生产环境里,向量搜索容易被无关片段淹没。图检索沿着works_at边找人,走一条边就能命中;向量搜索要在14万页里找“works”或“employee”,效果差距明显。

我试了下问“谁在Acme AI工作?”纯向量很难回答这种关系查询,图检索直接命中。这条能力对商业情报、投融资关系梳理、团队组织图查询来说很实用。

隔离不是post-filter,是设计起点

Gbrain支持团队部署。每个人登录只能看到自己被授权的数据。README里写得很硬:“never another person‘s notes, never another team’s data”。

Garry的团队用所有可能的读取路径做了模糊测试——搜索、列表、查找、多源读取——零泄露。

YC最近把“公司大脑”写进了 Request for Startups。Gbrain正好能接这活儿,教程在docs/tutorials/company-brain.md。许多系统的权限是事后加的filter,Gbrain在设计之初就把隔离嵌进了所有读取路径。

自己跑,自己监控

Garry的真实生产环境数据:

  • 146,646页已处理的内容(含会议、邮件、推文、语音通话、原始想法)
  • 24,585个人
  • 5,339家公司
  • 66个cron作业每晚自动运行

这些cron作业具体做什么:修复引用中断、合并重复记忆、更新人/公司的富化信息。系统隔夜后重新整合知识库,自检引文自洽。

一条命令就能把gbrain作为超级检索层接入Claude Code或Codex。它跑在自己的硬件和数据库里,没有外部云依赖。如果你的AI agent有语境丢失的问题,或者需要离线运行、对数据隐私有硬性要求,这个架构很实用。

它不适合谁

Gbrain不是给你的文档库加一个聊天框。它是为持续运行的AI agent设计的持久记忆层。合成+图遍历+缺口分析三合一,这个组合确实很少见。

但如果你只是问一个PDF的内容,它可能太重了。它适合知识库规模上万页、需要关系查询、有多用户权限管理的场景。

文档偏少,依赖PostgreSQL和全文检索。部署需要懂一点运维。不过Garry本人就在用,代码质量可信。如果你想建一个YC RFS里说的“公司大脑”,Gbrain是目前最现成的起点。可以直接克隆测试,教程在docs/tutorials/company-brain.md

这篇文章对你有帮助吗?

发表回复