Graphiti

사실의 변화를 시간축에 쌓는 지식 그래프

pip install graphiti-core

사실이 시간에 따라 어떻게 바뀌었는지를 함께 저장하는 에이전트용 시간축 컨텍스트 그래프 프레임워크입니다. 정적 지식 그래프와 달리 출처를 유지하고 과거 시점 질의를 지원하며, 전체를 다시 계산하지 않고 증분으로 갱신합니다. Neo4j 나 FalkorDB 를 저장소로 씁니다.

판단

이럴 때 씁니다

  • 사용자 정보나 사실이 시간에 따라 바뀌는 것을 추적해야 할 때
  • 과거 어느 시점에 무엇이 참이었는지 되물어야 할 때
  • 벡터 검색만으로는 관계를 못 잡는 데이터를 다룰 때
  • 전체 재계산 없이 증분으로 기억을 갱신하고 싶을 때

이럴 땐 쓰지 마세요

  • 문서 검색만 필요해 벡터 저장소로 충분할 때
  • Neo4j 나 FalkorDB 를 운영할 수 없는 환경일 때
  • 사실이 거의 바뀌지 않는 정적 지식일 때

차별점

  • 사실이 언제부터 언제까지 참이었는지를 함께 저장합니다.
  • 출처를 유지해 어떤 원본에서 온 사실인지 추적합니다.
  • 정해진 온톨로지와 학습된 온톨로지를 함께 지원합니다.
  • 전체 재계산 없이 증분 갱신이 됩니다.

워크플로

  1. 01pip install graphiti-core 로 설치하고 필요한 모델 엑스트라를 붙입니다.
  2. 02Neo4j 또는 FalkorDB 를 준비하고 연결 설정을 잡습니다.
  3. 03대화나 문서를 넣으면 사실과 관계가 그래프로 쌓입니다.
  4. 04시점을 지정해 질의하면 그때의 사실이 돌아옵니다.
  5. 05새 데이터가 들어오면 전체가 아니라 변경분만 갱신됩니다.

주요 명령

명령설명
pip install graphiti-core핵심 패키지를 설치합니다.
pip install graphiti-core[anthropic,groq,google-genai]여러 모델 제공자 엑스트라를 함께 넣습니다.
pip install graphiti-core[falkordb,anthropic,google-genai]FalkorDB 를 저장소로 쓸 때의 조합입니다.

함정

설치 전에 확인하세요

  • v0.30.0 이전에는 Neo4jDriver.execute_query() 가 드라이버의 데이터베이스 설정을 무시하고 서버 홈 데이터베이스로 질의를 보냈습니다. 여러 데이터베이스를 쓰고 있었다면 검색 결과가 엉뚱한 곳에서 나왔을 수 있습니다.
  • 깃허브 릴리스는 v0.30.0 이지만 PyPI 에는 0.30.1 이 있습니다.
  • 그래프 저장소가 별도로 필요해 인프라 부담이 있습니다.
  • 엑스트라 조합에 따라 설치되는 의존성이 크게 달라집니다.

비교

cognee 가 여러 소스를 묶어 기억층을 만드는 플랫폼 성격이라면, Graphiti 는 시간 축을 1급으로 다루는 그래프 엔진에 집중합니다. 사실이 바뀌는 것 자체가 문제의 핵심이면 이쪽이고, 여러 소스 통합이 핵심이면 cognee 가 맞습니다.

최근 변경

2026-09-01 v0.30.0 에서 Neo4j 질의가 설정된 데이터베이스를 제대로 쓰도록 고쳤습니다. 이전에는 세션 기반 쓰기만 설정을 따르고 검색을 포함한 나머지 질의는 서버 홈 데이터베이스로 갔습니다. 호출 단위 재정의도 함께 들어갔습니다.