시간 질의와 현재 질의를 따로 평가한다
pilot dataset에는 정상 변화뿐 아니라 정정, 늦게 도착한 사건, 같은 이름, 모호한 날짜와 삭제를 포함합니다. “현재 배송지는?”, “지난주에는?”, “그 시점에 시스템이 알고 있던 값은?”처럼 질문 유형을 나눕니다. 각 답의 entity, relation, valid interval과 근거 episode를 원장 정답과 비교합니다.
평가표에는 current-state 정확도, historical 정확도, entity merge, split 오류, 근거 회수율, ingestion 성공, lag, p95 search latency와 episode당 model token을 둡니다. vector-only RAG, 최근 레코드 조회와 Graphiti를 같은 질문으로 비교해야 graph 운영 비용이 실제 정확도 개선으로 돌아오는지 알 수 있습니다. 원문에 제시된 benchmark 숫자는 자체 데이터의 통과 기준을 대신하지 않습니다.
장애 시험에서는 Neo4j write 실패, embedding, LLM timeout, 중복 event와 index 지연을 주입합니다. 부분 적재가 현재 사실을 조용히 덮지 않는지, 재시도 뒤 edge가 하나만 남는지 확인합니다. 검색 service는 graph가 오래됐거나 provenance가 빠졌을 때 원장 조회로 fallback하거나 답변을 보류해야 합니다.
Graphiti가 맞는 조건은 시간이 지나며 관계가 바뀌고 과거, 현재 질문이 모두 중요하며, 그 정확도 개선이 ingestion과 graph 운영비를 상쇄하는 경우입니다. 정적인 문서 검색이나 key로 현재 row 하나를 찾는 문제라면 기존 RDBMS, vector search가 더 단순할 수 있습니다. 메모리의 복잡성은 데이터의 시간 복잡성이 요구할 때만 추가하는 편이 낫습니다.