콘텐츠로 이동

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의 각 에이전트는 영구 메모리 파일을 가질 수 있습니다 — 섹션으로 구성된 마크다운 문서로, 에이전트가 각 태스크 시작 시 읽고 실행 중에 업데이트할 수 있습니다.

메모리 작동 방식

  1. 에이전트가 태스크를 시작하면 메모리 파일이 컨텍스트에 로드됩니다
  2. 실행 중에 에이전트가 새로운 관찰, 결정, 학습 패턴을 메모리에 기록할 수 있습니다
  3. 업데이트된 메모리는 태스크 간에 유지되어 시간이 지남에 따라 지식 기반을 구축합니다

메모리 섹션

메모리 파일은 명명된 섹션으로 구성됩니다:

# 프로젝트 컨텍스트
이 프로젝트는 TypeScript와 Zustand를 사용하는 React를 사용합니다.

# 코딩 규칙
- 훅을 사용하는 함수형 컴포넌트 사용
- CSS 클래스에 BEM 네이밍 적용
- 모든 API 호출은 src/lib/api.ts를 통해 수행

# 내린 결정
- 인증에 JWT 선택 (태스크 #3)
- 데이터베이스 스키마는 snake_case 컬럼명 사용 (태스크 #5)

에이전트는 나머지 메모리 파일에 영향을 주지 않고 개별 섹션을 읽거나, 추가하거나, 교체할 수 있습니다.

크로스 에이전트 메모리 검색

메모리 검색 기능을 사용하면 모든 에이전트의 메모리 파일을 동시에 검색할 수 있습니다:

  • 검색 쿼리를 입력하여 일치하는 콘텐츠 찾기
  • 특정 에이전트 또는 메모리 섹션으로 필터링
  • 대소문자 구분 매칭 토글
  • 더 나은 이해를 위해 각 일치 항목 주변의 컨텍스트 라인 확인

이 기능은 특정 에이전트가 이전 태스크에서 기록한 결정, 규칙, 지식을 찾는 데 유용합니다.

메모리 활성화 시기

시나리오 권장 사항
플래너 에이전트 항상 활성화 — 결정과 프로젝트 컨텍스트를 추적해야 합니다
장기 프로젝트 지식을 축적하는 핵심 에이전트에 활성화
일회성 작업 선택 사항 — 메모리가 시작 시 오버헤드를 추가합니다
리뷰어 에이전트 리뷰 패턴과 반복되는 이슈 추적에 유용

메모리 모범 사례

메모리 파일을 집중적이고 잘 구성된 상태로 유지하세요. 에이전트는 길고 구조화되지 않은 로그보다 명확한 섹션으로 구조화된 메모리에서 더 잘 작동합니다.