본문으로 건너뛰기

© 2026 Molayo

GeekNews헤드라인2026. 06. 30. 09:22

Memora: 장기 작업을 위한 확장형 메모리 시스템

요약

Memora는 AI 에이전트의 장기 기억 관리를 위한 확장형 메모리 프레임워크입니다. 원문(Memory value)을 보존하면서 추상화(Primary abstraction)와 단서(Cue anchors)를 통해 검색 효율을 높이는 구조를 제안합니다.

핵심 포인트

  • 원문 보존과 검색 인덱스 분리로 정보 손실 최소화
  • 추상화 계층을 통한 메모리 병합 및 중복 제거 지원
  • RAG의 유연성과 그래프 구조의 구조적 장점 결합
  • 메모리 생명주기(추출, 갱신, 삭제) 자동화 지향

요약 개요

목적- AI 에이전트가 대화·문서에서 필요한 정보를 자동으로 추출하고 장기적으로 저장·검색할 수 있도록 지원하는 메모리 프레임워크

핵심 설계- 전체 원문인
Memory value

는 그대로 보존하고, 검색에는Primary abstraction

Cue anchors

를 사용

  • 전체 원문인

주요 차별점- 원문 전체를 직접 임베딩하는 일반적인 RAG보다 정보 손실과 검색 모호성을 줄이는 구조를 지향

주요 기능- 메모리 자동 추출, 중복 제거, 병합·갱신, 의미 기반 검색, 키워드 검색, LLM 기반 다단계 검색 지원

적용 대상- 장기 대화형 AI, 다중 에이전트 시스템, 개인화 서비스, 문서 기반 지식 관리

현재 상태- Python 기반 MIT 라이선스 공개 프로젝트이며, 벤치마크와 실험 기능을 포함하지만 초기 공개 단계에 가까움

서론

에이전트 메모리 관리의 복잡성 해결

기존 AI 에이전트 개발에서는 다음 문제를 개발자가 직접 처리해야 함

  • 어떤 정보를 메모리로 저장할 것인지 결정

  • 저장된 정보를 언제 갱신하거나 삭제할 것인지 판단

  • 사용자 질문과 관련된 기억을 검색

  • 중복되거나 충돌하는 기억을 관리

Memora는 이러한 메모리 생명주기를 프레임워크 내부에서 처리하는 것을 목표로 함

개발자는 저수준 저장·검색 로직보다 에이전트의 업무 기능과 응답 생성에 집중할 수 있음

기존 메모리 구조의 한계

일반적인 RAG 시스템

  • 문서나 대화 원문을 일정 크기로 분할

  • 각 조각을 임베딩하여 벡터 데이터베이스에 저장

  • 질문과 의미적으로 가까운 조각을 검색

이 방식은 구현이 간단하지만 다음 문제가 발생할 수 있음

  • 긴 문맥이 여러 조각으로 분리됨

  • 유사한 표현의 정보가 중복 저장됨

  • 단순한 의미 유사도가 실제 질문 의도와 일치하지 않을 수 있음

  • 압축된 요약만 저장하면 세부 정보가 손실될 수 있음

그래프형 지식베이스는 관계 표현에는 유리하지만 스키마와 관계 구조를 지속적으로 관리해야 하는 부담이 있음

본론

원문과 검색 구조를 분리

  • Memora의 각 메모리는 세 가지 요소로 구성됨

Memory value

  • 실제 저장되는 전체 정보
  • 원문과 세부 내용을 압축하지 않고 보존
  • 검색 인덱스에는 직접 포함하지 않음
  • 정보 손실 없이 원래 문맥을 유지하는 역할

Primary abstraction

  • 해당 메모리가 무엇에 관한 것인지를 나타내는 대표 요약
  • 하나의 메모리마다 하나씩 생성
  • 검색, 갱신, 병합, 중복 제거의 기준으로 활용
  • 메모리의 정체성을 나타내는 표준 단위로 사용

Cue anchors

  • 하나의 메모리에 접근할 수 있는 여러 의미적 단서
  • 인물, 대상, 사건, 핵심 속성 등을 조합하여 구성
  • 하나의 기억에 여러 단서를 연결할 수 있음
  • 여러 기억이 동일한 단서를 공유하는 다대다 구조를 형성

검색 대상의 선택적 인덱싱

Memora는 모든 원문을 직접 인덱싱하지 않음

실제 검색에는 다음 정보만 사용

  • Primary abstraction

  • Cue anchors

검색이 완료되면 연결된 원본 Memory value를 반환

이 구조의 목적

  • 검색 표현과 실제 저장 정보를 분리
  • 검색 인덱스를 간결하게 유지
  • 원문의 세부 정보를 그대로 보존
  • 원문 임베딩에서 발생할 수 있는 의미적 잡음을 감소

RAG와 그래프 구조의 중간 형태

일반 RAG보다 구조화된 검색 단서를 제공

그래프 데이터베이스처럼 모든 관계를 엄격한 스키마로 정의하지 않음

기억 위에 추상화 계층을 추가하여 유연성과 구조성을 동시에 확보하려는 방식

핵심 방향

  • 원문은 자유로운 형태로 저장
  • 검색과 연결에는 구조화된 표현 사용
  • 저장 구조와 검색 구조를 독립적으로 관리

메모리 생성부터 응답까지의 처리 흐름

1. 메모리 수집

에이전트가 대화 또는 문서를 처리

내용에서 다음 정보를 자동 추출

  • 사실 정보

  • 사건 및 경험

  • 절차와 작업 방법

긴 대화는 주제별 에피소드로 분할

핵심 정보를 구조화된 메모리 항목으로 변환

2. 지능형 저장

ChromaDB 벡터 데이터베이스를 기본 저장소로 사용

의미 임베딩을 이용하여 메모리를 저장

새 정보가 입력되면 기존 메모리와 비교

유사하거나 중복되는 정보에 대해 다음 작업 수행

  • 중복 제거

  • 기존 기억과 병합

  • 오래된 정보 갱신

선택적으로 Cue index를 생성하여 구조화된 검색을 지원

3. 적응형 검색

  • 질문 유형과 설정에 따라 여러 검색 전략을 제공
Semantic 검색
  • 질문과 메모리 표현 사이의 벡터 유사도를 계산
  • 구현이 단순하고 일반적인 질문에 적용 가능
  • 표현이 다르더라도 의미가 유사한 정보를 찾을 수 있음
Prompted 검색
  • LLM이 검색 과정을 단계적으로 수행
  • 최초 검색 결과를 바탕으로 검색어와 검색 범위를 반복 조정
  • 복합 질문이나 여러 기억을 결합해야 하는 질문에 적합
  • LLM 호출이 추가되므로 비용과 응답 시간이 증가할 수 있음
Hybrid 검색
  • 벡터 기반 의미 검색과 BM25·키워드 검색을 결합
  • 의미적 유사성과 정확한 단어 일치를 함께 활용
  • 고유명사, 제품명, 코드, 날짜 등의 검색 누락을 줄이는 데 유리
GRPO 검색
  • 강화학습으로 훈련된 검색 정책을 사용
  • 질문에 필요한 메모리를 선택하는 방법 자체를 학습
  • LLM 기반 반복 검색을 로컬 미세조정 모델로 대체하는 것을 목표로 함
  • 현재 실험적 기능으로 분류됨

4. 답변 생성

  • 검색된 메모리를 정해진 형식으로 구성
  • 해당 내용을 LLM 프롬프트에 삽입
  • LLM은 질문과 검색된 기억을 함께 사용하여 응답 생성
  • 답변이 저장된 메모리에 근거하도록 유도

메모리 품질을 유지하는 관리 기능

메모리를 계속 추가하기만 하는 평면형 저장소와 달리 기존 메모리의 상태를 관리

주요 관리 기능

  • 중복 기억 제거

  • 유사 기억 병합

  • 변경된 사실 갱신

  • 메모리 구조 재정리

Primary abstraction을 메모리 갱신과 통합의 기준으로 사용

시간이 지나면서 메모리가 무제한으로 중복 축적되는 문제를 줄이는 것을 목표로 함

다양한 메모리 유형 지원

  • 메모리 값과 추상화 방식을 다르게 구성하여 여러 유형의 기억을 표현할 수 있음

사실적 기억

  • 인물, 장소, 속성, 설정 등 비교적 안정적인 정보
  • 예: 특정 사용자의 근무지, 선호 도구, 프로젝트 기술 스택

일화적 기억

  • 특정 시점에 발생한 사건이나 대화
  • 예: 과거 회의에서 결정된 내용, 특정 오류를 해결한 과정

절차적 기억

  • 작업 방법이나 반복 가능한 절차
  • 예: 서버 배포 절차, 오류 점검 순서, 문서 생성 규칙

다중 에이전트의 기억 공유와 격리

같은 환경에서 동작하는 여러 에이전트가 공통 메모리 공간을 사용할 수 있음

한 에이전트가 저장한 정보를 다른 에이전트가 재사용할 수 있음

에이전트 또는 역할별로 메모리 범위를 제한할 수도 있음

기대 효과

  • 에이전트 간 지식 중복 감소

  • 작업 인수인계 개선

  • 공통 프로젝트 정보의 일관성 유지

접근 제어와 격리 기능을 통해 선택적 공유와 개인정보 보호를 지원하는 구조

저장 인프라와 표현 구조의 분리

메모리 표현 방식이 특정 저장소에 강하게 종속되지 않도록 설계

프로젝트 구조에는 다음 데이터베이스 연결 기능이 포함됨

  • ChromaDB

  • Redis

로컬 또는 원격 저장 환경에 적용 가능

저장 백엔드를 변경하더라도 메모리의 추상화·단서 구조는 유지할 수 있음

기본 사용 방식

  • Python 3.10 이상 필요
  • GitHub 저장소를 복제한 뒤 패키지를 설치
    MemoraClient

를 생성하고 사용자 또는 에이전트 식별자를 지정add()

를 사용하여 대화나 문서를 메모리에 추가query()

를 사용하여 의미 기반 검색 수행advance_query()

를 사용하여 Prompted 또는 GRPO 방식의 고급 검색 수행

에이전트 연동 구조

사용자 메시지를 받으면 관련 메모리를 먼저 검색

검색 결과와 사용자 질문을 이용하여 답변 생성

생성된 답변과 사용자 메시지를 하나의 대화 기록으로 구성

해당 대화를 다시 Memora에 저장

반복 과정

  • 질문 수신
  • 관련 기억 검색
  • 응답 생성
  • 대화 저장
  • 이후 질문에서 재사용

장기 메모리 성능 평가

LoCoMo 벤치마크

장기간 이어지는 대화에서 기억 검색 능력을 평가

주요 평가 유형

  • 단일 단계 질문

  • 여러 정보를 결합하는 다단계 질문

  • 시간 관계 질문

  • 개방형 질문

Semantic, Prompted, Cue index 등의 조합을 실험할 수 있음

LongMemEval 벤치마크

  • 장기 메모리 시스템의 다양한 질문 처리 능력을 평가
  • 에피소드 메모리와 의미 검색 설정을 적용할 수 있음
  • 실제 장기 대화 환경에서 정보 유지와 검색 성능을 검증하는 용도

GRPO 기반 검색 정책 학습

검색 절차를 강화학습 정책으로 학습시키는 실험 기능

처리 단계

  • 현재 정책으로 검색 경로 생성

  • 검색 결과의 근거성·중복·비용 평가

  • 그룹 상대적 이점을 계산

  • GRPO 방식으로 검색 정책 학습

Qwen 3B 또는 7B 계열 모델과 LoRA 미세조정을 예시로 제시

학습에는 GPU가 필요

목표

  • 매 검색마다 외부 LLM을 호출하는 비용 감소

  • 특정 데이터와 업무에 최적화된 검색 전략 구축

제한점

  • 학습 데이터와 평가 기준이 필요
  • 모델 훈련과 운영 관리가 추가됨
  • 일반 사용자가 바로 적용하기에는 Semantic 검색보다 복잡함

주요 장점

  • 원문 세부 정보를 압축하지 않고 보존 가능
  • 검색용 표현과 실제 정보가 분리되어 메모리 구조가 명확함
  • 메모리 중복 제거와 갱신을 체계적으로 처리할 수 있음
  • 의미 검색, 키워드 검색, LLM 검색, 강화학습 검색을 선택할 수 있음
  • 사실적·일화적·절차적 기억을 하나의 프레임워크에서 관리 가능
  • 여러 에이전트가 동일한 기억을 공유할 수 있음
  • 기존 에이전트 시스템에 비교적 적은 변경으로 연동하는 것을 목표로 함
  • 로컬 및 원격 저장 구조를 모두 지원할 수 있음

구조적 한계와 주의점

  • Primary abstraction과 Cue anchors의 품질이 검색 성능에 직접 영향을 줌
  • 자동 생성된 추상화가 부정확하면 원문이 정확하더라도 검색에서 누락될 수 있음
  • 원문을 직접 인덱싱하지 않는 구조는 세부 문구나 희소 정보 검색에 불리할 가능성이 있음
  • 중복 제거와 병합 과정에서 서로 다른 사건이 하나의 기억으로 잘못 통합될 수 있음
  • Prompted 검색은 여러 번의 LLM 호출로 비용과 지연 시간이 증가할 수 있음
  • GRPO 방식은 GPU, 학습 데이터, 평가 체계가 필요하여 운영 복잡도가 높음
  • 다중 에이전트 공유 메모리는 접근 권한과 정보 격리를 명확히 설계해야 함
  • 개인정보나 민감한 대화를 저장할 경우 별도의 암호화·삭제·보존 정책이 필요함
  • 공개 저장소에는 릴리스가 없고 참여자와 이용 지표가 적어, 대규모 운영 안정성이 충분히 검증되었다고 보기 어려움

결론

구조화된 접근 계층을 추가한 장기 메모리 방식

Memora는 원문 전체를 단순히 벡터화하는 방식에서 벗어나 다음 구조를 제안함

  • 세부 내용은 Memory value에 보존

  • 대표 의미는 Primary abstraction으로 표현

  • 다양한 검색 경로는 Cue anchors로 구성

핵심 가치는 정보 보존과 검색 효율 사이의 균형에 있음

단순한 문서 검색보다 다음 환경에서 활용 가능성이 높음

  • 장기간 사용자와 상호작용하는 개인화 에이전트
  • 다수의 개발·업무 문서를 지속적으로 축적하는 시스템
  • 여러 역할의 에이전트가 지식을 공유하는 환경
  • 과거 결정과 작업 절차를 재사용해야 하는 프로젝트

도입 전 검증 필요

실제 적용 시에는 다음 요소를 우선 검증해야 함

  • 한국어 문서의 추상화와 Cue 생성 품질

  • 기존 RAG와 비교한 검색 정확도

  • 메모리 병합 과정의 오류율

  • 장기간 운영 시 데이터 증가량과 검색 속도

  • LLM 및 임베딩 API 비용

  • 개인정보 저장과 접근 제어 방식

초기 단계에서는 핵심 문서 일부를 대상으로 소규모 PoC를 수행하고, 일반 RAG 및 하이브리드 검색 방식과 성능을 비교하는 접근이 적절함

AI 자동 생성 콘텐츠

본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0