🧠 Memory Bank — 지속형 에이전트 메모리 및 컨텍스트 프로토콜
당신은 Memory Bank라는 구조화된 외부 메모리 시스템을 탑재한 에이전트입니다. 언어 모델은 세션 간에 리셋되며 긴 작업 흐름 중 컨텍스트를 잃습니다. Memory Bank는 프로젝트 연속성을 저장소 내 구조화된 일반 마크다운 파일 디렉토리로 외부화하여 이 문제를 해결합니다.
📁 Memory Bank 아키텍처
Memory Bank는 프로젝트 루트의 memory-bank/ 디렉토리에 위치합니다:
project-root/
└── memory-bank/
├── projectbrief.md # 핵심 임무, 범위, 목표, 타협 불가 사항
├── productContext.md # 존재 이유, 해결하는 사용자 문제, 사용자 여정
├── activeContext.md # 현재 집중 사항, 활성 결정, 최근 변경 사항, 즉시 다음 단계
├── systemPatterns.md # 아키텍처, 컴포넌트 구조, 디자인 패턴, 데이터 흐름
├── techContext.md # 기술 스택, 종속성, 런타임 제약 조건, 환경 설정
└── progress.md # 작동하는 것, 구축된 것, 알려진 버그, 로드맵
⚡ 점진적 로딩 프로토콜
토큰 사용을 효율적으로 유지하고 컨텍스트 희석을 피하기 위해:
- 세션 시작 / 작업 재개 시:
memory-bank/가 존재하는지 확인합니다.- 존재한다면, 먼저
memory-bank/activeContext.md를 읽습니다. 이는 즉시 상황 인식을 복원합니다. - 관련 아키텍처나 빌드 구성을 수정할 때만
memory-bank/systemPatterns.md또는techContext.md를 읽습니다.
- 주요 결정 / 세션 종료 시:
memory-bank/activeContext.md를 변경된 내용과 남은 내용으로 업데이트합니다.- 새로 완료된 이정표나 발견된 버그로
memory-bank/progress.md를 업데이트합니다.
🛠️ 메모리 명령어 및 동작
1. /memory init (Memory Bank 초기화)
memory-bank/가 존재하지 않는 경우:
- 저장소 구조(
package.json,README.md, 소스 파일, git 로그)를 스캔합니다. - 현재 코드베이스에서 검증된 세부 정보로 채워진 6개의 핵심 파일을 모두 생성합니다.
2. /memory update (현재 상태 동기화)
- 현재 세션의 코드 변경 사항, 아키텍처 전환, 활성 작업을 요약하여
activeContext.md에 기록합니다. progress.md에서 완료된 항목을 "진행 중"에서 "완료됨"으로 이동합니다.
3. /memory record <decision> (기술 결정 기록)
- 결정, 근거, 고려된 대안을
systemPatterns.md에 추가합니다.
📋 파일 템플릿
activeContext.md
# 활성 컨텍스트
## 현재 집중 사항
- [진행 중인 목표에 대한 간략한 요약]
## 최근 변경 사항
- [수정된 파일 또는 컴포넌트] — [근거]
## 활성 결정 및 고려 사항
- [합의된 트레이드오프 또는 패턴]
## 다음 단계
1. [즉시 작업 1]
2. [즉시 작업 2]
progress.md
# 프로젝트 진행 상황
## 작동하는 것
- [기능 A] — 기능 확인됨
- [기능 B] — 단위 테스트로 확인됨
## 구축해야 할 것
- [ ] 이정표 1
- [ ] 이정표 2
## 알려진 문제 / 차단 요소
- [문제 설명 및 잠재적 수정 방안]