새 창을 열 때마다 기억을 잃는 챗봇을 넘어서는 Letta 아키텍처
유명 오픈소스 프로젝트였던 MemGPT가 정식 플랫폼으로 진화한 Letta는 운영체제의 가상 메모리 관리 기법을 LLM에 이식한 상태 유지형 에이전트 서버입니다. 에이전트가 스스로 중요한 사용자 정보를 골라 코어 메모리를 고쳐 쓰고 오래된 기록은 벡터 DB에서 꺼내 보며 수개월간 끊기지 않는 기억력을 유지합니다.
컨텍스트 창이 100만 토큰이 되어도 여전히 Letta가 필요한 이유
최신 LLM들의 입력 창이 백만 토큰까지 넓어졌다고 해서 지난 6개월간 고객과 나눈 수천 번의 상담 로그를 매 질문마다 통째로 밀어 넣을 수는 없습니다. 매번 수십만 토큰을 전송하면 응답 속도가 느려질 뿐 아니라 API 비용이 감당할 수 없이 불어나고 불필요한 옛날 잡담에 핵심 지시가 묻히는 현상이 발생합니다.
Letta는 컴퓨터가 빠른 RAM과 대용량 SSD를 나누어 쓰듯 LLM의 제한된 프롬프트 창을 코어 메모리로 삼고 외부 데이터베이스를 리콜 및 아카이벌 메모리로 분리해 에이전트가 자기 기억을 직접 편집하도록 만듭니다.
일반 무상태 RAG 파이프라인 vs Letta 상태 유지 에이전트 비교
| 비교 항목 | 일반 무상태 Stateless 챗봇 + 단순 RAG | Letta 구 MemGPT 상태 유지 서버 |
|---|---|---|
| 기억 갱신 주체 | 개발자가 짠 고정 규칙으로 대화 조각 단순 적재 | 에이전트가 내장 도구로 중요 사실 판단 후 메모리 블록 직접 수정 |
| 모순된 정보 처리 | 예전 주소와 바뀐 새 주소가 함께 검색되어 혼선 유발 | 코어 메모리 내 기존 주소 값을 새 값으로 덮어써 최신 상태 유지 |
| 서비스 연동 형태 | 애플리케이션 코드 안에 메모리 로직 강결합 | 독립 REST API 서버로 구동되어 여러 웹과 앱에서 동일 에이전트 공유 |
| 멀티 에이전트 기억 공유 | 에이전트별 별도 DB 조회 구현 필요 | 공유 메모리 블록 하나를 여러 에이전트에 동시 연결해 실시간 동기화 |
도커 한 줄 실행부터 실무 서비스 적용까지 핵심 3단계
1단계. 페르소나 블록과 휴먼 블록을 분리해 초기 상태 설계하기
Letta 서버를 도커나 클라우드로 띄운 뒤 에이전트를 생성할 때는 에이전트 자신의 역할 지침을 담는 페르소나 블록과 상대방 고객의 선호도 및 프로젝트 현황을 적는 휴먼 블록을 명확히 나눕니다. 고객이 저는 파이썬보다 타입스크립트를 선호해요라고 말하면 에이전트가 즉시 memory_replace 함수를 호출해 휴먼 블록을 스스로 고쳐 씁니다.
2단계. ADE 시각 디버거와 관측성 도구로 기억 오염 점검하기
장기 운영 시 에이전트가 잘못된 추측을 코어 메모리에 적어두지 않는지 살펴보는 것이 중요합니다. 내장된 에이전트 개발 환경 ADE 화면에서 실시간 메모리 블록 변화를 눈으로 확인하고, 프로덕션 단계에서는 셀프 호스팅 관측성 도구인 Langfuse와 연결해 메모리 수정 도구 호출 빈도와 토큰 소모를 모니터링합니다.
3단계. 코딩 비서 및 개인화 튜터 서비스에 REST API로 붙이기
모든 에이전트 상태가 PostgreSQL 백엔드에 영구 보존되므로 웹 프론트엔드 서버는 무거운 대화 이력을 들고 다닐 필요 없이 짧은 새 메시지만 Letta API 엔드포인트로 던지면 됩니다. 사내 개발 규칙을 계속 학습하는 팀 전용 봇이나 학생의 취약 단원을 몇 달째 기억하는 교육 앱 구축에 특히 강력합니다.
자주 묻는 질문 Q&A
Q. 예전 오픈소스 시절의 MemGPT 파이썬 코드를 쓰던 프로젝트는 이름이 바뀐 뒤 어떻게 해야 하나요?
기존 MemGPT의 핵심 가상 컨텍스트 개념을 그대로 계승하면서 프로덕션용 마이크로서비스 서버와 표준 SDK 구조로 재탄생한 것이 Letta이므로 최신 Letta 패키지 및 서버 이미지로 마이그레이션하면 훨씬 안정적인 DB 관리를 받을 수 있습니다.
Q. 특정 클라우드 LLM에만 종속되지 않고 로컬 오픈소스 모델도 연결할 수 있나요?
가능합니다. 오픈AI, 앤스로픽, 제미나이 상용 API는 물론 올라마나 vLLM으로 띄운 사내 로컬 오픈소스 모델도 백엔드 추론 엔진으로 자유롭게 교체해 연결할 수 있습니다.