Field note · 2026-04-25
AI Agent Memory — Grounding 관점의 동적 해결 메커니즘
AI 에이전트가 실패하는 진짜 이유는 "기억하지 못해서"가 아니다. 어떤 기억을, 어떤 맥락에서, 누구의 관점으로 꺼내야 하는지 모르기 때문이다. 사용자가 에이전트에게 "그거 다시 해줘"라고 말했을 때, 이 발화는 세 가지 정보가 동시에 결핍되면 해석이 불가능하다: | 결핍 유형 | 예시 | 필요한 정보 | |||| |
AI Agent Memory — Grounding 관점의 동적 해결 메커니즘
AI 에이전트가 실패하는 진짜 이유는 "기억하지 못해서"가 아니다. 어떤 기억을, 어떤 맥락에서, 누구의 관점으로 꺼내야 하는지 모르기 때문이다.
1. 문제 정의: Utterance-Intent Misalignment
사용자가 에이전트에게 "그거 다시 해줘"라고 말했을 때, 이 발화는 세 가지 정보가 동시에 결핍되면 해석이 불가능하다:
| 결핍 유형 | 예시 | 필요한 정보 |
|---|---|---|
| 지시 대상 불명 | "그거"가 뭔지 모름 | 이전 대화에서의 작업 이력 |
| 실행 방법 부재 | "다시 해줘"의 실행 절차 | 에이전트가 이전에 수행한 워크플로우 |
| 현재 상태 무지 | 지금 어디까지 진행됐는지 | 현재 태스크의 진행 상태 |
이 세 가지 결핍은 각각 서로 다른 메모리 레이어에서 해결해야 한다. 그런데 현재 대부분의 에이전트는 컨텍스트 윈도우 하나에 모든 것을 담으려 한다. 이것이 utterance-intent misalignment의 구조적 원인이다.
MemGPT 논문이 지적했듯, LLM은 "제한된 컨텍스트 윈도우에 의해 제약"되며, 이를 극복하기 위해 OS의 가상 메모리 관리에서 영감을 받은 virtual context management가 필요하다. 이는 단순한 용량 문제가 아니라, 메모리의 계층적 구조화 문제다.
2. 3축 Grounding 프레임워크
Utterance-intent alignment을 달성하려면, 발화를 해석하는 시점에 세 가지 축의 지식이 grounding되어야 한다.
2.1 User-Knowledge Grounding
사용자가 이전에 말한 것, 선호하는 것, 알고 있는 것을 기반으로 발화를 해석하는 축이다.
- "그거" → 지난 세션에서 사용자가 요청했던 특정 작업
- "짧게 해줘" → 이 사용자는 항상 간결한 답변을 선호한다는 이력
이 축은 두 가지 메모리에 의존한다:
Episodic Memory — 과거 상호작용의 구체적 에피소드를 저장한다. "3일 전에 사용자가 PDF 분석을 요청했고, 결과에 만족했다"는 식의 사건 기반 기억이다. Pink et al.(2025)이 주장했듯, episodic memory는 단발 학습(single-shot learning)과 맥락 민감한 행동을 가능하게 하는 핵심 레이어다.
Long-Term Memory — 세션을 넘어 지속되는 사용자 프로필과 선호도. 벡터 임베딩으로 저장되어 유사도 검색(similarity search)이 가능하고, 메타데이터와 결합해 검색 정밀도를 높인다.
2.2 Agent-Knowledge Grounding
에이전트가 축적한 사실과 실행 능력을 기반으로 응답을 생성하는 축이다.
- "다시 해줘" → 이전에 실행한 워크플로우의 단계별 절차를 알고 있어야 함
- "요약해줘" → 요약이라는 작업에 대한 일반적 지식과 도메인 특화 규칙
이 축은 두 가지 메모리에 의존한다:
Semantic Memory — 사실, 개념, 관계를 저장하는 지식 기반이다. "GPT-4는 OpenAI의 LLM이다", "RAG는 검색 증강 생성 기법이다" 같은 구조화된 지식. Knowledge graph나 ontology 형태로 저장되며, 쿼리 의도를 파악해 관련 개념을 매칭한다.
Procedural Memory — 학습된 기술과 운영 지식이다. "PDF를 분석하려면 (1) 파싱 (2) 청킹 (3) 엔티티 추출 순서로 한다"는 식의 워크플로우 기억. 태스크 유형을 식별하고, 단계를 매핑하고, 도구를 호출하고, 진행 상황을 추적하는 실행 지식이다.
2.3 Task-Context Grounding
현재 진행 중인 태스크의 상태를 기반으로 다음 행동을 결정하는 축이다.
- "계속해" → 현재 어디까지 왔는지, 다음 단계가 뭔지
- "취소하고 다른 거 하자" → 현재 태스크의 상태를 정리하고 전환
이 축은 하나의 메모리에 의존한다:
Short-Term / Working Memory — 현재 세션의 대화, 입력, 즉각적 맥락을 유지한다. 토큰을 처리하고, 의도를 파악하고, 세션 컨텍스트를 유지하며, 최근 상호작용을 보존한다. 컨텍스트 윈도우의 직접적 관리 영역이다.
3. 동적 해결 메커니즘
문제는 이 5개 메모리 레이어가 정적으로 존재하는 것만으로는 부족하다는 점이다. 핵심은 발화 시점에 어떤 레이어를 얼마나 활성화할 것인가를 동적으로 결정하는 메커니즘이다.
3.1 Adaptive Retrieval Gating
Multi-Layered Memory 연구(Tiwari & Fofadiya, 2026)가 제안한 **적응적 검색 게이팅(adaptive retrieval gating)**은 대화 이력을 working, episodic, semantic 레이어로 분해한 뒤, 각 레이어에서 얼마나 가져올지를 동적으로 조절하는 기법이다.
retention regularization과 결합하면, 세션 간 drift를 제어하면서도 bounded context growth를 유지할 수 있다. 즉, 메모리가 무한히 팽창하지 않으면서도 중요한 정보는 보존된다.
3.2 Virtual Context Management (MemGPT 방식)
MemGPT가 제안한 접근은 OS의 페이징 시스템에서 영감을 받았다:
- Main Context (빠른 메모리) = Working Memory = 현재 컨텍스트 윈도우
- External Storage (느린 메모리) = Long-Term Memory = 벡터 DB, 파일 시스템
에이전트가 자신의 컨텍스트를 능동적으로 편집한다. 필요한 정보를 외부 저장소에서 "page in"하고, 불필요한 정보를 "page out"한다. 이 과정에서 interrupt 메커니즘이 사용자-에이전트 간 제어 흐름을 관리한다.
Grounding 관점에서 이것이 중요한 이유: 에이전트가 "내가 지금 무엇을 기억하고 있는지"를 메타인지적으로 파악하고, 부족한 grounding 축을 능동적으로 채울 수 있다.
3.3 Agentic Memory Organization (A-MEM 방식)
A-MEM이 제안한 Zettelkasten 기반 접근은 메모리를 상호 연결된 지식 네트워크로 조직한다:
- 새 메모리가 들어오면 → 구조화된 노트(텍스트 속성 + 임베딩 벡터)로 변환
- 기존 메모리들과 공유 속성 기반으로 자동 연결
- 연결 그래프를 통해 관련 메모리를 연쇄적으로 검색
이 방식의 장점은 고정된 검색 구조 없이도 다양한 태스크에 적응할 수 있다는 것이다. "그거"라는 모호한 참조도, 현재 컨텍스트와 연결된 메모리 체인을 따라가면 해소할 수 있다.
4. 메모리 레이어 × Grounding 축 매핑
각 메모리 레이어가 어떤 grounding 문제를 해결하는지 정리하면:
| Memory Layer | Grounding 축 | 해결하는 Misalignment | 동적 메커니즘 |
|---|---|---|---|
| Short-Term / Working | Task-Context | "지금 뭐 하는 중이야?" | 버퍼 관리, page in/out |
| Long-Term | User-Knowledge | "이 사용자는 누구야?" | 벡터 유사도 검색, 메타데이터 필터 |
| Episodic | User-Knowledge | "전에 뭘 했었지?" | 시간 기반 검색, 패턴 매칭 |
| Semantic | Agent-Knowledge | "이건 뭐고 어떤 관계야?" | Knowledge graph 쿼리, 개념 연결 |
| Procedural | Agent-Knowledge | "어떻게 하는 거야?" | 워크플로우 로딩, 스텝 매핑 |
핵심 인사이트: 하나의 발화가 여러 grounding 축을 동시에 요구한다. "어제 했던 그 분석 계속해줘"는 User-Knowledge(어제 = episodic), Agent-Knowledge(분석 = procedural), Task-Context(계속 = working memory) 세 축을 모두 필요로 한다.
5. 왜 "동적"이어야 하는가
정적 메모리 시스템의 한계는 명확하다:
문제 1: 메모리 선택의 모호성 모든 레이어를 매번 전부 검색하면 노이즈가 증가한다. "날씨 알려줘"에 episodic memory까지 뒤질 필요가 없다. → 해결: Retrieval gating이 발화의 언어적 단서(시간 표현, 엔티티 참조, 실행 동사)를 분석해 활성화할 레이어를 선택한다.
문제 2: 컨텍스트 윈도우 한계 모든 관련 정보를 컨텍스트에 넣으면 토큰이 폭발한다. → 해결: Virtual context management가 계층적으로 메모리를 관리하고, context compression이 핵심 정보만 압축해서 유지한다.
문제 3: 세션 간 일관성 세션이 바뀌면 사용자가 누구였는지 잊는다. → 해결: Long-term memory + episodic memory가 세션을 넘어 사용자 프로필과 상호작용 이력을 persistence layer에 유지한다.
문제 4: 지식의 진화 에이전트가 새로운 사실을 학습해도 기존 지식과 충돌할 수 있다. → 해결: Self-evolving memory(MemRL, MemEvolve)와 memory consolidation 메커니즘이 새 지식을 기존 그래프에 통합하면서 일관성을 유지한다.
6. 실무 시사점: 에이전트 설계 체크리스트
에이전트의 메모리 시스템을 설계할 때, 다음 질문으로 자기 진단이 가능하다:
- 사용자가 "그거"라고 했을 때 해석할 수 있는가? → Episodic Memory 필요
- 세션이 바뀌어도 사용자를 기억하는가? → Long-Term Memory 필요
- "어떻게 하는지"를 질문 없이 실행할 수 있는가? → Procedural Memory 필요
- 도메인 사실을 정확하게 참조하는가? → Semantic Memory 필요
- 현재 작업 상태를 잃어버리지 않는가? → Working Memory 필요
- 어떤 메모리를 꺼낼지 자동으로 판단하는가? → Retrieval Gating 필요
- 컨텍스트가 넘치지 않는가? → Virtual Context Management 필요
References
- Hu, Y. et al. (2025). Memory in the Age of AI Agents: A Survey
- Xu, W. et al. (2025). A-MEM: Agentic Memory for LLM Agents | GitHub
- Pink, M. et al. (2025). Position: Episodic Memory is the Missing Piece for Long-Term LLM Agents
- Packer, C. et al. (2023). MemGPT: Towards LLMs as Operating Systems | Project
- Tiwari, S. & Fofadiya, P. (2026). Multi-Layered Memory Architectures for LLM Agents
- Du, P. (2026). Memory for Autonomous LLM Agents: Mechanisms, Evaluation, and Emerging Frontiers