Graphiti
사실의 변화를 시간축에 쌓는 지식 그래프
pip install graphiti-core사실이 시간에 따라 어떻게 바뀌었는지를 함께 저장하는 에이전트용 시간축 컨텍스트 그래프 프레임워크입니다. 정적 지식 그래프와 달리 출처를 유지하고 과거 시점 질의를 지원하며, 전체를 다시 계산하지 않고 증분으로 갱신합니다. Neo4j 나 FalkorDB 를 저장소로 씁니다.
판단
이럴 때 씁니다
- 사용자 정보나 사실이 시간에 따라 바뀌는 것을 추적해야 할 때
- 과거 어느 시점에 무엇이 참이었는지 되물어야 할 때
- 벡터 검색만으로는 관계를 못 잡는 데이터를 다룰 때
- 전체 재계산 없이 증분으로 기억을 갱신하고 싶을 때
이럴 땐 쓰지 마세요
- 문서 검색만 필요해 벡터 저장소로 충분할 때
- Neo4j 나 FalkorDB 를 운영할 수 없는 환경일 때
- 사실이 거의 바뀌지 않는 정적 지식일 때
차별점
- 사실이 언제부터 언제까지 참이었는지를 함께 저장합니다.
- 출처를 유지해 어떤 원본에서 온 사실인지 추적합니다.
- 정해진 온톨로지와 학습된 온톨로지를 함께 지원합니다.
- 전체 재계산 없이 증분 갱신이 됩니다.
워크플로
- 01pip install graphiti-core 로 설치하고 필요한 모델 엑스트라를 붙입니다.
- 02Neo4j 또는 FalkorDB 를 준비하고 연결 설정을 잡습니다.
- 03대화나 문서를 넣으면 사실과 관계가 그래프로 쌓입니다.
- 04시점을 지정해 질의하면 그때의 사실이 돌아옵니다.
- 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 질의가 설정된 데이터베이스를 제대로 쓰도록 고쳤습니다. 이전에는 세션 기반 쓰기만 설정을 따르고 검색을 포함한 나머지 질의는 서버 홈 데이터베이스로 갔습니다. 호출 단위 재정의도 함께 들어갔습니다.