Memento는 과거 경험을 기억하고 활용해 스스로 성능을 개선하는 AI 에이전트 프레임워크로, 비싼 파인튜닝 없이도 지속적 학습이 가능합니다.
AI 에이전트의 학습 딜레마
현재 AI 에이전트들은 두 가지 방식 중 하나를 택해야 했습니다. 첫 번째는 고정된 워크플로우로 만든 정적 시스템. 특정 작업은 잘하지만 새로운 상황에 적응하지 못합니다. 두 번째는 파인튜닝을 통한 학습. 유연하지만 엄청난 비용과 시간이 듭니다.
하지만 Memento는 제3의 길을 제시합니다. 바로 메모리를 통한 학습입니다.

Memento란 무엇인가
Memento는 인간의 학습 방식을 모방한 AI 에이전트 프레임워크입니다. 인간이 새로운 상황에서 과거 경험을 떠올려 문제를 해결하듯, AI 에이전트도 과거 성공과 실패 사례를 저장해두고 비슷한 상황에서 활용합니다.
핵심은 Case Bank라는 외부 메모리입니다. 에이전트가 수행한 모든 작업의 결과를 (상황, 행동, 결과) 형태로 저장합니다. 새로운 문제가 생기면 비슷한 과거 사례를 찾아 참고해 더 나은 결정을 내립니다.
핵심 개념: Memory-augmented MDP
MDP(Markov Decision Process)는 AI가 상황을 파악하고 행동을 결정하는 기본 프레임워크입니다. 기존 MDP에 메모리 공간을 추가한 것이 Memory-augmented MDP(M-MDP)입니다.
전통적 MDP: 현재 상태만 고려해 행동 결정
M-MDP: 현재 상태 + 과거 경험을 모두 고려해 행동 결정
이를 통해 에이전트는 매번 백지상태에서 시작하지 않고, 축적된 경험을 바탕으로 점진적으로 개선됩니다.
핵심 구조 이해하기
1. Case-Based Reasoning (CBR) 사이클
Memento는 CBR의 4단계 사이클을 따릅니다:
Retrieve (검색): 현재 상황과 비슷한 과거 사례 찾기
Reuse (재사용): 찾은 사례를 현재 문제에 적용
Revise (수정): 실제 실행하면서 필요시 수정
Retain (저장): 결과를 새로운 경험으로 저장
2. 플래너-실행자 아키텍처

플래너(Planner): GPT-4.1 기반으로 복잡한 작업을 작은 단위로 분해하고 계획 수립
실행자(Executor): o3 또는 o4-mini로 실제 도구를 사용해 작업 수행
Case Memory: 과거 경험을 저장하고 검색하는 메모리 모듈
3. 메모리 종류
비모수적 메모리(Non-parametric): 단순히 유사도로 과거 사례 검색
모수적 메모리(Parametric): Q-function 학습으로 더 전략적인 사례 선택
Memento 설치 및 설정
필수 요구사항
- Python 3.11+
- OpenAI API 키
- SearxNG (웹 검색용)
- FFmpeg (비디오 처리용)
설치 방법
최신 패키지 관리자 uv 사용을 권장합니다:
# 저장소 복제
git clone https://github.com/Agent-on-the-Fly/Memento
cd Memento
# uv 설치 (필요시)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 종속성 설치 및 가상환경 생성
uv sync
# 가상환경 활성화
source .venv/bin/activate # Windows: .venv\Scripts\activate
환경변수 설정
.env
파일을 생성하고 필요한 API 키들을 설정합니다:
# OpenAI API
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_BASE_URL=https://api.openai.com/v1
# 기타 서비스 API (선택사항)
CHUNKR_API_KEY=your_chunkr_api_key_here
JINA_API_KEY=your_jina_api_key_here
ASSEMBLYAI_API_KEY=your_assemblyai_api_key_here
SearxNG 설정
웹 검색 기능을 위해 SearxNG를 Docker로 설정합니다:
cd ./Memento/searxng-docker
docker compose up -d
시스템 종속성 설치
FFmpeg는 비디오 처리를 위해 필수입니다:
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install ffmpeg
# Windows (Conda 권장)
conda install -c conda-forge ffmpeg
웹 크롤링 도구들도 설정해야 합니다:
# crawl4ai 설정
crawl4ai-setup
crawl4ai-doctor
# playwright 브라우저 설치
playwright install
실제 사용 방법
기본 사용법
대화형 모드로 시작하는 것이 가장 쉽습니다:
from client.agent import HierarchicalAgent
# 에이전트 초기화
agent = HierarchicalAgent()
# 질문하기
response = agent.run("최근 AI 분야의 주요 발전상은 무엇인가요?")
print(response)
Case Memory 활용하기
Memento의 핵심인 Case Bank 사용법:
# 비모수적 메모리 사용 (기본)
agent = HierarchicalAgent(memory_type="non_parametric")
# 모수적 메모리 사용 (고급)
agent = HierarchicalAgent(memory_type="parametric")
# 검색할 과거 사례 수 설정 (K=4 권장)
agent = HierarchicalAgent(retrieval_k=4)
MCP 도구 생태계 활용
Memento는 다양한 도구들을 MCP(Model Context Protocol) 인터페이스로 통합합니다:
웹 연구: 실시간 검색과 웹 크롤링
문서 처리: PDF, Office 파일, 이미지, 오디오, 비디오 분석
코드 실행: 안전한 Python 샌드박스 환경
수학 계산: 복잡한 수식 처리
# 특정 도구만 사용하고 싶다면
agent = HierarchicalAgent(
enabled_tools=["search", "code_execution", "document_processing"]
)
성능: 벤치마크 1위의 비밀
Memento의 혁신성은 실제 성과로 증명됩니다.
GAIA 벤치마크: 장기간 도구 사용이 필요한 복잡한 작업에서 87.88% 정확도로 1위 달성
SimpleQA: 사실 확인 질문에서 95.0% 정확도로 기존 웹 에이전트들 압도
DeepResearcher: 실시간 웹 연구에서 66.6% F1 스코어로 훈련 기반 시스템들 모두 능가
가장 인상적인 건 처음 보는 작업에서도 4.7~9.6% 성능 향상을 보인 점입니다. 이는 메모리 기반 학습이 단순 암기가 아닌 진짜 일반화 능력을 갖고 있음을 의미합니다.
Memento가 빛나는 활용 시나리오
1. 반복 작업의 점진적 개선
문제 상황: 매주 시장 분석 보고서를 작성해야 하는 애널리스트
# 매주 반복되는 시장 분석 작업
query = "이번 주 AI 시장 동향을 분석해서 보고서 형태로 정리해줘"
response = agent.run(query)
기존 AI: 매번 똑같은 방식으로 검색하고 분석. 같은 실수 반복
Memento:
- 1주차: 기본적인 키워드 검색으로 시작
- 2주차: 지난주 놓친 데이터 소스를 기억해서 추가 검색
- 3주차: 효과적이었던 분석 패턴을 재활용
- 4주차: 실패했던 접근법은 피하고, 성공 사례는 더 정교화
결과: 시간이 갈수록 보고서 품질이 자동으로 개선됩니다.
2. 복잡한 문제 해결의 학습 곡선
문제 상황: 고객 문의에 대한 기술 지원
# 반복되는 기술 지원 문의 처리
query = "API 연동이 안 된다는 고객 문의를 해결해줘. 에러 코드는 401이야"
response = agent.run(query)
Memento의 학습 과정:
- 처음: 기본적인 API 문서만 참조
- 두 번째: 이전에 효과적이었던 “네트워크 설정 확인” 단계 추가
- 세 번째: “인증키 형식 문제”가 자주 원인이었음을 기억해 우선 확인
- 네 번째: 특정 환경에서만 발생하는 패턴을 학습해 바로 해결책 제시
결과: 고객 만족도와 해결 속도가 비약적으로 향상됩니다.
3. 창의적 작업에서의 스타일 학습
문제 상황: 브랜드별 맞춤형 마케팅 콘텐츠 제작
# 브랜드별 맞춤 콘텐츠 제작
query = "A 브랜드를 위한 신제품 출시 SNS 콘텐츠를 제작해줘"
response = agent.run(query)
Memento의 학습 과정:
A 브랜드 콘텐츠 1개 → 성과 좋음 → 어떤 스타일이 효과적이었는지 기억
A 브랜드 콘텐츠 2개 → 실패 → 어떤 접근이 안 먹혔는지 학습
A 브랜드 콘텐츠 3개 → 성공 패턴 적용 → 더 정교한 브랜드 톤 습득
결과: 각 브랜드별로 최적화된 콘텐츠 스타일을 자동 학습합니다.
메모리 효과의 실제 예시
같은 질문을 Memento에게 3번 물어보면:
첫 번째: 기본적인 웹 검색 → 일반적인 답변
두 번째: “지난번에 이 키워드로 검색했을 때 좋은 결과가 있었지” → 더 구체적인 검색
세 번째: “이 패턴이 효과적이었어” → 훨씬 정교하고 맞춤화된 답변
이게 바로 경험을 통한 학습의 힘입니다.
기존 시스템과의 차이점
Memento가 기존 AI 시스템들과 어떻게 다른지 명확히 알아야 효과적으로 활용할 수 있습니다.
RAG vs Memento: 정적 지식 vs 동적 경험
많은 분들이 “메모리 기반”이라고 하면 RAG(Retrieval-Augmented Generation)를 떠올릴 텐데요, 둘은 근본적으로 다릅니다.
RAG는 정적인 문서에서 정보를 검색합니다. 미리 만들어진 데이터베이스에서 관련 정보를 찾아 답변에 활용하죠. 마치 도서관에서 책을 찾아보는 것과 같습니다. 하지만 도서관의 책들은 변하지 않습니다.
Memento는 동적인 경험에서 행동 패턴을 학습합니다. 자신이 직접 경험한 성공과 실패 사례를 저장하고, “이런 상황에서 이렇게 했더니 잘됐다/안됐다”는 경험적 지식을 쌓아갑니다.
RAG: "이 문서에 답이 있네요" (정보 제공)
Memento: "비슷한 상황에서 이 방법이 효과적이었어요" (경험 활용)
다른 에이전트들과의 비교
기존 정적 에이전트는 미리 정해진 규칙대로만 동작합니다. 같은 실수를 계속 반복하죠.
파인튜닝 기반 에이전트는 학습할 때마다 전체 모델을 다시 훈련해야 합니다. 시간과 비용이 엄청나게 듭니다.
Memento는 실행하면서 바로바로 학습합니다. 실패한 방법은 피하고, 성공한 방법은 더 자주 사용하게 됩니다. 마치 경험 많은 전문가가 점점 더 능숙해지는 것처럼요.
미래 전망
Memento는 단순한 기술적 개선을 넘어 AI 에이전트 개발의 패러다임을 바꿨습니다.
비용 효율성: 대규모 모델 파인튜닝 없이도 지속적 학습 가능
실용성: 실무 환경에서 바로 적용 가능한 완성도
확장성: 다양한 도메인으로 쉽게 확장 가능
앞으로 더 많은 AI 에이전트들이 이런 메모리 기반 학습 방식을 채택할 것으로 예상됩니다. 특히 비용에 민감한 기업 환경에서는 Memento 같은 접근법이 표준이 될 가능성이 높습니다.
Memento는 AI 에이전트가 인간처럼 경험을 통해 학습할 수 있는 길을 열었습니다. 이제 여러분도 직접 설치해서 메모리로 학습하는 AI 에이전트의 놀라운 능력을 경험해보세요.
참고자료
Comments