cognee
무엇인가
Cognee는 LLM 애플리케이션과 저장소 사이에 놓이는 메모리 계층이다. 벡터 스토어와 세션 버퍼를 애플리케이션마다 직접 조립하는 대신 수집·정제·검색을 하나의 파이프라인으로 묶는다. Python 라이브러리, HTTP API 서버, 웹 UI, MCP 서버 형태로 배포된다.
어떻게 동작하나
수집 단계에서 텍스트는 엔티티·관계·검색 가능한 청크로 분해되고, 코드는 심볼과 의존성 그래프로 바뀐다. 세션 증류(session distillation)는 세션에서 채택된 교훈을 영구 기억으로 승격시킨다. 질의 시점에는 그래프·벡터·코드 컨텍스트 중 관련 있는 것을 골라 검색하고, 애플리케이션이 그 근거를 직접 검사해 답변이나 다음 작업에 사용한다. 저장은 그래프 DB, 벡터 DB, 관계형 메타데이터, 세션용 Redis로 나뉘며 1.0에서는 PGVector와 그래프를 포함한 전체 계층을 단일 Postgres 인스턴스에 올릴 수 있다.
무엇과 다른가
Mem0, Letta, Zep, Graphiti 같은 기존 메모리 시스템과는 COGX 교환 포맷으로 기억을 주고받는다. 순수 벡터 RAG와 달리 관계 구조와 코드 심볼 그래프를 함께 검색 대상으로 두고, 세션 단위 기억을 영구 기억으로 정제하는 단계를 포함한다. 사용자 정의 데이터 모델과 온톨로지로 기억 구조를 도메인에 맞게 정의할 수 있다.
어떻게 쓰나
설치는 pip 또는 uv로 하고 .env.template을 .env로 복사해 제공자를 설정한다. 기본값은 언어 모델과 임베딩 모두 OpenAI를 호출하며 Ollama로 로컬 모델을 쓸 수 있다. Claude Code와 Codex 플러그인을 설치하고 훅을 활성화하면 에이전트 세션의 기억이 자동 수집된다. 로컬 API 데모는 Docker Compose 가이드를 따르며 기본 포트는 API 8000, UI 3000, MCP 8001이다. UI 실행기에는 Node.js/npm, MCP 서비스에는 Docker가 필요하다.
전제와 한계
Python 3.10–3.14를 지원한다. Postgres를 그래프 저장소로 쓰는 구성은 데모 기능으로 공개되어 있고 프로덕션용은 별도 라이선스 제품이다. 기본 설정은 처리와 답변 생성에 외부 제공자 호출을 발생시킨다. BEAM 벤치마크 수치는 벤치마크 전용 데이터 포맷·프롬프트·검색 설정으로 측정된 값이라 다른 시스템과 비교하려면 방법론을 확인해야 한다.
관련 논문 4
유사 도구
- mem0AI 에이전트에 장기 기억 계층을 붙이는 Python 라이브러리이자 CLI다. 단일 패스 추출과 다중 신호 검색으로 대화 맥락을 축적한다.
- SimpleMemLLM 에이전트에 장기 기억을 붙이는 Python 패키지다. 대화를 원자적 기억으로 압축해 저장하고 의미 기반으로 검색하며, 텍스트와 이미지·오디오·비디오를 함께 다룬다.
- graphrag비정형 텍스트에서 LLM으로 개체와 관계를 추출해 지식 그래프 인덱스를 만들고, 그 그래프를 컨텍스트로 질의응답에 쓰는 Python CLI 파이프라인이다.
- mcp-server-qdrantQdrant 벡터 검색 엔진 위에 LLM용 장기 기억 계층을 붙이는 공식 MCP 서버다. 저장·검색 도구를 MCP로 노출해 클라이언트가 기억을 쓰고 찾게 한다.
- Hyper-Extract비정형 텍스트를 LLM으로 구조화해 그래프·하이퍼그래프·시공간 그래프로 추출하는 Python CLI다. 추출·검색·시각화를 한 명령으로 처리한다.
- txtai벡터 인덱스·그래프·관계형 DB를 합친 임베딩 데이터베이스 위에서 시맨틱 검색과 LLM 워크플로를 돌리는 Python AI 프레임워크다.