Agentic Memory System이란 무엇인가
에이전트가 “기억”을 다루는 방식이 성능을 결정하는 이유
언어모델 기반 에이전트가 단순 질의응답을 넘어, 여러 단계의 작업을 수행하고 장기적인 상호작용을 처리하기 시작하면서 한 가지 문제가 점점 더 중요해지고 있다. 바로 메모리(memory) 다.
초기의 에이전트 시스템은 현재 입력과 짧은 대화 히스토리만으로도 꽤 그럴듯하게 동작했다. 하지만 실제 환경에서는 금방 한계가 드러난다. 사용자의 선호를 기억해야 하고, 과거에 수행한 행동을 참고해야 하며, 중간 추론 결과나 외부 도구 호출 결과도 필요할 때 다시 꺼내와야 한다. 즉, 에이전트는 더 이상 “순간적으로 반응하는 모델”만으로는 충분하지 않다. 점점 더 기억을 저장하고, 정리하고, 다시 활용하는 시스템이 되어야 한다.
이 맥락에서 등장한 개념이 바로 agentic memory system이다.
왜 에이전트에게 메모리가 필요한가
사람이 어떤 일을 잘 처리하는 이유 중 하나는, 단순히 현재 눈앞의 정보만 보는 것이 아니라 과거 경험과 맥락을 적절히 연결하기 때문이다. 에이전트도 비슷하다. 예를 들어 다음과 같은 상황을 생각해볼 수 있다.
- 사용자가 며칠 전에 말한 선호를 기억해야 하는 경우
- 긴 문서나 장기 프로젝트에서 중간 결론을 재활용해야 하는 경우
- 이전에 실패했던 접근을 피하고 더 나은 행동을 선택해야 하는 경우
- 멀티스텝 태스크에서 과거 observation과 action history를 참고해야 하는 경우
이런 문제에서 메모리가 없으면 에이전트는 매번 처음부터 시작하는 것과 다를 바 없다. 반대로 메모리가 잘 설계되면, 에이전트는 더 일관되고, 더 개인화되고, 더 효율적으로 행동할 수 있다.
단순 저장소로는 충분하지 않다
많은 시스템이 처음에는 메모리를 일종의 “로그 저장소”처럼 다룬다. 대화 내용, 툴 결과, 중요한 문장을 모두 벡터DB나 긴 히스토리에 넣고 필요할 때 검색하는 방식이다. 얼핏 보면 합리적이다. 저장하고, 검색해서, 다시 넣으면 된다.
하지만 실제로는 여기서 문제가 생긴다.
첫째, 기억이 많아질수록 관련 없는 정보도 같이 끌려오기 쉽다.
둘째, 작은 모델일수록 irrelevant context에 더 취약하다.
셋째, 무작정 많이 넣는다고 더 똑똑해지지 않는다. 오히려 헷갈린다.
즉, 메모리 시스템의 핵심은 “얼마나 많이 저장하느냐”가 아니라, 어떻게 구조화하고, 어떻게 찾고, 어떻게 사용할 것이냐에 있다.
Agentic Memory System의 핵심 구성 요소
좋은 agentic memory system은 보통 네 가지 질문에 답해야 한다.
1. 무엇을 기억할 것인가
모든 정보를 다 저장하는 것은 비효율적이다.
에이전트는 보통 아래와 같은 정보를 선별적으로 저장한다.
- 사용자 선호나 프로필
- 과거의 중요한 행동과 결과
- 장기 태스크의 중간 상태
- 외부 문서나 검색 결과에서 얻은 핵심 facts
- 실패 사례와 예외 상황
즉, 기억은 단순 복사가 아니라 압축과 추상화를 포함해야 한다.
2. 어떻게 정리할 것인가
기억이 쌓이면 구조가 필요하다.
아무 분류 없이 하나의 거대한 메모리 풀에 넣어두면, 검색 단계에서 노이즈가 커진다. 그래서 실제로는 다음과 같은 조직화 전략이 중요하다.
- 시간순 정리
- 사용자/프로젝트/태스크 단위 분리
- 토픽 기반 클러스터링
- 요약된 상위 메타정보와 세부 기록의 분리
- 중요도 기반 계층화
좋은 메모리 시스템은 “저장”보다 “정리”에서 성능 차이가 난다.
3. 어떻게 꺼내올 것인가
retrieval은 메모리 시스템의 심장이다.
관련 없는 기억을 많이 가져오면 컨텍스트 창만 낭비하는 것이 아니라, 모델의 판단 자체를 흐릴 수 있다. 특히 작은 모델에서는 이런 간섭이 더 치명적이다.
그래서 점점 더 많은 시스템이 단순 top-k retrieval 대신,
- 먼저 관련 메모리 영역을 좁히고
- 그 다음 세부 evidence를 찾는
multi-stage retrieval 구조를 선호한다.
4. 어떻게 행동과 연결할 것인가
기억은 저장소에만 있으면 아무 의미가 없다.
실제 agentic system에서는 메모리가 다음 행동 결정과 연결되어야 한다.
- 어떤 툴을 호출할지
- 어떤 전략을 택할지
- 이전의 실패를 피할지
- 사용자에게 어떤 톤과 방식으로 응답할지
즉, 메모리는 단순 참고자료가 아니라 에이전트의 정책(policy) 일부가 되어야 한다.
“Agentic”하다는 것은 무엇인가
여기서 중요한 포인트가 있다. 메모리 시스템이 그냥 수동적 저장소라면, 그것은 agentic memory라기보다 memory-augmented system에 가깝다. 반면 agentic memory system은 에이전트가 스스로 메모리를 다루는 주체가 된다는 점에서 다르다.
예를 들면,
- 새 정보가 들어왔을 때 이걸 저장할지 판단하고
- 어디에 넣을지 결정하고
- 어떤 기억을 업데이트할지 고르고
- 검색 시 어떤 메모리 집합을 먼저 볼지 선택하는
이런 과정이 점점 더 “에이전트적”이 된다.
즉, 메모리는 단순 부가 기능이 아니라, 에이전트가 세계를 관리하는 내부 운영체제에 가까워진다.
현재 메모리 시스템이 부딪히는 한계
물론 아직 완벽한 해법은 없다. 현재 agentic memory system이 자주 겪는 문제는 꽤 분명하다.
가장 대표적인 문제는 memory pollution이다. 중요하지 않은 정보가 계속 쌓여서 정말 필요한 기억을 가리는 현상이다. 여기에 잘못된 요약이나 부정확한 추상화가 더해지면, 에이전트는 자신이 가진 기억을 오히려 신뢰할 수 없게 된다.
또 다른 문제는 retrieval granularity다. 너무 잘게 쪼개면 전체 맥락을 잃고, 너무 크게 묶으면 잡음이 늘어난다. 이 균형을 맞추는 건 여전히 어려운 과제다.
그리고 작은 모델에서는 특히 관련 없는 컨텍스트에 대한 취약성이 크다. 대형 모델은 어느 정도 잡음을 견디지만, 소형 모델은 잘못 불러온 기억 몇 개만으로도 성능이 크게 흔들릴 수 있다. 그래서 SLM 중심 agent system에서는 “얼마나 똑똑한 모델을 쓰느냐”만큼이나 “얼마나 메모리를 잘 정리하느냐”가 중요해진다.
앞으로의 방향: 더 많은 기억이 아니라 더 나은 기억
앞으로의 에이전트 경쟁력은 단순히 더 큰 컨텍스트 윈도우나 더 많은 저장량에서 나오지 않을 가능성이 크다. 진짜 차이는 다음에서 날 것이다.
- 어떤 정보를 장기 기억으로 승격시키는가
- 기억을 어떻게 구조화하는가
- retrieval noise를 얼마나 줄이는가
- 행동과 기억을 얼마나 촘촘히 연결하는가
결국 중요한 건 “메모리가 있는가”가 아니라, 그 메모리가 에이전트의 추론을 실제로 돕는 방식으로 조직되어 있는가다.
이 지점에서 최근 나온 이 지점에서 최근 나온 CLAG: Adaptive Memory Organization via Agent-Driven Clustering for Small Language Model Agents(https://arxiv.org/html/2603.15421v1)라는 논문이 꽤 흥미롭다. 이 논문은 지금까지 많은 메모리 시스템이 사실상 하나의 거대한 global memory pool 위에서 동작해왔고, 그 결과 기억이 늘어날수록 retrieval noise와 cross-topic interference가 함께 커진다고 지적한다. 특히 SLM은 irrelevant context에 더 취약하기 때문에, “많이 저장하는 것”보다 “기억을 어떻게 나눠서 관리하느냐”가 훨씬 중요하다는 문제의식을 전면에 둔다. 라는 논문이 꽤 흥미롭다. 이 논문은 지금까지 많은 메모리 시스템이 사실상 하나의 거대한 global memory pool 위에서 동작해왔고, 그 결과 기억이 늘어날수록 retrieval noise와 cross-topic interference가 함께 커진다고 지적한다. 특히 SLM은 irrelevant context에 더 취약하기 때문에, “많이 저장하는 것”보다 “기억을 어떻게 나눠서 관리하느냐”가 훨씬 중요하다는 문제의식을 전면에 둔다.
CLAG의 핵심 아이디어는 메모리를 그냥 쌓아두지 않고, 에이전트가 직접 의미적으로 일관된 클러스터로 조직하게 만드는 것이다. 새 메모리가 들어오면 SLM 기반 router가 어느 클러스터에 넣을지 판단하고, 각 클러스터는 요약과 태그를 가진 profile을 유지한다. 이후 메모리의 업데이트나 정제도 전체 저장소가 아니라 해당 클러스터 내부에서만 localized evolution 방식으로 일어난다. 그리고 retrieval 단계에서도 곧바로 전체 검색을 하지 않고, 먼저 관련 클러스터를 고른 뒤 그 안에서 세부 메모리를 찾는 2-stage retrieval을 사용한다. 결국 이 논문이 말하는 agentic memory system은 “기억을 저장하는 시스템”이 아니라, 기억의 구조를 스스로 운영하는 시스템에 더 가깝다.