Memoria – 인간과 유사한 기억력을 가진 자기 진화형 개인용 AI
요약
사용자의 개인적 사실을 기억, 망각, 통합하는 자기 진화형 개인용 AI 에이전트 Memoria를 소개합니다. Redis와 PostgreSQL을 활용한 3단계 메모리 계층 구조를 통해 인간과 유사한 장기 기억력을 구현했습니다.
핵심 포인트
- 세션, 개인, 아카이브로 구성된 3단계 메모리 계층 구조
- 망각, 통합, 성찰을 통한 자율적 메모리 생명주기 관리
- 모순되는 사실을 감지하고 해결하는 충돌 관리 기능
- MCP 기술 서버를 통한 Qwen 에이전트와의 연동 지원
- 벤치마크 결과 의사결정 정확도 77.6% 향상 증명
대부분의 AI 어시스턴트(AI assistants)는 각 세션이 끝나면 모든 것을 잊어버립니다. Memoria는 기억하고, 잊고, 진화합니다. 개인적인 사실을 추출하고, 모순을 해결하며, 자신이 알고 있는 것에 대해 성찰합니다. 이 포스트는 Qwen Cloud Hackathon, Track 1을 위해 프로덕션급 MemoryAgent를 구축한 여정을 공유합니다.
영감 (Inspiration)
전형적인 챗봇(chatbot)과의 모든 대화는 제로(zero)에서 시작됩니다. 월요일에 당신이 땅콩 알레르기가 있다고 말해도, 수요일이면 챗봇은 땅콩 가루가 뿌려진 팟타이를 추천합니다. 모델이 잊어버린 것이 아니라, 애초에 장기 기억(long-term memory)이 없었던 것입니다. 당신이 누구인지에 대한 지속적인 지식 없이는 진정한 개인화(personalisation)가 불가능합니다.
우리는 이 문제를 해결하기 위해 Memoria를 구축했습니다. 중요한 것은 기억하고, 희미해지는 것은 잊으며, 모순을 해결하고, 시간이 지남에 따라 당신에 대한 이해를 진화시키는 인간과 유사한 기억력을 가진 개인용 AI입니다. 진정한 기억은 더 큰 컨텍스트 윈도우(context window)가 아닙니다. 그것은 추출(extraction), 우선순위 지정(prioritisation), 감쇠(decay), 통합(consolidation), 그리고 성찰(reflection)입니다. 해커톤의 과제는 메모리 효율적이고 프로덕션 등급의 MemoryAgent를 제공하는 것이었으며, 우리는 Alibaba Cloud 위에서 이를 처음부터 구축했습니다.
Memoria가 하는 일
Memoria는 지식을 세 가지 의도적인 계층으로 조직합니다:
- 세션 메모리 (Session Memory) (Redis) – 활성 채팅의 마지막 10개 메시지.
- 개인 메모리 (Personal Memory) (PostgreSQL 16 + pgvector) –
text-embedding-v3로 임베딩된 사용자 중심의 사실들로, 하이브리드 스코어링(hybrid scoring)에 의해 순위가 매겨지며 감쇠(decay), 통합(consolidation), 충돌 해결(conflict resolution)의 대상이 됩니다. - 컨텍스트 아카이브 (Context Archive) – 온디맨드 검색(on-demand search)을 위해 저장된 전체 트랜스크립트(transcripts)로, 일상적인 검색을 오염시키지 않습니다.
기타 주요 기능:
- 자율적 메모리 생명주기 (Autonomous memory lifecycle): 일일 망각 (daily decay), 주간 통합 (weekly consolidation), 그리고 백그라운드 성찰 (background reflection).
- 개인 지능 토글 (Personal Intelligence toggle): 전체 메모리 접근 vs 세션 전용 접근.
- 메모리 미사용 시크릿 모드 (Memory-Less incognito mode): 메모리 읽기 및 쓰기 없음.
- MCP 기술 서버 (MCP skills server): 모든 Qwen 에이전트에게
get_core_memories,get_user_preferences,forget_memory,strengthen_memory를 노출. - 충돌 감지 및 버전 관리 (Conflict detection & versioning): 모순되는 사실은 자동으로 플래그가 지정되고 대체됨.
- 페르소나 커스텀 (Persona customisation): 사용자가 응답 길이, 톤, 행동 양식을 설정.
- 벤치마크로 증명된 77.6% 향상: 12가지 현실적인 시나리오 전반에서 의사결정 정확도 향상.
- Alibaba Cloud ECS 실시간 배포: ApsaraDB for PostgreSQL 및 Redis를 포함하며, Terraform을 통해 프로비저닝됨.
구축 방법 (How we built it)
백엔드 (Backend): Python FastAPI, SQLAlchemy async, 하이브리드 벡터 검색 (hybrid vector search)을 위한 PostgreSQL 16 + pgvector.
메모리 파이프라인 (Memory pipeline): DashScope – 채팅/추출/충돌/성찰을 위한 Qwen-Plus, 통합을 위한 Qwen-Max, 임베딩 (embeddings)을 위한 text-embedding-v3.
백그라운드 워커 (Background workers): Redis를 브로커 (broker)로 사용하여 메모리 수집 (ingestion), 망각 (decay), 통합 (consolidation)을 처리하는 Celery.
프론트엔드 (Frontend): React + Vite, react-markdown, remark-math, rehype-katex, 커스텀 다크 테마.
배포 (Deployment): Docker Compose, Alibaba Cloud용 Terraform (ECS, ApsaraDB, Redis), Nginx를 통한 Let's Encrypt.
직면했던 과제 (Challenges we ran into)
- 임베딩 차원 불일치 (Embedding dimension mismatch) (1536 → 1024) – Alembic 마이그레이션으로 해결.
- DashScope 국제 엔드포인트 (DashScope international endpoint) – 기본값이 베이징으로 설정되어 있어 명시적인 설정이 필요했음.
- 모델 가용성 (Model availability) –
qwen3-plus에 접근할 수 없어qwen-plus로 표준화함. - Markdown + LaTeX 렌더링 (Markdown + LaTeX rendering) – 여러 플러그인과 전처리 과정이 필요했음.
- 충돌 감지 및 성찰 시 성능 문제 (Performance with conflict detection and reflection) – Celery에서 비동기적으로 실행하여 지연 시간 (latency)을 낮게 유지함.
배운 점 (What we learned)
- 인간과 유사한 기억력은 단순한 RAG보다 어렵다 – 중요도 (importance), 망각 (decay), 공고화 (consolidation), 그리고 충돌 해결 (conflict resolution)이 필요합니다.
- Qwen의 도구 호출 (tool-calling) 및 구조화된 JSON 출력은 LLM 파이프라인을 신뢰할 수 있게 만듭니다.
- UX (PI 토글, Memory-Less)는 알고리즘만큼 중요하다 – 사용자가 기억을 신뢰할 수 있어야 합니다.
- 실제 인프라 테스트는 미묘한 버그를 잡아낸다 – 항상 조기에 배포하세요.
다음 단계 (What's next)
음성 입력, MCP를 통한 멀티 에이전트 협업 (multi-agent collaboration), 모바일 컴패니언, 고급 기억 시각화, 그리고 기억 작업에 대한 Qwen의 미세 조정 (fine-tuning).
직접 체험해 보세요: https://memoria.imawais.engineer
GitHub: imawais-engineer/Memoria
Alibaba Cloud 및 Qwen Cloud를 통해 ❤️로 제작되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기