RAG(Vectorstore 기반 Retrieval-Augmented Generation)은 지식 검색에는 탁월하지만, 기억(메모리)로 활용하기엔 심각한 한계가 있습니다. 이 영상에서는 기존 RAG의 문제와 그 원인을 짚고, '시간에 민감한 지식 그래프'를 통한 새로운 메모리 방식, 그리고 이를 쉽게 구축할 수 있는 오픈소스 프레임워크인 Graffiti를 소개합니다. 에이전트가 상황 맥락과 시간의 흐름에 따라 똑똑하게 기억하고 판단할 수 있는 구체적인 전략과 실전 사례를 얻어갈 수 있습니다.
1. 기존 RAG 기반 메모리가 가진 문제
Daniel은 강연을 시작하며 자신을 Zapai의 창립자라고 소개하고, AI 에이전트를 위한 기억(메모리) 인프라를 만들어왔다고 밝혀요. 그리고 단도직입적으로 말합니다.
"여러분, 기억을 완전히 잘못 쓰고 계십니다."
물론 청중 개인의 문제라기보다는, 지금 널리 사용하는 프레임워크—특히 벡터 데이터베이스 기반 RAG—에 구조적인 문제가 있다고 짚어요.
기억이 중요한 이유
AI 에이전트는 유저와의 대화 등에서 얻는 동적인 정보(사용자 행동, 선호도 변화, 앱 내부의 비즈니스 데이터 등)를 제대로 활용하지 못하는 경우가 많다고 하죠. 그 결과,
"에이전트는 고객을 기억하지 못하고 항상 뻔하거나 엉뚱한 답만 내고, 결국 고객을 잃게 됩니다."
즉, 단순히 비슷한 내용만 찾아내는 것이 아니라 "시간에 따라 달라지는 맥락과 변화"를 기억해야 에이전트가 실질적인 가치를 줄 수 있다는 거예요.
2. RAG가 왜 엉뚱한 답을 내놓는가?
Daniel은 Adidas 신발을 예로 들어 설명합니다. 처음에는 유저가 Adidas를 추천받아 좋아했지만, 신발이 망가지자 실망하게 돼요. 그 뒤 Puma를 더 선호하게 되었죠. 하지만 "운동화 추천해줘"라는 질문을 반복하면, 벡터 기반 RAG는 과거의 'Adidas 선호' 정보를 '가장 유사한 답'으로 계속 뽑아옵니다.
"각 사실(fact)은 서로 연결 없이 독립적, 불변한 조각으로 저장됩니다. 벡터 RAG에는 인과 관계도, 시간의 흐름도 없습니다."
즉, RAG는 이런 변화와 원인-결과(왜 선호가 바뀌었는지), 시점(언제 바뀌었는지) 정보를 전혀 반영하지 못합니다. 실제로는 사용자의 마음이 바뀌었지만, 과거 데이터가 '가장 비슷하다'고 나오니 여전히 똑같은 추천을 하게 되죠.
3. 지식 그래프와 Graffiti가 제공하는 새로운 해법
여기서 Daniel은 명확하게 강조합니다.
"그래프는 '왜'와 '언제'를 다룰 수 있습니다."
Graffiti 프레임워크의 핵심
Graffiti는 Zapai에서 만든 오픈소스 프레임워크로,
- 실시간 동적/시간 정보를 반영하는 지식 그래프를 구축할 수 있고
- 단순한 정보 연결이 아니라 시간의 흐름, 상태 변화, 인과 관계를 함께 기록합니다.
"Graffiti는 각 사실이 언제 유효(valid)하고, 언제 무효화(invalidated) 됐는지를 추적합니다."
예를 들어 Adidas 신발에 실망했던 사건이 발생하면,
- 'Adidas 선호' 관계는 무효화되고
- 'Puma 선호'가 새로 추가됩니다. 하지만 과거 데이터는 삭제하지 않고, '과거에 이랬었다'는 정보로 남겨두니 시간에 따른 변화 추적이 가능해요!
인간의 기억과 비슷한 작동
"이렇게 하면, 사람이 변화와 경험을 이어서 기억하는 방식과 훨씬 가까워집니다."
4. 실전에서 Graffiti는 어떻게 작동하는가?
Daniel은 Graffiti의 작동 모습을 좀 더 자세히 보여줍니다.
- Graffiti는 여전히 벡터 임베딩(semantic search)나 BM25 등 텍스트 검색을 결합해서, 대규모 그래프 전체 중 필요한 '서브그래프'를 똑똑하게 뽑아내줍니다.
- 그래프 탐색(traversal) 기능으로 연관된 정보나 인과 관계를 빠르게 따라가며 더 풍부한 맥락을 제공합니다.
"이렇게 결합하면, 빠르고 정확하게, 그리고 구조적으로 풍부한 정보를 검색할 수 있습니다."
특히 비즈니스 현장(예: 전자상거래, 정신건강 앱 등)마다 기억해야 할 데이터 구조가 완전히 다른데,
"Graffiti의 커스텀 엔터티와 엣지를 이용하면, 각 도메인 특성에 맞는 기억 구조(온톨로지)를 쉽게 설계할 수 있습니다."
원하는 정보만 뽑아보고, '의도치 않은 노이즈'는 배제할 수 있는 점이 큰 강점이죠.
5. RAG, 그래프 RAG, Graffiti는 각각 어떤 상황에 적합할까?
Daniel은 RAG와 Graph RAG, Graffiti 각각의 장단점과 사용처를 비교하며, 한쪽만 완벽하다 주장하지 않습니다.
- RAG: 단순 정적인 정보 검색에는 여전히 유용
- Graph RAG: 그래프 요약이 자주 필요할 땐 느리고 비쌈(LLM이 요약 반복, 딜레이 장난 아님)
- Graffiti: 지속적으로 변하는 데이터(고객 행동, 선호, 실시간 변경 등)에는 강력함
- 빠른 조회(수십~수백 ms)
- 비즈니스 도메인을 유연하게 모델링 가능
- LLM 사용여부(빠른 처리 부각)
"핵심은, 상황에 따라 어떤 접근법이 필요한지 제대로 이해하고 선택하는 것입니다."
6. 질문과 답변: 실전 기술 궁금증
6.1. Graffiti 별도 사용 가능성
"Zep 없이도 Graffiti는 오픈소스라 누구나 GitHub에서 쓸 수 있습니다. Neo4j 같은 파트너 플랫폼과 손쉽게 연결해 바로 써볼 수 있어요!"
6.2. LLM, 비정형 데이터 처리, 사실 무효화
"Graffiti는 LLM을 이용해 구조화되지 않은 대화, 이메일, JSON 등 다양한 데이터를 지식 그래프로 파싱해 넣어요." "사실이 바뀌거나 충돌하면, LLM이 감정(실망 등)이나 인과관계까지도 식별해 무효화를 처리합니다."
6.3. 과거로 되돌리는(재검증) 경우
"상황(컨텍스트)에 따라 새로운 사실(엣지)로 갱신하거나, 무효화 날짜(nullify)로 복구할 수 있습니다."
6.4. Microsoft GraphRAG와 비교: 왜 실시간이 가능한가
"GraphRAG는 여러 단계를 요약하고, 데이터가 바뀌면 모든 요약을 다 새로 해야 해요.
Graffiti는 영향을 받는 작은 부분만 정밀하게 업데이트하니 비용/시간 모두 훨씬 효율적입니다."
6.5. 온톨로지 생성 방법
"Graffiti가 자동으로 온톨로지를 만들 수도 있고, 사용자가 직접 원하는 엔터티/엣지를 정의해 맞춤형 기억 구조를 만들 수도 있습니다."
7. 마치며
이 강연은 단호하게 결론짓습니다.
"에이전트 메모리는 단순한 지식 검색이 아니라, 시간과 관계 이유를 추적하고 이해하는 능력이 핵심입니다."
Graffiti 같은 시간-관계 인식 그래프를 통해
- 사용자의 행동 변경, 선호 변화, 상태 전환 등을 섬세하게 기억하고
- 빠르고, 풍부하고, 비즈니스에 딱 맞게
AI 에이전트의 기억 기능을 업그레이드할 수 있음을 강조합니다.
강연 마무리로, 발표자료와 논문 링크도 안내하며
"Zep는 대화와 비즈니스 데이터를 통합한, 실시간으로 사용자 전체를 조망하는 에이전트 뇌를 구축합니다.
복잡한 문제도 능동적으로 풀어낼 수 있죠!"
라는 자부심도 전했습니다.
결론
- 기존 RAG 기반 메모리는 '정적인 지식 검색'에 적합할 뿐, 진짜 기억(변화 추적, 인과/관계성, 시간 흐름)으론 매우 한계가 많음
- 시간적으로 민감하고 관계성을 명확히 가진 '지식 그래프 기반'의 Graffiti 방식이 실질적이고, 사람과 비슷한 기억력의 AI를 만드는데 강력한 도구가 됨 ⭐️
- Graffiti는 오픈소스로 누구나 쉽게 실험해볼 수 있으니, 비즈니스에 맞는 기억 구조를 고민하는 분이라면 꼭 한 번 써보길 권장합니다