지금까지 AI 에이전트의 "기억"은 도구 안에 묻어있는 부속품이었어요. ChatGPT의 Memory 기능, LangChain의 ConversationBufferMemory처럼요. 그런데 2026년 들어 흐름이 바뀌었어요. 메모리 자체가 별개의 인프라 카테고리가 됐고, mem0가 GitHub 47.8K 스타에 시리즈 A $24M을 받았어요. Letta는 풀스택 에이전트 런타임으로 노선을 잡았고, OpenAI Memory는 ChatGPT 안에 자체 솔루션을 박았어요. 셋이 다 다른 답을 들고 나왔는데, 정확도와 지연 시간을 동시에 측정한 LOCOMO 벤치마크가 처음으로 공개되면서 우열이 보이기 시작했어요.

한눈에 보기
대화 누적 메모리 추출·저장 관련 메모리 검색 프롬프트 주입 개인화된 응답

이게 왜 별개 카테고리가 된 건데?

예전에는 "RAG가 곧 메모리"였어요. 대화 로그를 벡터 DB에 박아두고 유사도 검색으로 꺼내쓰면 끝. 그런데 LOCOMO 벤치마크가 이 가정을 박살냈어요. mem0가 4월 1일 공개한 결과를 보면, 단순 RAG는 정확도 61%에 그쳤고, ChatGPT Memory는 52.9%로 더 낮았어요. 반면 Mem0는 66.9%, 그래프 메모리를 결합한 Mem0g는 68.4%까지 끌어올렸고, 컨텍스트 전부를 LLM에 밀어넣는 Full-context 방식이 72.9%로 가장 높았지만 응답에 9.87초가 걸렸어요. Mem0g는 1.09초.

메모리는 "정확도 vs 지연 시간"의 트레이드오프 문제로 굳어졌고, 이걸 풀려는 회사들이 별도 인프라로 떨어져 나왔어요.

도구 안에 메모리를 묻어두면 두 가지가 안 돼요. 첫째, 여러 에이전트가 같은 사용자 정보를 공유하지 못해요. ChatGPT에서 한 말이 Claude로 안 넘어가요. 둘째, 대화 외 데이터(이메일, 문서, CRM)와 통합된 기억을 만들 수 없어요. 둘 다 도구 종속성에서 비롯된 한계예요. 그래서 메모리를 따로 빼서 어떤 LLM이든 어떤 에이전트든 붙여 쓸 수 있게 만든 게 mem0·Letta·Zep 같은 신규 카테고리예요.

  1. Episodic memory
    지난 화요일에 사용자가 "Cursor 3 좀 알아봐줘"라고 했던 사건 기록. 시간 순서가 핵심.
  2. Semantic memory
    "이 사용자는 풀스택 개발자고, Next.js를 선호한다"는 일반 사실. 시간 무관.
  3. Procedural memory
    "새 프로젝트 시작할 때는 항상 .env부터 만든다"는 행동 패턴. 학습된 절차.

이 세 가지를 한 시스템에서 동시에 다루는 게 2026년 메모리 인프라의 표준 요구사항이에요.

셋이 어떻게 다른 길을 잡은 건데?

mem0·Letta·OpenAI Memory는 같은 문제를 푼다고 하지만, 들고 나온 답이 정반대예요. 정리하면 이래요.

기준 Mem0 Letta OpenAI Memory
접근 방식 Bolt-on 라이브러리 풀스택 에이전트 런타임 ChatGPT 내장 기능
락인 비용 낮음 (며칠이면 교체) 높음 (2~6주) 아주 높음 (ChatGPT 종속)
스코프 user_id / agent_id / run_id / app_id 4단 core / recall / archival 3단 전역 단일 스코프
벤치마크 정확도 66.9% (Mem0g 68.4%) 500+ 인터랙션 유지 52.9%
가격 무료 1K/월, Pro $249/월 오픈소스 + 클라우드 ChatGPT Plus $20/월에 포함
적합한 경우 여러 LLM 갈아끼우는 멀티 에이전트 장기 운영하는 자율 에이전트 개인 ChatGPT 사용자

Mem0는 "메모리는 라이브러리다" 노선이에요. OpenAI든 Anthropic이든 Gemini든 갈아끼우면서 같은 메모리 레이어를 쓸 수 있어요. 21개 프레임워크와 19개 벡터 스토어 백엔드를 지원해요. 핵심 가치는 이식성. 모델이 바뀌어도 사용자 기억은 따라가요.

Letta는 "메모리는 OS다" 노선이에요. MemGPT 논문에서 출발한 이 회사는 메모리를 코어/리콜/아카이브 3단으로 나눠 운영체제처럼 관리해요. 에이전트가 자기 메모리를 직접 편집·압축·승격하는 자율성을 가져요. 대신 락인이 커요. 한 번 Letta 위에 올라가면 다른 시스템으로 옮기는 데 2~6주가 걸려요.

OpenAI Memory는 "메모리는 ChatGPT 기능 중 하나다"에 머물렀어요. 그래서 LOCOMO에서 52.9%로 꼴찌예요.

Letta가 추적한 다른 벤치마크에서는 Letta가 500회 이상의 인터랙션을 거쳐도 일관성을 유지한 반면, 일반 RAG는 50회를 넘기면 기억이 파편화됐어요. 장기 운영이 필요하면 Letta, 멀티 모델/멀티 에이전트면 mem0가 우세하다고 보면 돼요.

주의 — OpenAI Memory만 쓰면 안 되는 이유
ChatGPT 안에서 끝나는 일이라면 충분해요. 그런데 사이드 프로젝트로 에이전트를 만들거나, Claude Code·Cursor에서도 같은 사용자 컨텍스트를 쓰고 싶으면 OpenAI Memory는 닫힌 시스템이라 한계가 명확해요. 외부 API가 없어요.

그래서 뭘 어떻게 골라야 하는 건데?

실전 기준 3개로 압축해봤어요. 이 흐름을 따라가면 의사결정이 빨라져요.

  1. "여러 LLM을 갈아끼울 가능성이 있나?"
    Yes → Mem0. No → 다음 질문으로.
  2. "에이전트가 자율적으로 며칠~몇 주 단위로 운영되나?"
    Yes → Letta. No → 다음 질문으로.
  3. "ChatGPT 안에서 끝나는 일인가?"
    Yes → OpenAI Memory. No → Mem0로 돌아가서 시작.

실제 도입 사례를 보면, Mem0는 무료 티어가 매달 1K 메모리까지 허용해서 사이드 프로젝트로 시작하기 편해요. 시리어스한 워크로드는 Pro $249/월부터인데, 이때 그래프 메모리(Mem0g)가 활성화돼서 정확도가 1.5%p 더 올라가요. Letta는 오픈소스 코어가 무료고, 매니지드 클라우드는 사용량 과금이에요. 시작 비용은 거의 0이에요.

한 가지 더 짚을 만한 게 OpenMemory MCP예요. mem0가 만든 로컬 우선 변형으로, 기억을 사용자 디바이스에만 저장하고 MCP 프로토콜로 모든 에이전트가 접근하게 해요. 프라이버시가 중요한 작업이면 클라우드 메모리 대신 이걸 쓰는 게 맞아요.