5 min read

기억은 저장이 아니라 적응이다

에이전트 메모리가 RAG 저장소에서 정책 적응의 기반으로 옮겨간 이유

올해 메모리가 다시 화두로 떠오른 배경에는 에이전트의 작동 양식 변화가 있다. 단일 질의응답에서 장기 실행 폐루프 시스템으로 옮겨가면서 컨텍스트 윈도우만으로는 감당이 안 되는 상황이 많아졌다. 여러 세션을 넘나들며 작업하고, 실패를 줄여나가고, 사용자와 프로젝트의 상태를 유지하려면 윈도우는 금세 차버린다. 최근 에이전트 메모리 서베이도 단일 컨텍스트 윈도우가 "what has happened, what was learned, and what should not be repeated"를 담기에 너무 작아졌다고 지적하며, 메모리를 무상태 텍스트 생성기를 적응형 에이전트로 바꾸는 핵심 능력으로 규정한다. 그래서 메모리는 RAG 저장소의 역할을 넘어, 에이전트가 부분관측 환경에서 자신의 믿음 상태와 행동 이력을 유지하는 상태 관리 층위의 위치를 차지하게 됐다.

초기에는 semantic memory가 가장 자연스러운 해법처럼 보였다. 벡터DB에 사실, 문서, 사용자 선호, 코드 조각을 넣고 검색하면 장기 기억 문제가 어느 정도 해결되는 듯 보였기 때문이다. 그러나 장기 실행 에이전트에서는 "무엇을 아는가"만큼이나 "무슨 일이 있었는가", "무엇을 하다가 실패했는가", "다음에는 어떤 절차를 따라야 하는가"가 중요해진다. semantic memory만으로는 이런 질문들을 처리할 수 없고, working memory, episodic memory, procedural memory의 구분이 다시 전면에 등장한다. 2026년의 여러 메모리 아키텍처 논의가 episodic, semantic, procedural memory를 분리하는 이유도 각 기억 유형이 서로 다른 저장 방식, 쓰기 규칙, 검색 규칙, 검증 규칙을 요구하기 때문이다.

Working memory는 현재 작업의 활성 상태를 유지하는 층위다. 최근 대화 몇 턴을 넣는 단순 버퍼와는 다르다. 지금 무엇을 하고 있는지, 어떤 파일을 봤는지, 어떤 테스트가 실패했는지, 어떤 가설이 유효한지를 제한된 컨텍스트 안에 압축하는 구조다. 코드 에이전트에서 working memory가 보존하는 것은 현재 repair trajectory, runtime state, tool output, failed test record 같은 항목들이다. Code as Agent Harness 논문이 메모리를 다루는 방식도 단순 컨텍스트 확장이 아니다. 어떤 정보가 active context에 남고, 어떤 정보가 compacted summary로 내려가며, 어떤 정보가 durable storage로 offload되는지를 결정하는 state-management layer로 다룬다.

Episodic memory가 부상하는 이유는 에이전트의 실패와 성공이 대부분 사건의 형태로 쌓이기 때문이다. "사용자는 PostgreSQL을 선호한다"는 semantic fact다. "지난 배포에서 migration을 건너뛰어 장애가 났고 Redis cache 추가로 해결했다"는 episode다. 장기 작업에서는 후자가 훨씬 더 중요할 때가 많다. 에피소드는 시간, 맥락, 행동, 결과, 실패 원인을 함께 보존하므로 에이전트가 반복 실수를 줄이고 유사 상황에서 더 나은 절차를 선택하게 만든다. 과학 에이전트 메모리 연구에서도 장기 과학 워크플로우는 dense technical content로 컨텍스트가 빠르게 포화되며, immediate episodic needs와 long-term consolidated knowledge를 분리해야 안정적인 장기 추론이 가능하다고 보고한다.

Procedural memory가 중요해진 이유는 경험이 지식보다 스킬로 누적되기 시작했기 때문이다. 에이전트가 같은 유형의 문제를 반복해서 해결한다면, 매번 semantic retrieval로 관련 문서를 찾아 읽는 것보다 성공한 절차를 callable skill, workflow, script, prompt routine, debugging protocol로 저장하는 편이 훨씬 효율적이다. Voyager는 Minecraft 환경에서 자동 커리큘럼과 실행 가능한 코드 스킬 라이브러리를 결합해 경험을 재사용 가능한 행동 단위로 축적하는 대표적 사례로 자주 언급된다. Procedural memory가 저장하는 것은 "무엇을 아는가"가 아닌 "어떻게 하는가"이고, 넓은 의미의 파라미터 가운데 코드와 가장 가까운 층위에 놓인다.

메모리 레이어가 급증한 더 깊은 이유는 자기개선이 메모리 없이는 작동하지 않는다는 점에 있다. 자기개선은 현재 실패를 보고 다음 출력만 고치는 일이 아니다. 같은 실패가 다시 발생하지 않도록 프롬프트, 코드, 절차, 검증 루프, 스킬을 바꾸는 과정이다. 그러려면 에이전트는 어떤 실패가 반복됐는지, 어떤 수정이 효과가 있었는지, 어떤 절차가 비용을 줄였는지, 어떤 검증기가 약했는지를 기억해야 한다. Anthropic의 Managed Agents 관련 보도에서도 "dreaming"은 과거 세션과 memory store를 검토해 중요한 패턴을 저장하는 주기적 과정으로 설명된다. 세션 사이에서 메모리를 정리하고 미래 작업 방식에 반영하려는 시도다.

계층적 정책공간 관점에서 보면 더 분명해진다. 파라미터, 프롬프트, 코드가 넓은 의미의 파라미터라면, 메모리는 그 파라미터들이 어떤 피드백에 따라 어떻게 조정돼야 하는지를 매개하는 상태공간이다. Semantic memory는 사실과 개념을 제공하고, episodic memory는 과거 상태 전이와 결과를 제공하며, procedural memory는 반복 가능한 정책 조각을 제공하고, working memory는 지금 이 순간 어떤 조각을 활성화할지 결정한다. 따라서 메모리의 분화는 기능 확장의 문제가 아니다. 에이전트가 어느 매니폴드에서 이동해야 하는지를 판단하기 위해 필요한 상태 표현의 분화다.

제어의 관점에서도 메모리 레이어의 분화는 필연적이다. 제어는 현재 상태를 추정하고, 오차를 계산하고, 다음 입력을 선택해야 한다. 장기 에이전트에서는 현재 상태가 단일 컨텍스트 안에 모여 있지 않다. 일부는 방금 실행한 로그에 있고, 일부는 과거 episode에 있고, 일부는 일반화된 지식으로 consolidation되어 있고, 일부는 절차적 스킬로 저장되어 있다. 메모리 레이어는 이 흩어진 상태를 제어 가능한 형태로 분해한다. Working memory는 빠른 제어 루프, episodic memory는 사건 기반 진단 루프, semantic memory는 지식 검색 루프, procedural memory는 재사용 가능한 행동 루프에 각각 대응한다.

올해 메모리에 대한 관심이 급증한 이유를 "기억해야 할 것이 늘어서"로 요약하면 절반만 맞다. 더 정확한 진단은 적응해야 할 것이 늘었다는 것이다. 단기 응답 품질을 끌어올리는 단계에서는 semantic retrieval만으로도 충분해 보였다. 그러나 장기 작업, 자기개선, 스킬 축적, 멀티에이전트 협업, 사용자별 지속성, 실패 회피가 운영 요구사항으로 들어오면서 기억의 기능이 바뀌었다. 지식 저장소에서 정책 적응의 기반으로. 그래서 메모리는 RAG의 하위 구성요소가 아니라, 파라미터·프롬프트·코드가 결합된 정책공간을 시간 속에서 안정적으로 움직이게 만드는 상태 층위다.


참고문헌

"Memory for Autonomous LLM Agents: Mechanisms, Evaluation, and Emerging Frontiers." arXiv 2603.07670.

"Agent Memory Patterns: Episodic, Semantic, and Procedural Stores in Production." CallSphere Blog, 2026.

"Episodic-Semantic Memory Architecture for Long-Horizon Scientific Agents." arXiv 2605.17625.

"Types of AI Agent Memory: Episodic, Semantic, Procedural and More." Atlan, 2026.

"Anthropic's Claude Can Now 'Dream,' Sort Of." Ars Technica, May 2026.

Ning, Xuying, et al. 2026. "Code as Agent Harness: Toward Executable, Verifiable, and Stateful Agent Systems." arXiv.

Wang, Guanzhi, et al. 2023. "Voyager: An Open-Ended Embodied Agent with Large Language Models." arXiv 2305.16291.