NirDiamant/Agent_Memory_Techniques
Agent memory for LLMs: 30 runnable Jupyter notebooks covering conversation buffers, vector stores, knowledge graphs, episodic and semantic memory, MemGPT, Mem0, Letta, Zep, Graphiti, LoCoMo benchmarks, and production patterns.
🧠 에이전트 메모리 기술 – 이 저장소 소개
기억력이 필요한 LLM 기반 에이전트를 구축하는 모든 분들을 위한 실습 학습 리소스입니다.
이 저장소에는 현대 LLM 에이전트에서 사용되는 가장 일반적인(그리고 일부 최첨단) 메모리 패턴을 보여주는 30개의 완전히 실행 가능한 Jupyter 노트북이 포함되어 있습니다. 간단한 대화 버퍼부터 Mem0, Letta, Zep, Graphiti와 같은 프로덕션급 프레임워크까지 다룹니다. 각 노트북은 독립적으로 실행 가능하며 Google Colab에서 열 수 있고, 해당 기술을 자신의 에이전트에 통합하는 데 필요한 정확한 코드를 보여줍니다.
"에이전트 메모리"가 중요한 이유
- LLM은 컨텍스트 윈도우가 제한적입니다. 메모리 전략이 없으면 에이전트는 몇 번의 대화 후 모든 것을 잊어버립니다.
- 실제 에이전트는 세션, 사용자, 심지어 다른 작업(예: 개인 비서, 고객 지원 봇, 자율 플래너) 전반에 걸쳐 지식을 유지해야 합니다.
- 이 저장소는 30가지 기술을 6개의 패밀리로 그룹화하여 문제에 맞는 도구를 빠르게 선택할 수 있도록 합니다:
- 단기 메모리 – 최근 대화를 저렴하고 빠르게 유지합니다.
- 장기 메모리 – 사실, 엔티티, 그래프, 에피소드 로그 등을 저장합니다.
- 인지 아키텍처 – 계층적, 단계적 또는 반성적 메모리 시스템.
- 검색 및 라우팅 – 무엇을 언제 기억할지 결정합니다.
- 프레임워크 – 바로 사용할 수 있는 라이브러리(Mem0, Letta, Zep, Graphiti).
- 평가 및 프로덕션 – 벤치마킹, 모니터링 및 배포 패턴.
포함된 내용
| 섹션 | 기술(노트북 링크) | 학습 내용 |
|---|---|---|
| 단기 메모리 | 01‑05 – 대화 버퍼, 슬라이딩 윈도우, 요약, 요약 버퍼, 토큰 버퍼 | 컨텍스트 윈도우 관리, 토큰 예산 관리, 즉석 요약. |
| 장기 메모리 | 06‑11 – 벡터 저장소, 엔티티, 지식 그래프, 에피소드, 의미론적, 절차적 | 임베딩 영속화, 엔티티 저장소 구축, 지식 그래프 구성, 원시 에피소드와 추출된 사실/절차 분리. |
| 인지 아키텍처 | 12‑19 – 작업 메모리, 계층적 레이어, 통합, 압축, 자기 반성, 라우팅, 시간적, 망각 | 인간에게서 영감을 받은 메모리 계층, 자동 승격/강등, 주기적 통합, 망각 정책. |
| 검색 및 라우팅 | 20‑23 – 검색 증강, 교차 세션, 멀티 에이전트 라우팅, 하이브리드 검색 | 올바른 검색 전략(유사도 검색, 하이브리드, 멀티 에이전트 디스패치) 선택. |
| 프레임워크 | 24‑27 – Graphiti, Mem0, Letta (MemGPT), Zep | 위 패턴의 상당수를 즉시 구현할 수 있는 플러그 앤 플레이 라이브러리. |
| 평가 및 프로덕션 | 28‑30 – 벤치마크, 모니터링, 배포 패턴 | 메모리 효율성 측정 방법, 관측 가능성 설정, 메모리 기능이 포함된 에이전트를 프로덕션에 배포하는 방법. |
퀵 스타트 가이드
- 저장소 클론 (또는 배지를 통해 Google Colab에서 직접 노트북 열기).
- 최소 종속성 설치 – README에
python>=3.10및 일반적인 Jupyter 스택이 나열되어 있습니다. 대부분의 노트북은langchain,openai,faiss-cpu또는chromadb(벡터 저장소용),networkx(그래프 작업용)를 사용합니다. - 첫 번째 노트북
01_conversation_buffer_memory를 실행하여 가장 간단한 패턴을 확인합니다. - README의 학습 경로 섹션을 따라 프로젝트에 맞는 패밀리로 이동합니다(예: 검색 증강 챗봇의 경우 "장기 메모리 → 벡터 저장소").
- 프로덕션 준비가 되면 CI 테스트 및 배포용 스니펫이 포함된 프레임워크 노트북(Mem0, Letta, Zep)을 탐색합니다.
대상 독자
- 개발자: 개인 비서, 고객 지원 봇 또는 시간이 지나도 컨텍스트를 유지해야 하는 LLM 기반 워크플로우를 구축하는 분.
- 연구원: 벤치마킹을 위해 새로운 메모리 아키텍처(Mem0, Letta 등)의 구체적인 구현을 찾는 분.
- 교육자/학생: 에이전트 메모리에 대한 시각적이고 노트북 중심의 커리큘럼을 찾는 분.
기술 스택 및 요구 사항
- Python 3.10+
- Jupyter notebooks (로컬 또는 Google Colab에서 실행)
- 핵심 라이브러리:
langchain,openai(또는 호환되는 LLM API),faiss-cpu/chromadb(벡터 저장소용),networkx(그래프 메모리용), 프레임워크 노트북용 특정 SDK(예:mem0-sdk,zep-python). - Apache‑2.0 라이선스 – 자유롭게 사용, 수정 및 상업적 이용 가능.
성숙도 및 커뮤니티
- 이 저장소는 활발하게 유지 관리됩니다(이슈 배지, 기여 가이드, Discord 커뮤니티 포함).
- 각 기술에는 ✅ 노트북 배지가 표시되어 있어 코드가 처음부터 끝까지 실행됨을 의미합니다.
- 저자는 더 깊은 학습을 위해 유료 코스와 관련 서적도 제공하지만, 노트북 자체는 완전히 기능하며 오픈 소스입니다.
결론: LLM 에이전트에 메모리를 부여하는 방법에 대해 프로토타입부터 프로덕션 시스템까지 복사하여 붙여넣을 수 있는 구체적인 예제가 필요하다면, 이 저장소는 메모리 전략의 전체 스펙트럼을 다루는 간결하고 잘 정리된 도구 상자입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트