GBrain 소개
GBrain은 AI 에이전트가 코드 바깥의 맥락을 기억하도록 만드는 개인용 지식 계층입니다. 개인 지식 관리 도구 대부분은 질문을 던지면 관련 있어 보이는 페이지 목록을 돌려주고, 그 다음부터는 사람이 직접 열어 읽어야 합니다. GBrain은 이 지점을 문제로 보고, 검색 결과를 그대로 내놓는 대신 여러 페이지를 가로질러 인용이 붙은 산문 형태의 답을 만들어 냅니다. 답변 끝에는 브레인이 아직 모르는 부분을 짚어 주는 공백 분석(gap analysis)이 함께 붙어서, 어떤 정보가 오래됐고 어디에 구멍이 있는지도 같이 알려 줍니다.
이 프로젝트는 Y Combinator의 President이자 CEO인 Garry Tan이 자신의 AI 에이전트를 돌리려고 만들었습니다. 본인의 OpenClaw와 Hermes 배포에서 실제로 쓰이고 있는 브레인이며, 규모는 페이지 146,646건, 인물 24,585명, 회사 5,339곳에 자율 실행되는 cron 작업 66개입니다. 이 에이전트는 회의록과 이메일, 트윗, 음성 통화, 떠오른 생각을 밤새 수집하고 마주친 인물과 회사 정보를 보강하며, 인용을 스스로 고치고 메모리를 정리합니다. 개인용을 넘어 팀 단위로도 동작하는데, 로그인 기준으로 각자에게 브레인의 일부만 열어 주어 다른 사람의 노트나 다른 팀의 데이터는 조회되지 않습니다.
기술적으로 GBrain을 다른 개인 지식 도구와 갈라놓는 축은 두 가지입니다. 하나는 앞서 말한 합성 계층이고, 다른 하나는 글을 쓸 때마다 LLM 호출 없이 스스로 배선되는 지식 그래프 입니다. 페이지를 저장할 때마다 본문에서 엔티티 참조를 뽑아 attended, works_at, invested_in, founded, advises 같은 타입이 붙은 간선을 만들기 때문에, 벡터 검색만으로는 닿지 않는 질문에도 답할 수 있습니다. 아래에서는 브레인이 도는 순환 구조와 검색 방식, 설치 경로를 차례로 살펴봅니다.
GBrain이 동작하는 순환 구조
GBrain은 한 번 색인하고 끝나는 도구가 아니라, 에이전트가 받는 메시지마다 돌아가는 순환 고리로 설계되어 있습니다. 신호 감지기가 모든 메시지에서 아이디어와 엔티티 언급, 기한이 있는 할 일, 이름, 링크를 잡아냅니다. 외부 API를 부르기 전에 브레인을 먼저 조회하고, 응답한 내용은 페이지와 타임라인으로 기록됩니다. 페이지가 쓰이는 순간 자동 연결이 작동해 [[wiki/people/bob]] 형태의 참조를 패턴 매칭으로 처리하며, 처음 보는 엔티티는 새 페이지 뼈대로 만들어져 그래프가 자랍니다.
여기에 더해 cron으로 도는 보강 작업이 밤사이 실행됩니다. 인물 페이지 중복을 정리하고, 인용을 고치고, 중요도 점수를 매기고, 서로 모순되는 서술을 찾아내고, 다음 날 할 일을 미리 준비합니다. 저자는 이 야간 작업을 드림 사이클(dream cycle)이라고 부르며, 채팅 창에서 에이전트를 계속 붙들고 있는 것보다 24시간 도는 데몬을 띄우는 편이 낫다는 판단에서 나온 구조라고 설명합니다.
GBrain의 두 가지 조회 방식
브레인에 질문하는 경로는 두 가지로 나뉘고, 쓰임이 서로 다릅니다.
# 원시 검색: 하이브리드 점수 상위 페이지, 빠르고 LLM 비용 없음
gbrain search "who's working on AI agents at portfolio companies?"
# 브레인 계층: 인용과 공백 분석이 붙은 합성 답변
gbrain think "who's working on AI agents at portfolio companies?"
gbrain search 는 검색된 상위 페이지를 하이브리드 점수 순으로 돌려줍니다. 에이전트의 컨텍스트 윈도우를 채우거나 특정 문장을 찾을 때처럼 원자료가 필요한 상황에 맞습니다. gbrain think 는 같은 검색을 돌린 뒤 결과를 가로질러 답을 구성하고, 출처 페이지 인용과 함께 브레인이 아직 모르는 것을 솔직하게 덧붙입니다. 페이지가 오래됐을 때, 인용이 없는 주장이 있을 때, 두 페이지가 서로 어긋날 때를 답변 안에서 짚어 주는 부분이 이 명령의 차별점입니다.
검색 자체도 단일 방식이 아닙니다. pgvector의 HNSW 인덱스를 쓰는 벡터 검색에 BM25 키워드 검색, 역순위 융합(Reciprocal Rank Fusion), 출처 등급 가중치, 의도 기반 질의 재작성이 겹쳐 있습니다. 비용과 품질을 함께 조절하도록 conservative, balanced, tokenmax 세 가지 검색 모드가 준비되어 있고, 기본값은 ZeroEntropy 리랭커를 켠 balanced 입니다. gbrain search "<query>" --explain 을 붙이면 기본 점수와 어떤 가중치가 얼마를 곱했는지 단계별로 확인할 수 있습니다.
GBrain의 지식 그래프 성능
지식 그래프의 효과는 자체 벤치마크 수치로 제시되어 있습니다. Opus로 생성한 240페이지 분량의 산문 코퍼스를 대상으로 P@5 49.1%, R@5 97.9% 를 기록했고, 그래프를 끈 변형 대비 P@5 기준 31.4포인트 높았습니다. ripgrep 기반 BM25와 벡터 검색만 쓰는 RAG 구성과 비교했을 때도 비슷한 폭의 차이가 있었다고 밝히고 있습니다. 이 수치들의 전체 스코어카드는 별도 저장소인 gbrain-evals에 BrainBench 결과로 공개되어 있습니다.
평가 도구도 함께 들어 있습니다. gbrain eval longmemeval 은 공개 벤치마크인 LongMemEval을 자신의 하이브리드 검색에 돌리고, gbrain eval retrieval-quality 는 이름을 지목한 질의가 해당 페이지를 찾아내는지 검사하는 NamedThingBench를 실행해 회귀가 생기면 CI에서 실패시킵니다.
GBrain 설치 및 연결 방법
GBrain은 AI 에이전트가 대신 설치하는 것을 기본 경로로 잡고 있습니다. 저자는 전체 설치에 약 30분이 걸리고, PGLite를 쓰면 데이터베이스는 2초 만에 준비된다고 안내합니다. 코딩 에이전트에 메모리만 붙이는 가장 짧은 경로는 두 줄입니다.
gbrain init --pglite # 서버 없이 2초 만에 로컬 브레인 생성
claude mcp add gbrain -- gbrain serve # 또는: codex mcp add gbrain -- gbrain serve
에이전트 없이 CLI만 써 보려면 다음처럼 설치하고 마크다운을 색인하면 됩니다.
bun install -g github:garrytan/gbrain
gbrain init --pglite # 2초, 서버와 Docker 불필요
gbrain doctor # 상태 점검
gbrain import ~/notes/ # 마크다운 색인
gbrain query "what themes show up across my notes?"
MCP로는 30개 이상의 도구가 stdio와 HTTP 양쪽으로 노출됩니다. gbrain serve 는 로컬 서브프로세스로 도는 stdio MCP이고, gbrain serve --http 는 OAuth 2.1과 /admin 관리 대시보드를 포함한 HTTP MCP 서버입니다. 클라이언트별 설정은 저장소의 docs/mcp/ 디렉토리에 Claude Code, Codex, Cursor, Claude Desktop, Perplexity, ChatGPT 문서로 나뉘어 정리되어 있습니다.
GBrain의 저장 구조와 스키마 팩
지식은 데이터베이스가 아니라 일반 git 저장소의 마크다운 파일로 보관되고, GBrain은 이 저장소를 Postgres로 동기화해 검색에 씁니다. git에서 파일을 지우면 데이터베이스에서는 소프트 삭제로 처리됩니다. 엔진은 두 가지인데, 개인용 브레인은 WASM으로 도는 Postgres 17인 PGLite를 별도 설정 없이 쓰고 대략 5만 페이지까지 감당하며, 공유하거나 규모가 커지면 pgvector를 얹은 Postgres로 옮깁니다. 두 엔진은 src/core/engine.ts의 BrainEngine 인터페이스가 정의한 47개가량의 연산을 똑같이 구현하고, CLI와 MCP 서버는 이 한 곳에서 생성됩니다.
페이지 분류 체계는 고정되어 있지 않고 스키마 팩으로 교체합니다. 기본값인 gbrain-base-v2 는 person, company, media, tweet, analysis, concept, deal, email, project 등 15개 타입으로 구성되어 있으며, 예전 24개 타입 구성인 gbrain-base 도 호환을 위해 함께 들어 있습니다. 자신의 파일 구조에 맞는 팩이 없으면 직접 만들 수도 있습니다.
gbrain schema detect # 파일 구조에 맞는 타입 후보 제안
gbrain schema suggest # 제안 위에 LLM 정제 적용
gbrain schema review-candidates # 사람이 승인/이름 변경/무시
gbrain schema use my-pack # 활성화
GBrain의 부가 기능
브레인에 데이터를 넣는 경로로는 gbrain capture 명령과 웹훅 수집이 준비되어 있고, ~/.gbrain/inbox/ 폴더에 파일을 떨어뜨리는 모바일 캡처도 지원합니다. 작업 큐인 미니언즈(Minions)는 BullMQ 형태를 Postgres 위에 구현한 것으로, LLM 도구 루프를 pending에서 done으로 넘어가는 2단계 저장으로 처리해 프로세스가 죽어도 복구됩니다. 임베딩 제공자는 OpenAI, OpenRouter, Voyage, ZeroEntropy, Google Gemini, Azure OpenAI, Ollama, llama.cpp 등 16가지 레시피로 정리되어 있어 로컬 모델로도 구성할 수 있습니다. 전문 검색 토큰화 언어는 GBRAIN_FTS_LANGUAGE 환경 변수로 바꿀 수 있는데 기본값이 english 라서, 한국어 브레인을 만들 계획이라면 이 설정과 Postgres의 텍스트 검색 구성을 먼저 확인하는 편이 좋습니다.
GBrain의 라이선스
GBrain은 MIT 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.
GBrain 프로젝트 GitHub 저장소
GBrain 벤치마크 결과 저장소
더 읽어보기
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! 텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. ![]()
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()

