장기 기억 (Memory Bank)
사용자와 대화할 때마다 내용을 바탕으로 필요한 맥락을 추출하여 장기 보존하는 Nexus Agent만의 고유한 기능입니다. 사용자가 매번 번거롭게 프로젝트 컨텍스트를 설명할 필요를 덜어줍니다.
메모리 추출 작동 원리
- 사용자와 LLM 간의 답변이 1회전 완료되면 백그라운드 프로세스가 실행됩니다.
- 경량화된 LLM(또는 현재 모델)이 대화 전문을 파악하여 사실(Fact), 선호(Preference), 문맥(Context), **패턴(Pattern)**으로 분류 후 메모리 저장소에 기록합니다.
- 시스템 프롬프트 주입: 다음 대화가 시작될 때, 미리 저장된 사용자의 핵심 사항이 시스템 프롬프트(System Prompt)에 임베드되어 대화의 맥락이 계속 유지됩니다.
주요 관리 기능
UI의 Settings 패널 혹은 Memories 관리 탭을 통해 다음과 같은 기능을 조작할 수 있습니다.
- 기록 편집 및 삭제: AI가 잘못 추출한 메모리를 사용자가 교정할 수 있습니다.
- 메모리 고정 (Pin): 중요한 메모리(
is_pinned = true)로 지정하면 자동 압축이나 교차 삭제 규칙에서 제외되어 영구 보존됩니다. - 자동 압축 (Auto Compression): 저장된 메모리 공간이 임계치에 도달하면 의미가 겹치거나 중요도가 떨어지는 일반 메모리를 최신 LLM 프롬프트 방식으로 모아 병합(응축)합니다.
- 자동 교체 (Eviction): 최대 용적 임계치(기본 한계)를 초과하게 되면 가장 오래된 비핀(Non-pin) 메모리를 차례대로 제거합니다.
설정 파일 예시
이러한 메모리 상태는 ~/.nexus-agent/memories.json 데이터베이스 기반으로 저장 및 관리됩니다.