WujiangXu/A-mem
The code for NeurIPS 2025 paper "A-Mem: Agentic Memory for LLM Agents"
A-Mem: LLM 에이전트를 위한 Agentic Memory
정의 – Agentic Memory의 연구 구현으로, Zettelkasten 노트 필기법에서 영감을 받아 대규모 언어 모델(LLM) 에이전트가 과거의 '기억'을 동적으로 구성할 수 있게 하는 시스템입니다. 이 코드는 논문 A-Mem: Agentic Memory for LLM Agents(NeurIPS 2025)의 실험을 재현합니다.
핵심 아이디어
- 새로운 정보(기억)가 추가되면 시스템은 자동으로 구조화된 노트를 생성하고 태그를 지정하며 기존 기억에서 관련 콘텐츠를 검색합니다.
- 그런 다음 관련 기억 간에 명시적 링크를 생성하여 에이전트가 새 데이터와 상호 작용함에 따라 진화할 수 있는 그래프형 지식 네트워크를 형성합니다.
- 에이전트는 이 네트워크를 쿼리하고 가장 관련성 높은 기억을 검색하며, 당면한 작업에 따라 기억을 재구성하거나 개선할 수도 있습니다.
주요 기능
- 동적 구성 – 기억은 정적 벡터 저장소에 저장되는 대신 즉시 링크되고 재색인됩니다.
- Zettelkasten 스타일 노트 – 각 기억에는 속성이 풍부한 노트(제목, 설명, 태그 등)가 제공됩니다.
- 에이전트 주도 관리 – LLM 자체가 검색할 기억 수(
k), 새 링크를 만들 시기, 기존 링크를 업데이트하는 방법을 결정합니다. - 백엔드 독립 평가 – 스크립트는 OpenAI API, vLLM으로 제공되는 오픈소스 모델 또는 Ollama와 함께 작동하므로 모든 LLM에서 메서드를 테스트할 수 있습니다.
- 재현 가능한 실험 – 저장소에는 LoCoMo 벤치마크 스위트와 모델별 최적 검색 크기를 찾기 위한 k-스윕 스크립트가 포함되어 있습니다.
시작하기
- 저장소를 클론하고 Python 환경(venv 또는 Conda)을 만듭니다.
pip install -r requirements.txt로 필요한 패키지를 설치합니다.- LoCoMo 데이터셋에서 제공된 평가 스크립트를 실행합니다:
python test_advanced.py– 원래 평가(OpenAI JSON 스키마 지원 필요).python test_advanced_robust.py …– OpenAI, vLLM 또는 Ollama 백엔드에서 작동하는 견고한 버전. GPT-4o-mini 예시:
python test_advanced_robust.py --backend openai --model gpt-4o-mini \ --dataset data/locomo10.json --output results.json bash run_k_sweep.sh를 사용하여 각 모델의 검색 크기(k) 하이퍼파라미터를 자동으로 스윕합니다.
일반적인 워크플로우
- 기억 추가 – 시스템이 노트를 생성하고 태그를 지정하며 기존 노트의 유사성을 검색합니다.
- 링크 생성 – 관련 노트가 발견되면 시스템이 양방향 링크를 추가하여 지식 그래프를 강화합니다.
- 쿼리 – LLM 에이전트가 질문을 합니다. 메모리 시스템은 상위
k개의 링크된 노트를 검색하고, 이를 에이전트에 다시 공급하여 답변을 생성합니다.
대상 독자
- LLM 기반 에이전트의 메모리 아키텍처를 탐구하는 연구자.
- 자체 에이전트에서 동적 그래프 기반 메모리의 재현 가능한 기준선을 원하는 개발자.
- 전통적인 벡터 저장소 메모리와 더 구조화된 링크 중심 접근 방식을 비교하는 데 관심이 있는 모든 사람.
인용
@inproceedings{xu2025amem,
title={A-Mem: Agentic memory for llm agents},
author={Xu, Wujiang and Liang, Zujie and Mei, Kai and Gao, Hang and Tan, Juntao and Zhang, Yongfeng},
booktitle={Advances in Neural Information Processing Systems},
year={2025}
}
라이선스 – MIT.
이 요약은 저장소의 README에만 기반합니다. 외부 정보는 추가되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트