나는 Hebbian learning과 GraphRAG를 이용한 지속 메모리 MCP를 구축했다

발행: (2026년 3월 9일 AM 03:14 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

문제

AI 코딩 어시스턴트는 세션 간에 모든 것을 잊어버립니다. 매 대화가 처음부터 시작됩니다. 아키텍처, 패턴, 선호도를 설명해도 다음 번에는 사라집니다.

Cuba‑Memorys는 PostgreSQL을 백엔드로 하는 지식 그래프를 이용해 AI 에이전트에게 지속적인 장기 기억을 제공하는 MCP 서버로 이 문제를 해결합니다. 쿠바 테마 이름을 가진 12개의 도구를 제공합니다.

  • 엔티티, 관찰, 타입이 지정된 관계가 세션을 넘어 지속됩니다. AI는 프로젝트, 결정, 패턴 및 그들 간의 연결을 기억합니다.
  • “함께 발화하는 뉴런은 함께 연결된다” — 기억은 사용에 따라 강화(Oja 규칙)되고, FSRS 간격 반복(Anki 뒤에 있는 알고리즘)으로 적응적으로 사라집니다.
  • 단순 키워드 매칭이 아닙니다. Cuba‑Memorys는 네 가지 검색 신호를 결합합니다:
    1. TF‑IDF 유사도
    2. PostgreSQL 전체 텍스트 검색
    3. 트라이그램 매칭
    4. 선택적 pgvector HNSW 임베딩

결과는 Reciprocal Rank Fusion을 사용해 최대 재현율로 순위가 매겨집니다.

🕸️ GraphRAG 강화

상위 검색 결과는 자동으로 1차 그래프 이웃으로 확장되어 AI에게 위상적 컨텍스트를 제공합니다 — 단순 텍스트 매칭이 아니라.

🛡️ 환각 방지 근거 제공

저장된 지식과 대조해 주장을 검증하고 단계별 신뢰 점수를 부여합니다: verified → partial → weak → unknown. AI는 답변 전에 스스로 사실 확인을 할 수 있습니다.

😴 REM 수면 통합

15분간 비활성 상태가 되면 시스템이 자동으로 유지 보수를 수행합니다: 적응형 감쇠, 중복 제거, 기억 통합. AI 기억에 대한 생물학적 수면과 같습니다.

📊 그래프 분석

  • PageRank — 가장 중요한 엔티티 찾기
  • Louvain 커뮤니티 — 지식 클러스터 발견
  • Betweenness centrality — 연결 고리 개념 식별

12가지 도구

ToolPurpose (목적)
cuba_alma지식 그래프 엔티티 CRUD
cuba_cronica엔티티에 관찰 첨부
cuba_puente관계 생성/탐색
cuba_faro환각 방지 검색
cuba_alarma오류 보고 및 추적
cuba_expediente과거 오류 검색 (반복 방지)
cuba_remedio오류를 해결됨으로 표시
cuba_ecoRLHF 피드백 루프
cuba_decreto아키텍처 결정 기록
cuba_jornada세션 관리
cuba_vigia그래프 분석
cuba_zafra기억 유지 보수

빠른 시작

{
  "mcpServers": {
    "cuba-memorys": {
      "command": "python",
      "args": ["-m", "cuba_memorys"],
      "env": {
        "DATABASE_URL": "postgresql://user:pass@localhost:5432/brain"
      }
    }
  }
}

데이터베이스는 필요 시 Docker를 통해 자동 프로비저닝됩니다. 수동 설정이 전혀 필요 없습니다.

왜 “Cuba”?

도구들은 쿠바 스페인어 단어에서 따왔습니다 — alma (영혼), crónica (연대기), faro (등대), remedio (치료제). 개인 프로젝트로 시작했으며 이름이 고정되었습니다.

링크

  • GitHub:
  • PyPI: pip install cuba-memorys
  • License: CC BY‑NC 4.0

유용하다고 생각되시면 GitHub에 ⭐를 남겨 주세요. 피드백과 기여를 언제든 환영합니다!

0 조회
Back to Blog

관련 글

더 보기 »