문서에서 정의하는 프로젝트의 개념
Anthropic의 정의는 간결합니다: "프로젝트는 Claude가 사용자를 위해 일련의 관련 작업을 조율하는 하나의 진행 중인 대화입니다." 사용자가 해당 대화에 작업을 전달하면 Claude가 이를 라우팅합니다.
실제 작업을 수행하는 것은 스레드입니다. 문서는 각 스레드를 "자체 컨텍스트 창을 가지고 하나의 작업을 수행한 뒤, 완료되면 대화에 다시 보고하는 별도의 세션"으로 설명합니다. 조율하는 대화는 생각보다 좁은 시야를 가집니다: "스레드가 수행하는 모든 단계가 아니라, 스레드가 다시 보고하는 내용만 봅니다."
사용 가능 여부는 여전히 단계적으로 적용됩니다. 문서에 따르면 "Projects는 Pro 및 Max 요금제에서 공개 베타 버전으로 제공되며, 클라우드 세션을 사용한 적이 있고 claude.ai 채팅이나 Cowork에 기존 프로젝트가 없는 계정부터 점진적으로 출시되고 있습니다." 또한 "아직 Team 또는 Enterprise 요금제에서는 사용할 수 없습니다"라고 명시되어 있습니다. 채팅이나 Cowork에 이전 프로젝트가 있는 경우 당분간 그대로 유지됩니다: "해당 프로젝트는 리디자인된 경험이 적용될 때까지 현재와 동일하게 계속 작동합니다."
모든 클라우드 스레드는 동일한 키트로 시작합니다. 문서에 따르면, 이 키트는 프로젝트의 리포지토리 및 파일과 "지침 및 메모리", 프로젝트의 각 리포지토리에 있는 CLAUDE.md 및 스킬, claude.ai 계정의 커넥터, 그리고 클라우드 환경으로 구성됩니다. 그리고 다음 한 문장으로 나머지를 제한합니다: "클라우드 스레드는 사용자의 로컬 머신에 있는 Claude Code 설정에서 아무것도 가져오지 않습니다."
이 문장은 프로젝트의 메모리가 여러분이 이미 가지고 있는 메모리와 다르다는 첫 번째 힌트입니다.
프로젝트 메모리가 저장되는 위치
프로젝트 메모리는 Claude가 클라우드에 작성하는 파일 세트입니다
문서의 컨텍스트 표에서는 프로젝트 메모리를 "요구 사항, 결정 사항, 함정 등 Claude가 프로젝트에 대해 기록하고 파일로 저장하는 노트"로 설명합니다. 또한 스레드가 이를 어떻게 사용하는지도 설명합니다: "모든 클라우드 스레드는 시작할 때 인덱스 파일인 MEMORY.md를 읽고, 필요할 때 다른 파일들을 엽니다."
이 파일들을 직접 볼 수 있습니다. 동일한 표에 따르면 "Project settings > Memory에서 파일을 읽고, 편집하고, 삭제할 수 있습니다"라고 되어 있으며, Claude에게 말하여 변경할 수도 있습니다: "프로젝트 대화나 클라우드 스레드에서 Claude에게 요구 사항, 결정 사항, 함정을 기억하도록 요청하거나 잊어버리도록 요청하세요."
설정 화면에서 이 파일들은 익숙한 라벨 아래에 위치합니다. "Project settings > Memory는 Claude가 프로젝트에서 작업하면서 스스로 작성하기 때문에 이 파일들을 Auto memory 아래에 나열합니다."
동일한 파일 이름, 세 개의 서로 다른 저장소
여기서 사람들이 혼란을 겪습니다. 사용자의 로컬 머신에 있는 Claude Code 역시 MEMORY.md 인덱스를 가진 자동 메모리를 유지합니다. Anthropic의 메모리 문서는 이 위치를 ~/.claude/projects/<project>/memory/로 지정하며, 그 범위에 대해 명확히 밝히고 있습니다: "Auto memory는 로컬 머신 전용입니다." 또한 "파일은 머신 간 또는 클라우드 환경 간에 공유되지 않습니다"라고 덧붙입니다.
프로젝트 문서는 반대편에서 선을 긋습니다: "두 가지 모두 MEMORY.md 인덱스를 사용하지만, 이들은 Claude Code가 사용자의 로컬 머신에 유지하는 자동 메모리와는 별개입니다."
즉, 프로젝트에는 자체 MEMORY.md가 있고, 노트북에는 또 다른 MEMORY.md가 있으며, 둘은 서로 다릅니다. 만약 몇 달 동안 Claude Code가 로컬에서 빌드 특성을 학습하도록 했다면, 그 학습 내용은 로컬에만 머무릅니다. 일반 세션에 대한 이 경계는 Claude Code가 다른 머신에서 잊어버리는 이유 가이드에서 다루고 있으며, 프로젝트는 그 경계 너머에 있는 또 하나의 장소일 뿐입니다.
세 번째 저장소는 사용자가 직접 작성하는 저장소입니다. "프로젝트 메모리는 프로젝트 리포지토리에 있는 CLAUDE.md 파일과도 별개입니다." 모든 클라우드 스레드는 클론에서 이러한 파일을 로드하며, Anthropic은 어떤 내용이 어디로 가야 하는지에 대한 명확한 규칙을 제시합니다: "리포지토리에 대한 지침은 해당 리포지토리의 CLAUDE.md에 넣고, 프로젝트에 대한 노트는 프로젝트 메모리에 넣으세요."
그리고 설정의 동일한 Memory 섹션에 위치하며 가장 신뢰할 수 있는 부분인 프로젝트 지침(project instructions)이 있습니다. 표에서는 이를 "각 새 스레드 및 프로젝트 대화의 Claude에게 전송되는 텍스트로, 최대 16,000자까지 가능합니다"라고 설명합니다.
종합해 보면, 프로젝트의 상시 컨텍스트는 다음 네 가지 소스에서 제공됩니다:
- 리포지토리
CLAUDE.md파일: 사용자가 작성하고 커밋하며, 모든 클라우드 스레드가 클론에서 로드합니다. - 프로젝트 지침: 사용자가 설정에서 작성하며, 모든 새 스레드가 이를 수신합니다.
- 프로젝트 메모: Claude가 작업하면서 작성하며, 모든 클라우드 스레드가
MEMORY.md를 통해 읽습니다. - 사용자 머신의 자동 메모: Claude가 사용자의 노트북에 작성하며, 해당 머신에만 유지됩니다.
Claude는 프로젝트 메모리를 작성하며, 작성된 내용은 가이드라인 역할을 합니다
프로젝트 메모리는 스스로 채워집니다. 조율자에게 작업을 어떻게 실행하고 싶은지 말하면, "Claude는 이러한 선호 사항을 프로젝트 메모리에 스스로 저장하고 이후 클라우드 스레드에서 이를 따릅니다."
문서는 저장된 선호 사항이 가지는 가중치에 대해 신중하게 설명합니다: "이는 Claude가 준수하는 지침일 뿐 강제된 설정이 아니므로, 이 방식으로 지정한 스레드 제한은 하드 한도가 아닙니다." 무언가를 정확한 문구로 첫 번째 스레드부터 적용해야 한다면, Anthropic은 대신 프로젝트 지침을 사용할 것을 권장합니다.
수정 사항도 같은 방식으로 작동합니다. 문서에서는 "스레드를 수정할 때 Claude에게 그 수정 사항을 기억하도록 지시하는 것을 권장합니다. 그러면 프로젝트 메모리에 저장되어 이후의 클라우드 스레드가 이를 반영하여 시작됩니다"라고 조언합니다. 그렇지 않으면 수정 사항은 단 하나의 대화 기록에만 머물게 되며, 이는 Claude Code가 수정 사항을 잊어버리는 이유에서 설명한 일반적인 문제입니다.
프로젝트 메모리는 긴 대화가 할 수 없는 작업도 수행합니다: "프로젝트에서는 컨텍스트 창을 직접 관리할 필요가 없습니다. 스레드는 자동으로 압축(compact)되며, 대화는 전체 기록 대신 최근 메시지, 최근 스레드, 프로젝트 메모리를 기반으로 작동하므로 프로젝트가 실행되는 동안 계속 유지됩니다." 이어지는 지침은 이 페이지에서 가장 실용적인 문장입니다: "절대 유실되어서는 안 되는 내용은 프로젝트 메모리에 넣으세요." 일반 세션에서 압축 기능이 무엇을 유지하고 버리는지 확인하고 싶다면, 자동 압축 가이드를 참고하세요.
어떤 스레드가 메모리 없이 시작되는가
사용자의 컴퓨터에서 실행되는 스레드
로컬 데이터베이스, 에뮬레이터, VPN 뒤에 있는 API 등 일부 작업은 사용자의 머신을 필요로 합니다. 이러한 작업을 위해 Remote Control을 통해 사용자의 컴퓨터에서 스레드를 실행하도록 프로젝트에 요청할 수 있습니다. 문서에는 변경 사항이 나열되어 있으며, 그중 한 항목이 눈에 띕니다: 이러한 스레드는 "프로젝트 지침으로 시작하지만, 메모리 파일은 로드되지 않은 채로 시작됩니다."
또한 "프로젝트의 클라우드 환경 대신 해당 머신의 파일, 도구, MCP 서버 및 Claude Code 설정(훅 및 권한 규칙 포함)을 사용하여 작동합니다." 즉, 로컬 스레드는 노트북의 설정과 프로젝트 지침만 가지고 시작하며, Claude가 프로젝트 메모리에 저장한 함정 정보는 시작할 때 포함되지 않습니다.
로컬 스레드는 Remote Control을 통해 연결된 사용자 머신의 폴더 내 Claude Code 세션입니다. 원격 세션 포크 살펴보기에서 이러한 세션이 복사본과 어떻게 연관되는지 설명합니다.
스레드가 도중에 추가한 리포지토리
클라우드 스레드는 프로젝트에 없는 리포지토리를 가져올 수 있습니다. 문서는 이 타이밍에 대해 다음과 같이 설명합니다: "클론은 작업 도중에 발생하므로, 스레드가 시작될 때는 해당 리포지토리의 CLAUDE.md와 스킬이 존재하지 않았습니다. 다음 스레드는 이 없이 시작됩니다."
리포지토리의 CLAUDE.md에 스레드가 첫 단계부터 필요로 하는 규칙이 포함되어 있다면, 해당 리포지토리를 프로젝트에 추가하세요.
설정을 변경할 때 이미 실행 중인 스레드
"Project settings에서 지침, 리포지토리, 플러그인 및 환경을 변경하면 새 스레드에만 적용되며, 이미 실행 중인 스레드에는 적용되지 않습니다." 정오에 추가한 지침은 정오 이후에 Claude가 시작하는 스레드에 적용됩니다.
서브에이전트와 프로젝트 경계
Claude Code 서브에이전트가 메모리를 공유하지 않는 이유에서 다룬 것처럼, 스레드는 부가적인 작업을 위해 각각 자체 컨텍스트 창을 가진 서브에이전트를 사용할 수 있습니다. 외부 경계는 프로젝트 자체입니다. "스레드는 이를 시작한 단 하나의 프로젝트에 속합니다. 스레드를 다른 프로젝트로 이동하거나 복사할 수 없으며, 독립형으로 꺼낼 수도 없습니다." 또한 "두 개의 프로젝트를 하나로 병합할 수 없습니다." 프로젝트는 개인용이기도 합니다: "프로젝트는 한 명의 사용자에게 속합니다. 프로젝트나 그 스레드를 다른 사용자와 공유할 수 없습니다."
삭제는 되돌릴 수 없습니다. 삭제하면 "프로젝트와 함께 스레드, 메모리, 파일이 영구적으로 제거되고 프로젝트의 루틴이 꺼집니다. 이는 되돌릴 수 없습니다."
사람들이 흔히 시도하는 잘못된 방식
로컬 자동 메모리가 함께 연동된다고 가정하는 것. 이는 설계상 로컬 머신 전용이며, 클라우드 스레드는 프로젝트의 키트에서 시작됩니다.
리포지토리 규칙을 프로젝트 메모리에 넣는 것. Anthropic의 구분 방식이 더 깔끔합니다: 리포지토리 규칙은 CLAUDE.md에, 프로젝트 노트는 프로젝트 메모리에 넣으세요.
말로 지시한 제한을 설정으로 취급하는 것. 말로 지시한 스레드 제한은 선호 사항으로 저장되며, 문서에 따르면 이는 하드 한도가 아닙니다.
대화가 모든 것을 기억할 것이라 기대하는 것. 대화는 최근 메시지, 최근 스레드, 그리고 프로젝트 메모리를 기반으로 작동합니다.
로컬 스레드가 프로젝트의 함정을 알고 있을 것이라 기대하는 것. 로컬 스레드는 메모리 파일이 아닌 지침으로 시작합니다.
새로 시작하기 위해 프로젝트를 삭제하는 것. 이는 Claude가 학습한 내용도 함께 삭제합니다. 아카이브(보관)가 되돌릴 수 있는 옵션입니다.
해결책: 각 컨텍스트 유형에 하나의 홈을 지정하고, 각 스레드가 무엇으로 시작하는지 확인하기
1단계: 알고 있는 정보를 스레드가 읽을 수 있는 세 가지 위치로 분류하기
새 스레드가 알아야 할 모든 것(브랜치 규칙, 테스트 명령, 이미 내린 결정, 겪었던 함정 등)을 나열해 보세요. 그런 다음 각 항목을 분류합니다.
빌드 명령이나 코드 스타일과 같이 특정 리포지토리에 국한된 내용은 해당 리포지토리의 CLAUDE.md로 이동합니다. 모든 스레드에 정확한 문구로 적용되어야 하는 내용은 프로젝트 지침에 들어갑니다. Anthropic이 제안하는 개요에는 프로젝트의 목적, 작업이 수행되는 위치, 스레드가 작업을 확인하는 방법, 그리고 사용자의 사전 승인이 필요한 사항이 포함됩니다. 요구 사항, 결정 사항, 함정에 대해 계속 변화하는 노트는 Claude가 유지 관리하는 프로젝트 메모리에 저장할 수 있습니다.
2단계: 프로젝트의 메모리 파일을 문서처럼 읽기
Project settings > Memory를 열고 Claude가 저장한 내용을 읽어보세요. 각 항목이 여전히 유효한지, 가볍게 언급했던 선호 사항이 실제로 유지하고 싶은 내용인지, 민감한 정보가 실수로 저장되지는 않았는지 확인합니다.
잘못된 부분이 있다면 파일을 직접 편집하거나 Claude에게 잊어버리라고 요청하세요. 결정 사항이 변경되면 대화 중에 이를 언급하고 Claude에게 메모리를 업데이트하도록 요청하여, 다음 스레드가 이전 버전을 바탕으로 작업하지 않도록 하세요. 처음 몇 개의 스레드가 실행된 후, 그리고 이후에는 정기적으로 이 작업을 수행하십시오.
3단계: 프로젝트 지침을 통해 로컬 스레드에 브리핑하기
사용자의 컴퓨터에서 실행되는 스레드는 프로젝트 지침으로 시작하지만 메모리 파일은 로드되지 않으므로, 로컬 작업이 알아야 할 모든 내용은 지침이나 작업 자체에 포함되어야 합니다. 로컬 스레드를 요청하기 전에 관련 함정이 메모리에만 있는지 확인하세요. 만약 그렇다면, 짧은 버전을 지침으로 이동하거나 요청에 직접 붙여넣으십시오.
스레드가 필요에 따라 추가하는 리포지토리의 경우도 마찬가지입니다. 첫 단계부터 규칙이 적용되어야 한다면, 시작할 때 CLAUDE.md가 로드되도록 해당 리포지토리를 프로젝트에 추가하세요.
MemoryLake에서 설정하기
프로젝트의 메모리는 하나의 프로젝트와 한 명의 사용자로 범위가 제한되며, 노트북은 또 다른 메모리를 유지합니다. 여러 프로젝트, 로컬 및 클라우드 작업, 그리고 사용하는 다른 어시스턴트 전반에 걸쳐 동일한 결정 사항을 적용해야 한다면, 이들 중 어느 하나에 종속되지 않는 곳에 보관하는 것이 도움이 됩니다. MemoryLake는 사용자가 직접 유지 관리하고 사용하는 도구에 연결할 수 있는 메모리 레이어입니다.
사용자가 직접 자신의 언어로 항목을 작성합니다. 프로젝트의 메모리 파일, 머신의 자동 메모리, 또는 다른 벤더의 저장소에서 내용을 읽거나, 쓰거나, 삭제하지 않습니다.
1단계: API 키 생성하기
로그인한 후 대시보드에서 키를 생성합니다. 이 키는 MemoryLake 워크스페이스에 속하며 Anthropic 계정과는 별개입니다.

2단계: 첫 번째 메모리 업로드하기
단일 프로젝트보다 오래 지속되는 결정 사항(아키텍처 선택, 명명 규칙, 과거 수정 사항의 배경 이유 등)부터 시작하세요. 항목당 하나의 결정을 날짜와 함께 기록하면, 새 항목이 이전 항목을 대체하는 것을 명확히 볼 수 있습니다.

3단계: AI 및 에이전트 연결하기
Claude Code 및 함께 작업하는 다른 어시스턴트를 연결하세요. 그러면 작업이 프로젝트 스레드, 로컬 세션 또는 완전히 다른 곳에서 실행되든 관계없이 동일한 결정 사항을 각 어시스턴트에서 사용할 수 있습니다.

실제 작업에서 달라지는 점
첫 번째 차이점은 반복되는 수정 작업이 줄어든다는 것입니다. 프로젝트 메모리에 저장된 수정 사항은 단 하나의 대화 기록에 머무는 대신 다음 클라우드 스레드로 전달됩니다.
두 번째는 예측 가능한 로컬 스레드입니다. 사용자의 컴퓨터에서 실행되는 스레드가 메모리가 아닌 지침으로 시작한다는 점을 인지하고 적절히 브리핑할 수 있습니다.
세 번째는 명확한 권한 분할입니다. 리포지토리 규칙은 코드와 함께, 프로젝트 규칙은 지침에, Claude의 지속적으로 업데이트되는 노트는 메모리에 저장되므로 문제가 발생했을 때 어떤 파일을 열어야 할지 명확히 알 수 있습니다. 일반적인 로컬 및 클라우드 세션에 대해서는 클라우드 세션 및 로컬 설정 가이드에서 인계되는 항목들을 나열하고 있습니다.
네 번째는 실수로 인한 손실이 줄어든다는 점입니다. 삭제 대신 아카이브를 사용하고, 프로젝트를 넘어서도 중요한 결정 사항의 사본을 유지할 수 있습니다.
Claude Code Projects의 프로젝트 메모리 모범 사례
첫 번째 작업을 시작하기 전에 프로젝트 지침을 작성하세요. 사용자의 컴퓨터에서 실행되는 스레드를 포함하여 모든 새 스레드가 이를 수신합니다.
Claude에게 수정 사항을 기억하도록 요청하세요. 이것이 수정 사항이 이후의 클라우드 스레드에 전달되는 방법입니다.
Project settings > Memory를 정기적으로 검토하세요. 더 이상 유효하지 않은 항목은 편집하거나 삭제하십시오.
리포지토리 규칙은 CLAUDE.md에, 하드 제한은 지침에 보관하세요. 말로 표현한 선호 사항은 유지될 뿐 강제되지 않습니다.
로컬 스레드에 명시적으로 브리핑하고, 규칙이 포함된 리포지토리를 추가하세요. 그렇지 않으면 두 경우 모두 당연히 있을 것이라 가정한 컨텍스트 없이 시작됩니다.
삭제하기보다 아카이브(보관)하세요. 삭제하면 스레드, 메모리, 파일이 영구적으로 제거됩니다.
결론
이제 대기자 명단에 등록했던 모든 Pro 및 Max 사용자에게 Claude Code Projects가 개방되었으며, 공식 문서는 액세스 권한 획득 이후에 생기는 질문, 즉 프로젝트가 학습한 내용을 어디에 보관하는지에 대한 답을 제시합니다.
프로젝트의 메모리는 Claude가 클라우드에 작성하는 파일 세트로, 자체 MEMORY.md로 인덱싱되며, Project settings > Memory에서 읽고 편집할 수 있습니다. 이는 머신의 자동 메모리 및 리포지토리의 CLAUDE.md 파일 모두와 별개입니다. 모든 클라우드 스레드는 시작할 때 이를 읽습니다. 사용자의 컴퓨터에서 실행되는 스레드는 프로젝트 지침으로 시작하지만 메모리 파일은 로드되지 않습니다.
각 컨텍스트 유형에 하나의 홈을 지정하고, Claude가 저장하는 내용을 검토하며, 지침을 통해 로컬 스레드에 브리핑하세요. 그러면 프로젝트는 중요한 스레드에서 사용자가 의도한 내용을 정확히 기억할 것입니다.