4.4. 워크스페이스 & 메모리¶
각 Squad에는 전용 워크스페이스 디렉터리와 에이전트별 메모리 시스템이 있어 작업 간 컨텍스트 유지와 지식 공유가 가능합니다.
워크스페이스¶
워크스페이스는 Squad가 소유하는 파일 시스템의 디렉터리입니다. 플랜, 태스크 출력, 에이전트 파일, 메타데이터를 저장합니다.
워크스페이스 구조¶
Squad가 생성되면 워크스페이스가 구조화된 레이아웃으로 초기화됩니다:
my-squad-workspace/
├── .squad-config.json # Squad 매니페스트 (복원용)
├── plans/ # 생성된 플랜
├── tasks/ # 태스크 출력 및 산출물
├── agents/ # 에이전트별 파일
│ ├── planner/
│ │ └── memory.md # 플래너의 메모리 파일
│ ├── developer/
│ │ └── memory.md # 개발자의 메모리 파일
│ └── reviewer/
│ └── memory.md # 리뷰어의 메모리 파일
└── logs/ # 실행 로그
파일 탐색¶
워크스페이스 탐색기를 사용하여 앱 내에서 직접 워크스페이스 디렉터리 트리를 탐색할 수 있습니다:
- 확장/축소로 파일 트리 탐색
- 텍스트, 마크다운, JSON 파일 인라인 미리 보기
- 파일 크기와 수정 타임스탬프 확인
- 전체 워크스페이스 크기와 파일 수 모니터링
파일 검색¶
워크스페이스 검색을 사용하여 워크스페이스의 모든 파일에서 콘텐츠를 찾을 수 있습니다. 전체 텍스트 검색을 수행하고 하이라이트된 결과와 함께 일치하는 파일을 반환합니다.
워크스페이스 상태¶
모니터링 대시보드에서 워크스페이스 상태 지표를 표시합니다:
| 지표 | 설명 |
|---|---|
| 전체 크기 | 워크스페이스 내 모든 파일의 합산 크기 |
| 파일 수 | 총 파일 수 |
| 구조 유효성 | 예상 디렉터리 레이아웃이 온전한지 여부 |
| 문제 | 감지된 문제 (누락된 디렉터리, 손상된 메타데이터) |
메모리¶
Squad의 각 에이전트는 영구 메모리 파일을 가질 수 있습니다 — 섹션으로 구성된 마크다운 문서로, 에이전트가 각 태스크 시작 시 읽고 실행 중에 업데이트할 수 있습니다.
메모리 작동 방식¶
- 에이전트가 태스크를 시작하면 메모리 파일이 컨텍스트에 로드됩니다
- 실행 중에 에이전트가 새로운 관찰, 결정, 학습 패턴을 메모리에 기록할 수 있습니다
- 업데이트된 메모리는 태스크 간에 유지되어 시간이 지남에 따라 지식 기반을 구축합니다
메모리 섹션¶
메모리 파일은 명명된 섹션으로 구성됩니다:
# 프로젝트 컨텍스트
이 프로젝트는 TypeScript와 Zustand를 사용하는 React를 사용합니다.
# 코딩 규칙
- 훅을 사용하는 함수형 컴포넌트 사용
- CSS 클래스에 BEM 네이밍 적용
- 모든 API 호출은 src/lib/api.ts를 통해 수행
# 내린 결정
- 인증에 JWT 선택 (태스크 #3)
- 데이터베이스 스키마는 snake_case 컬럼명 사용 (태스크 #5)
에이전트는 나머지 메모리 파일에 영향을 주지 않고 개별 섹션을 읽거나, 추가하거나, 교체할 수 있습니다.
크로스 에이전트 메모리 검색¶
메모리 검색 기능을 사용하면 모든 에이전트의 메모리 파일을 동시에 검색할 수 있습니다:
- 검색 쿼리를 입력하여 일치하는 콘텐츠 찾기
- 특정 에이전트 또는 메모리 섹션으로 필터링
- 대소문자 구분 매칭 토글
- 더 나은 이해를 위해 각 일치 항목 주변의 컨텍스트 라인 확인
이 기능은 특정 에이전트가 이전 태스크에서 기록한 결정, 규칙, 지식을 찾는 데 유용합니다.
메모리 활성화 시기¶
| 시나리오 | 권장 사항 |
|---|---|
| 플래너 에이전트 | 항상 활성화 — 결정과 프로젝트 컨텍스트를 추적해야 합니다 |
| 장기 프로젝트 | 지식을 축적하는 핵심 에이전트에 활성화 |
| 일회성 작업 | 선택 사항 — 메모리가 시작 시 오버헤드를 추가합니다 |
| 리뷰어 에이전트 | 리뷰 패턴과 반복되는 이슈 추적에 유용 |
메모리 모범 사례
메모리 파일을 집중적이고 잘 구성된 상태로 유지하세요. 에이전트는 길고 구조화되지 않은 로그보다 명확한 섹션으로 구조화된 메모리에서 더 잘 작동합니다.