메모리 구조
relay의 에이전트 메모리는 두 레이어로 나뉩니다: 세션 메모리와 프로젝트 메모리.
my-project/└── .relay/ ├── memory/ # 세션을 넘어 유지되는 메모리 (git 커밋 권장) │ ├── project.md # 아키텍처, 도메인, 기술 스택 요약 │ └── agents/ │ ├── pm.md # PM 개인 메모리 │ ├── fe.md # FE: 컴포넌트 구조, 컨벤션 │ ├── be.md # BE: API 패턴, DB 스키마 │ ├── da.md # DA: 이벤트/메트릭 분류 체계 │ ├── designer.md # Designer: UI 패턴, 디자인 시스템 │ ├── qa.md # QA: 반복되는 버그 패턴, 취약한 영역 │ └── deployer.md # Deployer: 배포 히스토리, 주의사항 └── sessions/ # 세션별 요약 (gitignore 대상; 자동 생성) ├── 2026-03-13-001/ │ └── summary.md └── ...세션 메모리 (in-memory)
Section titled “세션 메모리 (in-memory)”세션 내 데이터는 MCP 서버 프로세스 메모리에 저장합니다:
- 메시지
- 태스크
- 아티팩트
- 리뷰
- WebSocket 이벤트
이 데이터는 일시적입니다. 서버 프로세스가 살아있는 동안만 존재하며 디스크에 기록하지 않습니다.
세션이 끝나면 save_session_summary가 사람이 읽을 수 있는 요약을 .relay/sessions/{session_id}/summary.md에 남깁니다. sessions 디렉토리는 gitignore 대상이므로 로컬에서만 유지됩니다.
프로젝트 메모리 (마크다운 파일)
Section titled “프로젝트 메모리 (마크다운 파일)”세션을 넘어 유지되는 메모리는 .relay/memory/에 마크다운 파일로 저장합니다.
project.md
Section titled “project.md”첫 /relay:relay 세션이 끝날 때 코디네이터가 작성하는 프로젝트 전체 요약입니다:
- 도메인 및 핵심 기능
- 아키텍처 개요
- 팀 컨벤션
agents/{agentId}.md
Section titled “agents/{agentId}.md”각 에이전트의 개인 메모리입니다:
- 역할별 주요 코드 패턴
- 이전 세션에서 발견한 컨벤션
- 특정 영역에 대한 주의사항
메모리 MCP 도구
Section titled “메모리 MCP 도구”// 에이전트 개인 메모리 읽기read_memory({ agent_id: "fe" });// → .relay/memory/agents/fe.md 반환
// 프로젝트 메모리 읽기 (agent_id 생략)read_memory({});// → project.md 반환쓰기 (섹션 덮어쓰기)
Section titled “쓰기 (섹션 덮어쓰기)”// 에이전트 개인 메모리에 쓰기write_memory({ agent_id: "fe", key: "component-patterns", content: "Button components always use shadcn/ui as the base...",});// .relay/memory/agents/fe.md의 ## component-patterns 섹션을 교체
// 프로젝트 메모리에 쓰기 (agent_id 생략)write_memory({ key: "architecture", content: "Monorepo with packages/server, packages/dashboard, packages/shared",});// .relay/memory/project.md의 ## architecture 섹션을 교체추가 (누적)
Section titled “추가 (누적)”// 에이전트 개인 메모리에 추가 (agent_id 필수)append_memory({ agent_id: "qa", content: "2026-03-13: found missing empty-email case in login flow",});세션 생명주기
Section titled “세션 생명주기”세션 시작 시
Section titled “세션 시작 시”각 에이전트의 시스템 프롬프트에 다음이 자동 주입됩니다:
project.md(프로젝트 메모리)agents/{agentId}.md(개인 메모리)
세션 종료 시
Section titled “세션 종료 시”- 각 에이전트가
write_memory또는append_memory로 새로 발견한 내용을 저장 save_session_summary로 세션 아카이브
.relay/memory/ 파일을 git에 커밋하면 팀 전체가 메모리를 공유할 수 있습니다:
git add .relay/memory/git commit -m "chore: update relay memory"새 팀원이나 새 Claude Code 세션에서도 이전 세션의 컨텍스트를 바로 활용할 수 있습니다.
RELAY_DIR 환경 변수
Section titled “RELAY_DIR 환경 변수”기본 메모리 경로는 {cwd}/.relay이지만, RELAY_DIR 환경 변수로 변경할 수 있습니다:
RELAY_DIR=/path/to/shared/.relay bun run start