Agent Memory - 에이전트가 기억하는 7가지 방법

🏷️ 정보 LLM 에이전트 KMS

에이전트에게 "저번에 말했던 거 기억해?"라고 물으면 대부분 기억하지 못합니다. 그런데 에이전트 기억 문제를 해결한다고 할 때, 무엇을 해결하는 건지 정확히 아는 사람은 많지 않습니다.

기억에는 종류가 있습니다. 어제 나눈 대화를 기억하는 것과, "이 사용자는 파이썬을 선호한다"를 기억하는 것과, "이 작업은 이 순서로 해야 한다"를 기억하는 것은 전혀 다른 문제입니다. 각각 다른 구조가 필요하고, 다른 도구가 필요합니다.

이 글은 AAIF가 정리한 에이전트 메모리 7가지 유형을 기준으로, LLM Wiki가 어디에 해당하는지, mem0 같은 도구가 무엇을 해결하는지를 정리합니다.

왜 메모리를 유형별로 나눠야 하는가

"메모리를 추가한다"는 말은 구체적이지 않습니다. 어떤 메모리인지에 따라 아키텍처가 달라집니다.

예를 들어 "이 사용자가 지난주에 한 말을 기억해"는 에피소딕 메모리 문제입니다. 벡터 DB에 대화를 저장하고 검색하면 됩니다. 반면 "이 사용자가 파이썬을 선호한다는 사실을 기억해"는 의미형 메모리 문제입니다. 대화 내용이 아니라 추출된 사실을 저장해야 합니다. 구조가 다릅니다.

유형을 구분하면 문제도 명확해집니다.

7가지 메모리 유형

대화형(Conversational)

가장 익숙한 형태입니다. 사용자와 어시스턴트가 나눈 메시지를 순서대로 저장합니다. ChatGPT의 대화 히스토리가 이것입니다.

한계는 명확합니다. 컨텍스트 창이 가득 차면 오래된 것부터 밀립니다. 세션이 끊기면 사라집니다. 단기 기억입니다.

의미형(Semantic)

대화를 넘어 "지속되는 사실"을 저장합니다. "이 사용자는 React를 선호한다", "이 프로젝트의 코드 스타일은 함수형이다" 같은 것들입니다. 개별 대화에서 추출해서 별도로 저장합니다.

LLM Wiki가 여기에 해당합니다. 마크다운 파일에 도메인 지식을 정리해두면, 에이전트가 대화마다 새로 학습하지 않아도 됩니다.

에피소딕(Episodic)

"언제, 무슨 일이 있었는가"를 기록합니다. 사건, 시간, 행동, 결과의 순서입니다. log.md에 타임스탬프와 함께 기록하는 방식이 이것입니다.

"그때 왜 그 결정을 내렸지?"를 나중에 추적할 수 있게 해줍니다. 단순 사실 저장과 다르게, 맥락과 시간 정보가 포함됩니다.

절차형(Procedural)

"이 작업은 이 순서로 한다"를 인코딩합니다. 워크플로우, 규칙, 단계별 프로세스입니다. AGENTS.mdCLAUDE.md가 이 역할을 합니다.

에이전트가 반복 작업을 할 때 매번 처음부터 추론하지 않아도 되게 해줍니다. 절차가 명시되어 있으면 실수도 줄어듭니다.

엔티티(Entity)

특정 대상에 대한 사실을 모읍니다. 사람, 계정, 프로젝트, 시스템 각각에 대한 정보입니다. Dictionary 항목이 이것입니다.

"Andrej Karpathy는 전 Tesla AI 디렉터이고, vibe coding이라는 용어를 만들었다"처럼 특정 대상을 중심으로 관련 사실을 묶습니다.

작업형(Working)

현재 작업에서만 쓰이는 임시 정보입니다. "이 함수를 리팩토링하는 중에 발견한 것들"처럼 작업이 끝나면 버려도 되는 내용입니다.

스크래치패드입니다. 장기 저장 대상이 아닙니다.

요약형(Summary)

긴 대화나 문서를 압축한 버전입니다. 원본 대신 요약을 저장해두면 에이전트가 매번 전체를 다시 읽지 않아도 됩니다.

mem0의 2026 보고서에 따르면, 다중 신호 검색(의미론적 유사성 + 키워드 + 엔티티 매칭 병렬 실행)과 함께 쓸 때 시간적 추론 성능이 기준 대비 +29.6점 향상됩니다.

LLM Wiki는 어떤 메모리인가

LLM Wiki는 주로 의미형, 엔티티형, 절차형 메모리를 담습니다.

my-wiki/
  domain-facts.md     ← 의미형: 도메인 지식, 지속되는 사실
  team-people.md      ← 엔티티형: 팀원, 프로젝트, 시스템 정보
  team-norms.md       ← 절차형: 코딩 규칙, 배포 절차
  log.md              ← 에피소딕: 타임스탬프 기록 (선택)

대화형과 작업형은 위키에 넣지 않습니다. 세션이 끝나면 버려지는 정보이기 때문입니다. 요약형은 긴 원본 문서가 있을 때 추가로 씁니다.

mem0 같은 도구가 해결하는 것

LLM Wiki가 사람이 직접 쓰는 외부 기억이라면, mem0는 에이전트가 대화하면서 자동으로 기억을 추출하고 저장하는 시스템입니다.

2026년 기준 mem0의 주요 수치입니다.

벤치마크

점수

LoCoMo

92.5

LongMemEval

94.4

BEAM (1M 토큰)

64.1

LangChain, CrewAI, AutoGen 등 21개 프레임워크와 통합되고, 관리형 클라우드 기준 설정 시간은 2분입니다.

그러나 한계도 있습니다. 1M 토큰에서 10M 토큰으로 확장하면 약 25%의 성능 저하가 있습니다. 사용자 상황이 바뀌었을 때 과거의 정확한 정보가 오류로 바뀌는 메모리 노후화 문제도 아직 풀리지 않았습니다.

설계 시 체크리스트

에이전트에 메모리를 추가할 때, 먼저 어떤 유형의 기억이 필요한지를 묻는 것이 출발점입니다.

유형을 모르고 "메모리를 붙이면 된다"고 접근하면, 어떤 문제는 해결되고 어떤 문제는 그대로입니다. 목적이 먼저입니다.


참고: AAIF — Karpathy's LLM Wiki as Agent Memory / mem0 — State of AI Agent Memory 2026