-
RAG의 한계를 넘어서: Memento가 MIRIX 기반의 6계층 메모리를 선택한 이유MEMENTO 2025. 11. 25. 22:58반응형

1. 들어가며: "모든 데이터가 벡터 DB에 들어갈 필요는 없다"
우리가 개발하는 AI 에이전트가 "기억력이 좋다"라고 말하려면 어떤 조건이 필요할까요? 단순히 과거 대화 내역(History)을 길게 넣어주는 것만으로는 부족합니다. 인간은 친구와의 사적인 대화(일화)와 전공 서적의 지식(의미)을 각기 다른 뇌 영역에서, 다른 방식으로 처리하고 저장합니다.
저는 현재 개발 중인 Memento 프로젝트에서 이 '인간다운 기억 처리'를 구현하기 위해 고민했고, 그 해답을 MIRIX (Multimodal Information Retrieval & Indexing eXperience) 아키텍처에서 찾았습니다. 오늘은 왜 Memento가 기존의 평면적인 RAG 방식을 버리고 MIRIX의 6가지 메모리 계층 구조를 도입했는지, 그리고 이를 통해 얻은 것과 잃은 것에 대해 이야기해 보려 합니다.
2. 도대체 MIRIX가 무엇인가?
MIRIX는 단순히 데이터를 저장하고 검색하는 기술 스택이 아닙니다. 이는 "데이터의 성격과 목적에 따라 저장소와 인덱싱 전략을 분리하는 인지 아키텍처(Cognitive Architecture)"입니다.
기존의 LLM 애플리케이션이 모든 텍스트를 'Vector Store'라는 하나의 바구니에 담아
Cosine Similarity로만 찾았다면, MIRIX는 들어오는 정보를 마치 뇌가 신호를 분류하듯 처리합니다.- Dynamic Routing: 입력된 데이터가 '나에 대한 정보'인지, '해야 할 일'인지, '지식'인지를 판단하여 분류합니다.
- Hybrid Indexing: 어떤 정보는 벡터로(Vector), 어떤 정보는 그래프로(Graph), 어떤 정보는 키-값(Key-Value)으로 저장하여 검색 효율을 극대화합니다.
즉, MIRIX는 "모든 정보를 뭉뚱그려 저장하지 말고, 뇌의 구조처럼 체계적으로 정리하자"는 철학을 가진 시스템입니다.
3. 왜 이 구조를 적용했나?
Memento 프로젝트의 핵심 목표는 "사람과 유사한 방식의 기억(Human-like Memory)"을 구현하는 것입니다. 이를 위해 다음과 같은 이유로 MIRIX 구조를 채택했습니다.
- 맥락의 오염 방지 (Context Pollution):
사용자의 '이름'이나 '알레르기 정보'(Core)가 어제 나눈 '점심 메뉴 추천'(Episodic) 데이터에 묻혀 검색되지 않는 문제를 해결해야 했습니다. 중요한 정보는 언제나 최상위 우선순위를 가져야 합니다. - 지식과 기억의 분리:
AI가 학습한 일반 상식(Knowledge)과 사용자와의 경험(Episodic)은 섞이면 안 됩니다. "세종대왕이 누구야?"라는 질문과 "내가 어제 세종대왕에 대해 뭐라고 했지?"는 전혀 다른 검색 전략이 필요하기 때문입니다. - 장기적인 에이전트 성장:
단발성 대화가 아닌, 사용자와 함께 히스토리를 쌓아가며 성장하는 에이전트가 되기 위해서는 '절차적 지식(Procedural)'과 '정적 리소스(Resource)'를 명확히 구분해 관리할 필요가 있었습니다.
4. Memento에 적용된 6가지 메모리 타입 (Text-Only)
MIRIX 사상을 바탕으로, Memento는 텍스트 데이터를 다음 6가지 타입으로 엄격하게 구조화합니다.
- ① Core Memory (핵심 기억): 사용자/에이전트의 정체성, 프로필. (검색 없이 항상 주입되는 불변의 진리)
- ② Episodic Memory (일화적 기억): 시간 순서대로 기록된 사건과 경험. "그때 무슨 일이 있었지?"
- ③ Semantic Memory (의미적 기억): 경험에서 추출된 개념과 사실적 지식. "A란 무엇인가?"
- ④ Procedural Memory (절차적 기억): 문제 해결을 위한 툴 사용법, 워크플로우, 노하우. "이건 어떻게 처리하지?"
- ⑤ Resource Memory (리소스 기억): 문서, 스크랩 등 가공되지 않은 원천 데이터 저장소.
- ⑥ Knowledge Vault (지식 금고): 위키피디아 수준의 범용적이고 정적인 외부 지식.
5. MIRIX 적용의 득과 실 (Pros & Cons)
이 구조를 도입함으로써 Memento는 명확한 이점을 얻었지만, 동시에 해결해야 할 기술적 부채도 생겼습니다.
이익 (Pros: What we gained)
- 검색 정확도(Precision)의 비약적 상승: 질문의 의도에 따라 특정 메모리 방(Type)만 뒤지면 되므로, 엉뚱한 맥락을 가져올 확률(Hallucination)이 현저히 줄어듭니다.
- 토큰 비용 절감: 모든 히스토리를 다 불러오는 게 아니라, 필요한 타입의 메모리만 선별적으로 로드하므로 LLM 컨텍스트 윈도우를 효율적으로 사용합니다.
- 일관성 있는 페르소나: Core Memory를 분리함으로써, 대화가 길어져도 에이전트가 자신의 역할이나 사용자의 정보를 까먹지 않습니다.
손실 및 과제 (Cons: What we traded off)
- 시스템 복잡도 증가 (Complexity): 단일 Vector DB를 쓸 때보다 관리해야 할 저장소와 인덱스가 6배로 늘어났습니다. 이는 유지보수 난이도를 높입니다.
- 레이턴시(Latency) 문제: 사용자 입력을 분석하고(Router), 어느 메모리에서 가져올지 결정하는 과정이 추가되어 응답 속도가 미세하게 느려질 수 있습니다.
- 분류의 모호성: 어떤 텍스트는 '지식(Semantic)'이면서 동시에 '리소스(Resource)'일 수 있습니다. 이 경계가 모호할 때 데이터를 어디에 저장할지 결정하는 라우팅 알고리즘의 고도화가 필요합니다.
6. 마치며: 더 똑똑한 기억을 향해
Memento에 MIRIX를 적용한 것은 '쉬운 길'이 아닌 '옳은 길'을 선택한 결과입니다. 단순한 챗봇을 넘어, 나를 이해하고 기억하는 진정한 'AI 파트너'를 만들기 위해서는 이 정도의 구조적 깊이가 필수적이라고 믿습니다.
지금도 Memento는 이 6가지 기억을 더 유기적으로 연결하기 위해 발전하고 있습니다.
반응형'MEMENTO' 카테고리의 다른 글
AI에게 기억을 선물하다 (0) 2025.11.08