학술 메모리 연구 정리

왜 이 연구들이 중요한가

LLM 기반 에이전트의 가장 근본적인 한계는 "기억이 없다"는 것이다. 매 호출마다 컨텍스트가 리셋되고, 컨텍스트 윈도우는 유한하다. 이 문제를 어떻게 해결할 것인가가 에이전트 아키텍처의 핵심 설계 과제이며, 2023년부터 쏟아진 학술 연구들은 각각 다른 각도에서 이 문제에 접근했다.

아래 5편의 핵심 논문은 에이전트 메모리의 이론적 프레임워크(CoALA), 경험 기반 기억(Generative Agents), OS 영감 계층 구조(MemGPT), 자기 성찰 학습(Reflexion), 그리고 이 모든 것의 산업적 진화(Letta)를 다룬다.

학술 연구의 계보

2023.03 Reflexion ─────────── 자기성찰로 실수에서 배우기 2023.04 Generative Agents ─── 기억 스트림 + 성찰 + 계획 2023.09 CoALA ──────────────── 모든 에이전트를 위한 인지 프레임워크 2023.10 MemGPT ─────────────── OS처럼 메모리 계층 관리 2024.09 Letta ──────────────── MemGPT의 산업적 진화 2025.04 Letta + Sleep-time ── 비동기 성찰 + 기술 학습 2026.02 Context Repository ── Git 기반 메모리 파일시스템


1. Generative Agents: Interactive Simulacra of Human Behavior

Generative Agents: Interactive Simulacra of Human Behavior
Park, O'Brien, Cai, Morris, Liang, Bernstein — Stanford, Google — 2023.04 — UIST 2023 — arXiv:2304.03442
핵심 아이디어: 25명의 AI 에이전트가 심즈(Sims)와 유사한 가상 마을 "Smallville"에서 자율적으로 생활한다. 각 에이전트는 자연어로 된 경험의 완전한 기록(메모리 스트림)을 유지하고, 시간이 지나면서 고수준 성찰(reflection)로 종합하며, 동적으로 검색(retrieval)하여 행동을 계획한다. 발렌타인데이 파티를 기획하라는 단 하나의 힌트만으로, 에이전트들이 자율적으로 초대장을 보내고, 데이트 신청을 하고, 정해진 시간에 파티에 모여든다.

아키텍처: 관찰 → 기억 → 성찰 → 계획 → 행동

PERCEIVE
관찰 (Observation)
주변 환경 인식
STORE
메모리 스트림
자연어 경험 기록
RETRIEVE
검색 함수
최근성+중요도+관련성
REFLECT
고수준 성찰
추상적 추론 생성
PLAN & ACT
계획 & 행동
일정 수립, 실행

메모리 스트림 (Memory Stream)

에이전트의 모든 경험이 자연어 문장으로 기록되는 시간순 로그다. "Isabella Rodriguez가 아침 8시에 카페에서 커피를 내리고 있다", "Tom이 시장 출마에 대해 이야기했다" 같은 관찰이 타임스탬프와 함께 축적된다. 핵심은 이 스트림이 무한히 증가한다는 점이다.

검색 함수 (Retrieval Function)

메모리 스트림에서 현재 상황에 관련된 기억을 꺼내는 것이 검색의 핵심이다. 이 논문의 가장 우아한 기여 중 하나는 3가지 요소의 가중 조합이다:

retrieval_score = alpha * recency + beta * importance + gamma * relevance

recency (최근성) : 시간 기반 지수 감쇠. 최근 기억일수록 높은 점수. 인간의 단기기억 감쇠 곡선(Ebbinghaus 망각 곡선)에서 영감.

importance (중요도) : LLM이 1-10점으로 평가. “아침식사 준비”는 낮고, “연인과 헤어짐”은 높다. 자기보고식 정서적 각성도에 해당.

relevance (관련성) : 현재 상황과 기억의 임베딩 유사도. 코사인 유사도로 계산. 연상 기억(associative memory)에 해당.

성찰 메커니즘 (Reflection)

메모리 스트림의 최근 기억들이 일정 중요도 임계값을 초과하면 성찰이 트리거된다. LLM이 관련 기억들을 종합하여 더 추상적인 진술을 생성한다:

// 원시 기억들
"Klaus가 음악 작곡에 많은 시간을 쓴다"
"Klaus가 항상 자기 작품에 대해 이야기한다"
"Klaus가 콘서트에서 연주하려고 연습 중이다"

// 성찰 결과 “Klaus Mueller는 음악에 열정적이다”

이 성찰 결과는 다시 메모리 스트림에 저장되어, 성찰에 대한 성찰도 가능하다. 이것은 메타인지(metacognition)의 구현이다.

계획 (Planning)

에이전트는 매일 아침 그날의 대략적인 계획을 세우고, 시간대별로 세분화한다. 환경 변화(예: 누군가가 파티에 초대)가 생기면 계획을 동적으로 수정한다. 이것은 인간의 목표 지향적 행동 계획에 해당한다.

신경과학적 연결

해마(Hippocampus) → 메모리 스트림: 에피소드 기억의 시간순 저장. 해마가 경험을 시간순으로 인코딩하듯, 메모리 스트림은 관찰을 시간순으로 기록한다.

Ebbinghaus 망각 곡선 → 최근성 감쇠: 시간이 지날수록 기억이 희미해지는 현상을 지수 감쇠로 모델링.

편도체(Amygdala) → 중요도 점수: 정서적 각성도가 높은 사건이 더 잘 기억되는 것을 LLM의 중요도 평가로 근사.

전전두엽(Prefrontal Cortex) → 성찰 & 계획: 메타인지와 실행 기능. 개별 경험을 종합하여 추상적 개념을 형성하고, 미래 행동을 계획하는 것.

기억 강화(Memory Consolidation) → 성찰: 수면 중 해마에서 피질로 기억이 전이되며 통합되는 과정을 성찰 메커니즘이 모방한다.

강점: (1) 자연어만으로 완전한 기억 시스템 구현 — 별도의 데이터베이스나 벡터 저장소 불필요 (2) 3요소 검색 함수가 직관적이고 효과적 (3) 성찰을 통한 추상화가 무한 증가하는 기억 문제를 완화 (4) 창발적 사회적 행동 입증 — 개별 에이전트의 믿을 만한 행동이 집단적으로도 그럴듯한 사회를 만든다
한계: (1) 메모리 스트림이 무한히 증가 — 검색 비용이 O(n)으로 확장성 문제 (2) 중요도 평가를 LLM에 의존 — API 비용이 크고 판단이 일관적이지 않을 수 있음 (3) 형식적인 대화 톤 — 가족끼리도 격식체 사용 (4) 에이전트들이 카페 대신 바에서 점심을 먹는 등 비합리적 행동 발생 (5) 컨텍스트 윈도우 한계를 본질적으로 해결하지 못함
4개 에이전트 시스템과의 비교

Pi: Pi의 "사용자 모델" 업데이트는 Generative Agents의 성찰 메커니즘과 유사하지만, Pi는 1:1 대화에 특화되어 있고 사회적 상호작용은 없다.

Ironclaw: Ironclaw의 "메모리 이벤트 로그"는 메모리 스트림과 구조적으로 유사하다. 둘 다 시간순 기록이지만, Ironclaw는 게임 상태에 특화된 구조화된 데이터를 사용한다.

Hermes: Hermes의 대화 요약 메커니즘은 성찰의 단순화된 버전이다. Generative Agents가 성찰을 메모리 스트림에 재삽입하는 재귀적 구조를 갖는 반면, Hermes는 단순 요약에 그친다.

OpenClaw: OpenClaw의 도구 호출 기반 접근은 Generative Agents와 가장 다르다. Generative Agents는 순수 자연어 기반이지만, OpenClaw는 구조화된 도구 호출로 기억을 관리한다.


2. MemGPT: Towards LLMs as Operating Systems

MemGPT: Towards LLMs as Operating Systems
Packer, Wooders, Lin, Fang, Patil, Stoica, Gonzalez — UC Berkeley — 2023.10 — arXiv:2310.08560
핵심 아이디어: LLM의 제한된 컨텍스트 윈도우를 운영체제의 가상 메모리에서 영감을 받아 해결한다. 물리 메모리(RAM)와 디스크 사이에 데이터를 페이징하듯, LLM의 컨텍스트 윈도우(메인 메모리)와 외부 저장소(가상 메모리) 사이에 정보를 능동적으로 이동시킨다. 핵심은 LLM 스스로가 자신의 메모리를 관리한다는 것이다.

아키텍처: OS 영감 메모리 계층

MemGPT 메모리 계층 구조

┌─────────────────────────────────────────────────────┐ │ Main Context (메인 컨텍스트) │ │ = LLM의 컨텍스트 윈도우 = “RAM” │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ │ │ │ System Prompt │ │ Working Context │ │ │ │ (시스템 프롬프트) │ │ (작업 컨텍스트) │ │ │ │ - 불변 지시사항 │ │ - 편집 가능한 │ │ │ │ - 도구 정의 │ │ 스크래치패드 │ │ │ └──────────────────┘ └──────────────────┘ │ │ ┌──────────────────┐ ┌──────────────────┐ │ │ │ Recall Memory │ │ FIFO Queue │ │ │ │ (회상 메모리) │ │ (최근 메시지) │ │ │ │ - 검색된 과거 대화 │ │ - 현재 대화 버퍼 │ │ │ └──────────────────┘ └──────────────────┘ │ └──────────────────────────┬──────────────────────────┘ │ page in / page out │ (LLM이 함수 호출로 제어) ┌──────────────────────────┴──────────────────────────┐ │ External Context (외부 컨텍스트) │ │ = 외부 저장소 = “디스크” │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ │ │ │ Conversation DB │ │ Archival Storage │ │ │ │ (전체 대화 이력) │ │ (아카이브 저장소) │ │ │ │ - 무한 대화 기록 │ │ - 문서, 데이터 │ │ │ │ - 검색 가능 │ │ - 벡터 DB │ │ │ └──────────────────┘ └──────────────────┘ │ └─────────────────────────────────────────────────────┘

자기 주도적 메모리 관리 (Self-Directed Memory Management)

MemGPT의 가장 혁신적인 아이디어는 LLM 자체가 메모리 관리자 역할을 한다는 것이다. LLM은 다음과 같은 함수(도구)를 호출하여 메모리를 관리한다:

// MemGPT 메모리 관리 함수들
conversation_search(query)      // 과거 대화에서 검색 (recall memory에서)
conversation_search_date(date)  // 날짜로 과거 대화 검색
archival_memory_insert(content) // 중요 정보를 아카이브에 저장
archival_memory_search(query)   // 아카이브에서 검색
core_memory_append(content)     // 핵심 메모리에 추가
core_memory_replace(old, new)   // 핵심 메모리 수정

인터럽트 메커니즘

OS의 인터럽트 시스템에서 영감을 받았다. FIFO 큐가 가득 차면 오래된 메시지가 자동으로 외부 저장소로 밀려나고("page out"), 필요시 검색하여 다시 컨텍스트로 가져온다("page in"). 사용자 메시지가 도착하면 "인터럽트"가 발생하여 LLM이 응답한다.

신경과학적 연결

작업 기억(Working Memory) → 메인 컨텍스트: 인간의 작업 기억은 용량이 제한되어 있다 (Miller의 법칙: 7±2 항목). LLM의 컨텍스트 윈도우도 마찬가지로 유한하다.

장기 기억(Long-term Memory) → 외부 저장소: 해마를 통한 장기 기억 저장과 인출이 archival/recall 메모리에 매핑된다.

주의(Attention) → 페이징: 인간이 주의를 기울여 관련 기억을 "의식"으로 불러오는 과정을 page-in 메커니즘이 모방한다.

메타인지(Metacognition) → 자기 주도적 관리: "내가 이것을 기억해야 할까?"라는 판단은 메타인지의 핵심이며, MemGPT는 이를 LLM에게 위임한다.

강점: (1) OS의 검증된 추상화를 LLM에 적용 — 가상 메모리 개념이 직관적이고 확장 가능 (2) LLM이 자율적으로 메모리를 관리 — 하드코딩된 규칙 없이 상황에 맞게 판단 (3) 무한 대화 지원 — 컨텍스트 윈도우 제한을 근본적으로 우회 (4) 문서 분석과 멀티세션 채팅 모두에서 효과 입증
한계: (1) 모든 메모리 작업이 함수 호출 — 지연 시간 증가 (2) LLM의 메모리 관리 판단이 항상 최적이 아님 — 중요한 정보를 page out 할 수 있음 (3) 검색의 정확도가 임베딩 품질에 의존 (4) 복잡한 멀티턴 기억 관리에서 오류 누적 가능
4개 에이전트 시스템과의 비교

Pi: Pi의 메모리도 "핵심 메모리 + 아카이브"의 2계층 구조를 가지는데, 이는 MemGPT의 직접적 영향으로 보인다. Pi가 사용하는 core_memory_append/replace 패턴은 MemGPT에서 가져온 것이다.

Ironclaw: Ironclaw의 이벤트 로그가 외부 저장소 역할을 하고 SystemMessage가 메인 컨텍스트 역할을 하는 구조는 MemGPT의 2계층과 유사하지만, 자기 주도적 관리 없이 하드코딩된 규칙을 사용한다.

Hermes: Hermes의 대화 요약 메커니즘은 MemGPT의 "page out"에 해당한다. 오래된 메시지를 요약으로 압축하여 컨텍스트를 확보한다. 하지만 Hermes는 page-in(복원)이 없다 — 요약되면 원본을 다시 가져올 수 없다.

OpenClaw: OpenClaw의 명시적 도구 호출 기반 메모리 접근은 MemGPT의 함수 호출 방식과 가장 유사하다. 둘 다 LLM이 도구를 통해 자신의 메모리를 관리하는 패턴을 따른다.


3. CoALA: Cognitive Architectures for Language Agents

Cognitive Architectures for Language Agents (CoALA)
Sumers, Yao, Narasimhan, Griffiths — Princeton — 2023.09 — TMLR 2024 — arXiv:2309.02427
핵심 아이디어: LLM 에이전트를 위한 체계적 프레임워크를 인지과학과 상징적 AI의 역사에서 끌어온다. 모듈형 메모리 구성요소, 내부/외부 행동의 구조화된 액션 스페이스, 일반화된 의사결정 프로세스로 구성된다. 개별 연구가 아니라 기존 모든 에이전트 연구를 분류하고 조직화하는 메타 프레임워크다.

메모리 모듈 분류체계 (Memory Taxonomy)

CoALA는 인지심리학의 메모리 분류를 에이전트에 직접 매핑한다. 이것이 이 논문의 가장 중요한 기여다:

메모리 유형 인지과학 개념 에이전트에서의 구현 예시
작업 기억
(Working Memory)
Baddeley의 작업 기억 모델. 현재 활성화된 정보를 유지하는 제한된 용량의 시스템 LLM 호출 간에 유지되는 데이터 구조. 현재 목표, 관찰, 검색 결과를 포함. LLM의 컨텍스트 자체가 아니라 그것을 구성하는 외부 변수들 현재 작업의 상태, 방금 검색한 기억, 활성 목표
에피소드 기억
(Episodic Memory)
Tulving의 에피소드 기억. 특정 시공간의 개인적 경험 과거 의사결정 사이클의 경험 저장. 학습 입출력 쌍, 이벤트 흐름, 게임 궤적 등 Generative Agents의 메모리 스트림, Reflexion의 시행착오 궤적
의미 기억
(Semantic Memory)
세상에 대한 일반적 지식. 사실, 개념, 관계 세계에 대한 지식 저장. RAG에서의 문서, 환경의 의미론적 지도, 성찰 결과 Reflexion의 "부엌에 식기세척기가 없다" 같은 학습 결과, Voyager의 월드 모델
절차 기억
(Procedural Memory)
"어떻게" 하는지에 대한 기억. 기술, 습관 2가지 형태: (1) 에이전트 코드 — 결정론적 규칙 (2) LLM 파라미터 — 암시적 절차 지식. 파인튜닝으로 업데이트 가능 Voyager의 스킬 라이브러리 (코드 형태), 에이전트의 프롬프트 템플릿

액션 스페이스 분류

CoALA 액션 스페이스
                    ┌─────────────────────┐
                    │   <span class="hi">Action Space</span>       │
                    └──────────┬──────────┘
             ┌─────────────────┼─────────────────┐
             v                 v                  v
    ┌────────────────┐ ┌──────────────┐ ┌────────────────┐
    │ <span class="warn">External</span>        │ │ <span class="kw">Internal</span>      │ │ <span class="kw">Internal</span>        │
    │ (Grounding)    │ │ (Memory R/W) │ │ (Reasoning)    │
    ├────────────────┤ ├──────────────┤ ├────────────────┤
    │ - 물리 환경     │ │ - <span class="hi">Retrieval</span>  │ │ - 추론         │
    │ - 대화          │ │   (장기→작업) │ │ - 반성         │
    │ - 디지털 환경   │ │ - <span class="warn">Learning</span>   │ │ - 계획         │
    │   (웹, API)    │ │   (작업→장기) │ │ - 평가         │
    └────────────────┘ └──────────────┘ └────────────────┘

의사결정 사이클

CoALA에서 에이전트의 의사결정은 계획(Planning) → 실행(Execution)의 반복 사이클로 구성된다:

  1. 제안(Proposal): 가능한 행동 후보를 생성
  2. 평가(Evaluation): 후보들의 가치를 LLM으로 평가
  3. 선택(Selection): 최선의 행동을 선택
  4. 실행(Execution): 선택된 행동을 실행하고 환경 피드백을 받음
신경과학적 연결

CoALA는 가장 명시적으로 인지과학에 기반한 프레임워크다:

ACT-R, Soar → CoALA의 기본 구조: 1980~90년대 인지 아키텍처 연구(Anderson의 ACT-R, Newell의 Soar)가 제안한 "프로덕션 시스템" 개념을 LLM 에이전트에 매핑한다. Soar의 프로덕션 규칙이 LLM의 프롬프트로 대체된 것이다.

Tulving의 기억 분류 → 메모리 모듈: 에피소드/의미/절차 기억의 3분류는 Endel Tulving의 기억 시스템 이론에서 직접 가져왔다.

Baddeley의 작업 기억 모델 → Working Memory: 중앙 실행부(central executive)가 정보를 조작하는 개념이 LLM의 추론 과정으로 매핑된다.

이중 과정 이론(Dual Process Theory) → 코드 vs LLM: Kahneman의 시스템 1(빠른, 자동적) / 시스템 2(느린, 의도적) 구분이 에이전트 코드(결정론적 규칙) vs LLM(확률적 추론)에 매핑된다.

강점: (1) 최초의 체계적 분류 프레임워크 — 산발적 연구를 통합하는 공통 언어 제공 (2) 인지과학에서 검증된 개념을 체계적으로 차용 (3) 구현이 아닌 설계 원칙 — 모든 에이전트 시스템에 적용 가능 (4) 미래 연구 방향을 구체적으로 제시 (5) 프레임워크 자체가 엔지니어링 도구로 사용 가능
한계: (1) 순수 이론적 프레임워크 — 구체적 구현이나 벤치마크 없음 (2) 분류가 지나치게 깔끔 — 실제 시스템에서는 메모리 유형 간 경계가 모호 (3) LLM의 고유한 특성(환각, 비일관성)에 대한 분석이 부족 (4) 성능 평가 기준을 제시하지 않음
4개 에이전트 시스템과의 비교

CoALA는 메타 프레임워크이므로, 4개 시스템 모두를 CoALA의 분류로 분석할 수 있다:

Pi: 작업기억(시스템 프롬프트+대화) + 의미기억(사용자 모델) + 에피소드기억(대화 이력). 절차기억은 프롬프트에 고정.

Ironclaw: 작업기억(현재 게임 상태) + 에피소드기억(이벤트 로그) + 의미기억(게임 규칙 DB) + 절차기억(규칙 적용 코드). 가장 균형 잡힌 CoALA 구현.

Hermes: 작업기억(현재 대화) + 의미기억(요약) + 절차기억(프롬프트 체인). 에피소드기억이 약함.

OpenClaw: 작업기억(도구 실행 컨텍스트) + 절차기억(도구 정의). 에피소드/의미 기억이 가장 약함.


4. Reflexion: Language Agents with Verbal Reinforcement Learning

Reflexion: Language Agents with Verbal Reinforcement Learning
Shinn, Cassano, Berman, Gopinath, Narasimhan, Yao — Northeastern, MIT, Princeton — 2023.03 — NeurIPS 2023 — arXiv:2303.11366
핵심 아이디어: 가중치를 업데이트하지 않고 자연어 피드백만으로 에이전트를 강화학습한다. 에이전트가 과제 실패 후 자기 성찰(verbal self-reflection)을 수행하고, 그 결과를 에피소드 기억 버퍼에 저장하여 다음 시도에서 더 나은 의사결정을 유도한다. HumanEval 코딩 벤치마크에서 91% pass@1을 달성하여 당시 GPT-4(80%)를 능가했다.

아키텍처: 3개의 모델이 협력하는 루프

ACTOR
행동 생성
LLM이 액션 수행
EVALUATOR
결과 평가
성공/실패 판단
SELF-REFLECTION
자기 성찰
실패 원인 분석
MEMORY
에피소드 버퍼
성찰 결과 저장
RETRY
재시도
기억 참고하여 개선

"언어적 강화학습"이란

전통적 RL은 스칼라 보상(reward)으로 정책을 업데이트한다. Reflexion은 이를 자연어 피드백으로 대체한다:

// 전통적 RL
policy_update(reward=0.3)  // 무엇이 잘못됐는지 알 수 없음

// Reflexion의 "언어적 RL"
self_reflection = "desk 1에서 이미 desklamp을 봤는데도 다른 곳을 찾으러 갔다.
                   다음에는 desk 1에서 바로 물건을 집어야 한다."
memory.append(self_reflection)  // 구체적 개선 방향 제시

메모리 구조: 단기 + 장기

Reflexion의 메모리는 2계층으로 구성된다:

단기 기억 현재 에피소드의 궤적(trajectory). 액션-관찰 시퀀스. 현재 시도에서 일어난 일의 상세 기록.
장기 기억 Self-Reflection 모델의 출력. 슬라이딩 윈도우 (최대 3개)로 제한. 과거 시도에서 배운 교훈의 자연어 요약.

장기 기억의 슬라이딩 윈도우 제한이 중요하다. 너무 많은 성찰을 저장하면 컨텍스트를 넘치게 하고, 너무 적으면 학습이 불충분하다. 실험에서 1~3개가 최적이었다.

실험 결과 하이라이트

벤치마크 기존 SOTA Reflexion 개선
AlfWorld (의사결정) ReAct 75% 97% +22%
HotPotQA (추론) CoT 34% 54% +20%
HumanEval Python (코딩) GPT-4 80% 91% +11%
핵심 Ablation 결과

Reflexion에서 자기 성찰을 제거하면 성능이 기준선(baseline)과 같거나 더 나빠진다. 단순히 재시도하는 것만으로는 불충분하며, "왜 실패했는지"에 대한 언어적 분석이 핵심이다. 또한 테스트 생성을 제거하면 프로그래밍 과제에서 구현이 올바른지 판단할 수 없어 해로운 수정을 하게 된다. 두 요소의 시너지가 핵심이다.

신경과학적 연결

경험으로부터의 학습 → 에피소드 기억 강화: 인간이 실패 경험에서 교훈을 추출하고 미래 행동에 반영하는 과정을 직접 모델링한다.

메타인지(Metacognition) → 자기 성찰: "나의 사고 과정에서 무엇이 잘못되었는가"를 분석하는 것은 인지심리학에서 말하는 메타인지적 모니터링이다.

크레딧 할당 문제(Credit Assignment) → 언어적 해결: 긴 행동 시퀀스에서 어떤 행동이 실패를 초래했는지 파악하는 것은 RL의 핵심 난제인데, Reflexion은 이를 자연어로 해결한다.

의미적 그래디언트(Semantic Gradient) → 자연어 피드백: 스칼라 보상 대신 자연어 피드백이 "의미론적 방향"을 제시한다. 이것은 인간이 "다음엔 이렇게 해야지"라고 구체적으로 계획하는 것과 같다.

강점: (1) 파인튜닝 없이 학습 가능 — 경량이고 모든 LLM에 적용 가능 (2) 해석 가능성 — 에이전트가 왜 행동을 바꿨는지 자연어로 설명됨 (3) 다양한 과제에 일반적으로 적용 가능 (의사결정, 추론, 코딩) (4) 기존 에이전트 프레임워크(ReAct, CoT)와 쉽게 결합 (5) 자기 생성 테스트와의 결합이 프로그래밍 과제에서 특히 효과적
한계: (1) 국소 최적해(local minima)에 빠질 수 있음 — 근본적으로 다른 접근이 필요한 과제에서는 반복 개선이 무의미 (2) WebShop 같은 넓은 탐색 공간에서는 효과 미미 (3) 자기 성찰의 품질이 LLM 능력에 완전히 의존 — 약한 모델(StarChat 등)에서는 개선 없음 (4) 성찰 메모리 크기가 제한적 (1-3개) (5) 장기적 학습이 아니라 단일 과제 내 개선
4개 에이전트 시스템과의 비교

Pi: Pi의 "대화에서 배우기"는 Reflexion의 단순화 버전이다. Pi는 성공/실패 신호가 명확하지 않고, 사용자 선호도라는 더 미묘한 신호에서 학습한다.

Ironclaw: Ironclaw의 게임 상태 롤백 & 재시도 메커니즘은 Reflexion의 에피소드 재시도와 구조적으로 유사하지만, 명시적 자기 성찰 단계가 없다.

Hermes: Hermes에는 자기 성찰 메커니즘이 없다. 대화 흐름의 수정은 사용자 피드백에 의존하지, 시스템의 자율적 성찰이 아니다.

OpenClaw: OpenClaw의 도구 호출 실패 시 재시도 패턴은 Reflexion과 유사하지만, 체계적 성찰 없이 단순 재시도에 가깝다. Reflexion이 보여준 것처럼, 성찰 없는 재시도는 효과가 제한적이다.


5. Letta: MemGPT의 산업적 진화

Letta (formerly MemGPT)
Packer, Wooders 등 — Letta AI (UC Berkeley 스핀오프) — 2024~2026 — GitHubDocs
핵심 아이디어: MemGPT의 학술 프로토타입이 프로덕션 수준의 "memory-first agent" 플랫폼으로 진화한 것이다. 원래의 함수 호출 기반 메모리 관리를 넘어, Git 기반 메모리 파일시스템(MemFS), 수면 시간 연산(Sleep-time Compute), 스킬 학습, 메모리 서브에이전트 스웜까지 확장했다. 2026년 현재 가장 앞선 에이전트 메모리 구현체다.

MemGPT에서 Letta로의 진화 타임라인

시기 이름 핵심 발전
2023.10 MemGPT (논문) 가상 컨텍스트 관리, 함수 호출 기반 메모리 관리
2024.09 Letta 공식 발표 MemGPT 오픈소스를 Letta 플랫폼으로 통합
2025.02 RAG vs Agent Memory "RAG는 에이전트 메모리가 아니다" — 에이전트 메모리의 독자적 정의
2025.04 Sleep-time Compute 유휴 시간에 메모리를 성찰하고 재구성하는 "수면 시간 연산" 제안
2025.05 Memory Blocks 컨텍스트 윈도우의 이산적 기능 단위로 메모리 블록 추상화
2025.12 Skill Learning 경험에서 동적으로 스킬을 학습하는 지속적 학습
2025.12 Letta Code 메모리 퍼스트 코딩 에이전트 — Terminal-Bench #1 오픈소스 에이전트
2026.02 Context Repository Git 기반 메모리 파일시스템 (MemFS) — 현재 최신
2026.04 Context Constitution 에이전트가 컨텍스트를 관리하는 원칙(헌법) 정의

Context Repository: Git 기반 메모리

Letta의 가장 최신이자 가장 혁신적인 메모리 아키텍처다:

Letta MemFS (Context Repository)

~/.letta/agents/<agent-id>/memory/ ├── system/ ← 항상 컨텍스트에 로드 (핀) │ ├── persona.md ← 에이전트 정체성 │ ├── humans/ │ │ ├── tony.md ← 사용자별 프로필 │ │ └── tony_prefs.md ← 사용자 선호도 │ └── dev_workflow/ │ ├── git.md ← 학습된 Git 규칙 │ └── planning.md ← 학습된 계획 방법 ├── reflections/ ← 파일트리만 보임 (lazy load) │ ├── 2026-04-15_session.md │ └── 2026-04-18_session.md ├── skills/ ← 학습된 스킬들 │ ├── test_writing.md │ └── code_review.md └── .git/ ← 모든 변경이 Git으로 버전 관리

핵심 설계 원칙

점진적 노출 system/ 안의 파일은 항상 컨텍스트에 포함되고, 나머지는 파일트리(이름+설명)만 보인다. 에이전트가 필요할 때 파일을 읽어 가져온다. Anthropic의 "progressive disclosure" 패턴과 동일.
Git 버전 관리 모든 메모리 수정이 커밋 메시지와 함께 Git으로 기록된다. 메모리의 변경 이력을 추적할 수 있고, 잘못된 수정을 되돌릴 수 있다. 여러 서브에이전트가 Git worktree로 병렬 작업 가능.
수면 시간 연산 에이전트가 유휴 상태일 때 백그라운드 서브에이전트가 최근 대화를 분석하고 메모리를 정리한다. 인간의 수면 중 기억 강화(memory consolidation)를 모방한 것이다.
메모리 스웜 여러 메모리 서브에이전트가 각각 Git worktree에서 독립적으로 메모리를 처리하고, 결과를 Git merge로 통합한다. 병렬 기억 처리 아키텍처.
신경과학적 연결

수면 중 기억 강화 → Sleep-time Compute: 가장 직접적인 신경과학 차용. 인간의 수면 중 해마에서 피질로 기억이 전이되며 강화되는 "시스템 강화(systems consolidation)"를 에이전트의 비동기 성찰로 모방한다.

기억 결함(Memory Defragmentation) → 메모리 재구성: 장기 기억의 재구성과 재조직화가 일어나는 과정을 파일시스템 defrag로 구현.

절차 기억(Procedural Memory) → Skill Learning: 반복 경험을 통해 스킬이 자동화되는 것을 코드 형태의 스킬 파일로 구현.

분산 기억 처리 → Memory Swarms: 뇌의 여러 영역이 병렬로 기억을 처리하는 것을 다중 서브에이전트의 병렬 처리로 근사.

강점: (1) 학술 연구를 프로덕션으로 성공적으로 전환한 희귀한 사례 (2) 파일시스템이라는 보편적 추상화 — 인간과 에이전트 모두 자연스럽게 사용 가능 (3) Git이 버전 관리, 동시성, 충돌 해결을 무료로 제공 (4) 모델 불가지론 — 메모리가 모델 전환에도 유지됨 (5) Sleep-time Compute가 유휴 시간을 활용하여 비용 효율적 (6) 개방형 아키텍처 — 커스텀 메모리 스킬 추가 가능
한계: (1) 복잡성 증가 — Git, 서브에이전트, 파일시스템의 조합이 디버깅을 어렵게 함 (2) 메모리 드리프트 — 장기 사용 시 메모리가 비효율적으로 변할 수 있음 (/doctor 명령으로 대응) (3) 에이전트의 메모리 자기 편집이 위험 — 중요 정보를 실수로 삭제할 수 있음 (4) Git 기반이라 비기술적 사용자에게는 불투명
4개 에이전트 시스템과의 비교

Pi: Pi의 메모리 구조(core memory blocks + archival)는 초기 MemGPT/Letta의 직접적 구현이다. 하지만 Pi는 MemFS, Sleep-time, Skill Learning 같은 최신 발전을 아직 반영하지 않는다.

Ironclaw: Ironclaw의 게임 상태 직렬화는 Letta의 마크다운 메모리 파일과 유사한 "영구 상태"를 구현하지만, 버전 관리와 자율적 메모리 편집이 없다.

Hermes: Hermes의 대화 요약은 Letta의 Sleep-time 성찰과 목적이 같지만(컨텍스트 압축), Letta가 훨씬 정교하다 — 비동기 서브에이전트, 구조화된 파일 출력, Git 추적.

OpenClaw: OpenClaw의 도구 기반 접근은 MemGPT의 원래 함수 호출 패턴과 가장 가깝다. Letta Code가 진화하면서 Claude Code/Codex 같은 코딩 에이전트와 직접 경쟁하게 되었다.


6. 추가 중요 연구들

6.1 RAG (Retrieval-Augmented Generation) in Agent Context

RAG는 에이전트 메모리의 필요 조건이지만 충분 조건은 아니다. Letta 팀이 명확히 정리했듯이, 전통적 RAG는 "읽기 전용 외부 지식 접근"이고, 에이전트 메모리는 "읽기/쓰기 가능한 자기 경험 관리"다. 차이는 다음과 같다:
차원 전통적 RAG 에이전트 메모리
방향 읽기 전용 (retrieve only) 읽기 + 쓰기 (retrieve + store + update + delete)
데이터 출처 외부 문서 (사전 인덱싱) 에이전트 자신의 경험과 학습
변화 정적 (인덱스 갱신 시에만 변경) 동적 (실시간으로 성장하고 정제됨)
주체 시스템/개발자가 관리 에이전트가 자율적으로 관리
적용 지식 검색 개인화, 학습, 적응

6.2 Voyager: 스킬 라이브러리로서의 절차 기억

Wang et al. — NVIDIA — 2023 — "Voyager: An Open-Ended Embodied Agent with Large Language Models"
Minecraft에서 자율적으로 탐험하며 코드 형태의 스킬을 학습하고 라이브러리에 저장하는 에이전트. CoALA 분류로는 절차 기억(procedural memory)의 가장 좋은 구현 사례다. 새로운 과제에서 유사한 과거 스킬을 검색하여 재사용한다. Letta의 Skill Learning의 직접적 선행 연구.

6.3 Self-Refine vs Reflexion

Self-Refine(Madaan et al., 2023)은 Reflexion과 자주 비교되는데, 차이는 명확하다:

차원 Self-Refine Reflexion
에피소드 단일 에피소드 내 반복 에피소드 간 학습 (메모리 유지)
메모리 없음 (같은 컨텍스트 내 수정) 에피소드 메모리 버퍼
신호 주어진 제약 조건 이진 보상 + 자기 평가
적용 단일 생성 과제만 의사결정, 추론, 코딩 모두

6.4 최근 동향: 토큰 공간에서의 지속적 학습

2025년 이후 가장 주목받는 방향은 "토큰 공간 학습(Learning in Token Space)"이다. Letta가 선도하는 이 접근은, 파인튜닝 없이 에이전트의 컨텍스트(프롬프트) 자체를 경험에 따라 재작성하는 것이다:

토큰 공간 학습의 핵심 통찰

LLM의 "지식"은 두 곳에 존재한다: (1) 가중치 (파라미터) (2) 컨텍스트 (프롬프트). 파인튜닝은 (1)을 수정하지만 비용이 크고, 모델이 바뀌면 재학습이 필요하다. 토큰 공간 학습은 (2)를 수정한다 — 에이전트가 자신의 시스템 프롬프트, 메모리 파일, 스킬 정의를 경험에 따라 재작성하여 "학습"한다. 메모리가 모델보다 오래 산다(memory outlives the model)는 것이 핵심 원칙이다.


7. 종합 비교: 모든 연구의 메모리 설계 비교

차원 Generative Agents MemGPT CoALA Reflexion Letta (2026)
메모리 모델 메모리 스트림 (시간순 로그) OS 가상 메모리 (2계층) 4종 분류 (작업/에피소드/의미/절차) 에피소드 버퍼 (슬라이딩 윈도우) Git 파일시스템 (MemFS)
저장 형식 자연어 문장 리스트 구조화된 메모리 블록 + DB (프레임워크 — 구현 무관) 자연어 성찰 문장 마크다운 파일 + Git
검색 방법 최근성+중요도+관련성 가중합 LLM 함수 호출 (검색 쿼리) 규칙/희소/밀집 검색 모두 전체 버퍼 컨텍스트 삽입 파일트리 탐색 + 파일 읽기
쓰기 방법 관찰 자동 기록 + 성찰 트리거 LLM 함수 호출 (insert/replace) 학습 액션 (에피소드/의미/절차) 성찰 결과 자동 저장 파일 쓰기 + Git commit + push
자율성 높음 (자동 관찰/성찰) 높음 (LLM 주도적 관리) (설계 의존) 중간 (루프 자동, 메모리 크기 고정) 매우 높음 (자기 편집 + 서브에이전트)
확장성 낮음 (O(n) 검색) 높음 (DB + 벡터 검색) (설계 의존) 낮음 (고정 윈도우) 높음 (파일시스템 + lazy load)
지속성 세션 내 (시뮬레이션 동안) 세션 간 (DB 영구 저장) (설계 의존) 에피소드 내 (과제 완료 시 소멸) 영구 (Git + 클라우드 동기화)
신경과학 기반 해마, 망각 곡선, 기억 강화 작업 기억 용량 제한, 주의 ACT-R, Soar, Tulving 분류 메타인지, 에피소드 기억 수면 중 강화, 절차 기억, 분산 처리

8. 신경과학 개념 ↔ 에이전트 구현 종합 맵

뇌의 기억 시스템 에이전트 메모리 구현

┌───────────────────────┐ ┌───────────────────────────────┐ │ 해마 (Hippocampus) │ ───────→ │ 에피소드 기억 저장 │ │ 새로운 경험을 인코딩 │ │ - Generative Agents: 메모리 스트림 │ │ 시간순으로 기록 │ │ - Reflexion: 에피소드 버퍼 │ │ │ │ - Letta: 성찰 파일 │ └───────────────────────┘ └───────────────────────────────┘

┌───────────────────────┐ ┌───────────────────────────────┐ │ 전전두엽 (PFC) │ ───────→ │ 작업 기억 + 실행 제어 │ │ 작업 기억 유지 │ │ - MemGPT: 메인 컨텍스트 │ │ 계획, 의사결정 │ │ - CoALA: Working Memory │ │ 메타인지 │ │ - Reflexion: 자기 성찰 │ └───────────────────────┘ └───────────────────────────────┘

┌───────────────────────┐ ┌───────────────────────────────┐ │ 편도체 (Amygdala) │ ───────→ │ 정서적 중요도 태깅 │ │ 정서적 각성도 평가 │ │ - Generative Agents: importance │ │ 중요한 기억 강화 │ │ score (LLM이 1-10점 부여) │ └───────────────────────┘ └───────────────────────────────┘

┌───────────────────────┐ ┌───────────────────────────────┐ │ 신피질 (Neocortex) │ ───────→ │ 의미 기억 + 추상화 │ │ 장기 의미 기억 저장 │ │ - Generative Agents: 성찰 결과 │ │ 추상적 개념 형성 │ │ - CoALA: Semantic Memory │ │ │ │ - Letta: system/ 파일들 │ └───────────────────────┘ └───────────────────────────────┘

┌───────────────────────┐ ┌───────────────────────────────┐ │ 기저핵 (Basal Ganglia) │ ───────→ │ 절차 기억 + 습관 │ │ 자동화된 행동 패턴 │ │ - Voyager: 스킬 라이브러리 │ │ 습관 형성 │ │ - Letta: skills/ 파일들 │ │ │ │ - CoALA: Procedural Memory │ └───────────────────────┘ └───────────────────────────────┘

┌───────────────────────┐ ┌───────────────────────────────┐ │ 수면 (Sleep) │ ───────→ │ 비동기 기억 강화 │ │ 해마 → 피질 전이 │ │ - Letta: Sleep-time Compute │ │ 기억 강화 & 정리 │ │ - Generative Agents: 성찰 │ │ 시냅스 항상성 │ │ - Letta: Memory Defrag │ └───────────────────────┘ └───────────────────────────────┘


9. 결론: 에이전트 메모리의 미래 방향

이 연구들을 종합하면 에이전트 메모리의 미래가 보인다:

1. 메모리는 단순한 기능이 아니라 아키텍처의 중심이다

MemGPT → Letta의 진화가 보여주듯, "에이전트에 메모리를 추가하는 것"이 아니라 "메모리를 중심으로 에이전트를 설계하는 것"이 올바른 접근이다. Letta의 "memory-first agent"라는 포지셔닝이 이를 정확히 반영한다.

2. 수면 시간 연산이 핵심 패러다임이 될 것이다

인간 뇌의 수면 중 기억 강화를 모방한 Sleep-time Compute는, 에이전트의 유휴 시간을 생산적으로 활용한다는 점에서 비용 효율적이고 확장 가능한 학습 방법이다. "test-time compute" 다음의 스케일링 축이 될 가능성이 높다.

3. 토큰 공간 학습이 파인튜닝을 대체할 것이다

Reflexion이 보여준 "언어적 강화학습"과 Letta의 "토큰 공간 지속적 학습"은 같은 방향을 가리킨다: 가중치를 건드리지 않고 컨텍스트를 수정하여 학습하는 것. 이 방식은 모델 전환에도 메모리가 유지되고, 해석 가능하며, 비용이 저렴하다.

4. 파일시스템이 최적의 메모리 추상화일 수 있다

벡터 DB, 그래프 DB 등 다양한 저장소가 시도되었지만, Letta의 Context Repository가 보여준 것은 마크다운 파일 + Git이면 충분하다는 것이다. 파일시스템은 인간과 에이전트 모두에게 친숙하고, Git은 버전 관리와 동시성을 무료로 제공하며, 마크다운은 구조와 가독성의 균형을 맞춘다.

5. CoALA의 4종 분류가 설계의 체크리스트다

에이전트를 설계할 때, CoALA의 4종 메모리 (작업/에피소드/의미/절차)가 모두 구현되어 있는지 점검하는 것이 좋은 출발점이다. 분석한 4개 에이전트 시스템 중 이 4종을 모두 갖춘 것은 없었다 — 이것이 현재 에이전트들의 가장 큰 개선 기회다.


참고 문헌

# 논문 링크
1 Park et al. "Generative Agents: Interactive Simulacra of Human Behavior" (2023) arXiv:2304.03442
2 Packer et al. "MemGPT: Towards LLMs as Operating Systems" (2023) arXiv:2310.08560
3 Sumers et al. "Cognitive Architectures for Language Agents" (2023) arXiv:2309.02427
4 Shinn et al. "Reflexion: Language Agents with Verbal Reinforcement Learning" (2023) arXiv:2303.11366
5 Letta AI - Context Repositories: Git-based Memory (2026) letta.com/blog
6 Letta AI - Sleep-time Compute (2025) letta.com/blog
7 Letta AI - Continual Learning in Token Space (2025) letta.com/blog
8 Stanford HAI - Generative Agents 해설 기사 hai.stanford.edu