간단한 답변
커서는 새로운 채팅이 새 컨텍스트 창에서 시작되고 에이전트가 기본적으로 지속적인 세션 간 기억이 없기 때문에 이전 세션을 잊어버립니다. .cursorrules 파일과 노트패드는 유지되지만, 과거 채팅의 상호작용 — 결정, 추론, 미완성 작업 — 은 유지되지 않습니다. 해결책은 에이전트가 매 새로운 세션에서 읽을 수 있는 프로젝트 기억 레이어입니다.
커서가 이전 세션을 잊어버리는 이유
커서는 채팅 기록을 로컬에 저장하지만, 저장은 회상과 다릅니다. 잊어버림을 유도하는 세 가지 설계 선택이 있습니다:
1. 에이전트는 세션 간 기억이 없습니다. 새로운 컴포저 또는 채팅 세션을 열면 커서는 .cursorrules, 열려 있는 파일 및 현재 프롬프트를 로드합니다. 어제의 채팅 메시지 기록은 로드하지 않습니다. 에이전트는 당신이 논의한 내용을 볼 수 없습니다.
2. 컨텍스트 창은 매 세션마다 초기화됩니다. 커서 2.x는 선택한 모델에 따라 200K에서 1M 토큰까지의 윈도우에서 실행되지만, 그 윈도우는 세션별입니다. 새로운 채팅을 시작하는 순간, 모든 것이 초기화됩니다. 긴 세션은 한도에 가까워지면 요약되므로, 세션 중에도 이전의 추론이 한 줄 메모로 압축됩니다.
3. 이전 채팅은 목록 항목일 뿐, 기억이 아닙니다. 사이드바를 스크롤하고 이전 채팅을 다시 열어 읽을 수 있습니다. 에이전트는 그럴 수 없습니다. 에이전트가 과거 세션을 검색하거나 검색할 수 있는 API가 없습니다.
결과: 당신의 .cursorrules 파일은 지속되고, 당신의 코드는 지속되지만, 당신의 결정은 사라집니다.
커서가 이전 세션을 잊어버릴 때 잃는 것
새로운 채팅은 당신에게 재정렬 시간을 요구하며, 손실은 스프린트 전반에 걸쳐 누적됩니다:
- 추론이 사라집니다. "우리는 현재 큐 볼륨이 정당화하지 않기 때문에 Redis를 건너뛰기로 결정했습니다" — 그 스레드는 사라졌습니다. 내일의 에이전트는 기꺼이 다시 Redis를 제안할 것입니다.
- 미완성 작업이 다시 시도됩니다. 어제 채팅에서 에이전트가 작성하기 시작한 함수는 당신이 안내한 엣지 케이스와 함께 처음부터 다시 설명해야 합니다.
- 당신은 끊임없이 반복합니다. 같은 아키텍처 경고, 같은 명명 규칙, 같은 "아니요, 우리는 Prisma가 아니라 Drizzle을 사용합니다" — 매번 반복해서 붙여넣습니다.
이것은 워크플로우 문제입니다. 기억 아키텍처 문제입니다.
커서의 내장 우회 방법 (각각의 한계)
커서는 부분적으로 도움이 되는 세 가지 기능을 제공합니다. 그 중 어느 것도 진정한 세션 간 기억을 제공하지 않습니다.
`.cursorrules` 및 `.cursor/rules/` 디렉토리는 모든 채팅에 로드되는 Markdown 규칙을 작성할 수 있게 해줍니다. 이는 안정적인 규칙에 적합하지만 ("Tailwind를 사용하고 인라인 스타일은 사용하지 마세요") 동적 컨텍스트에는 쓸모가 없습니다 ("우리는 어제 auth.ts를 세 개의 파일로 리팩토링하기로 결정했습니다"). 규칙은 정적입니다. 세션은 그렇지 않습니다.
노트패드는 채팅에 @로 삽입할 수 있는 지속적인 텍스트 블록입니다. 세션 간에 유지되지만, 수동으로 작성하고 업데이트해야 합니다. 노트패드는 사양을 기록하기에 좋은 장소입니다; 에이전트가 그것을 통해 추론한 기록은 아닙니다.
커서 기억 (커서 2.x에서 출시)는 에이전트가 채팅 간에 당신에 대한 짧은 메모를 저장하는 기능입니다. 계정 수준이며, 한도가 있으며, 요약됩니다 — 프로젝트 기억 저장소보다는 ChatGPT의 계정 전체 기억에 더 가깝습니다. "사용자는 TypeScript를 선호합니다"를 기억할 것입니다. 지난 화요일 세션에서 논의한 API 계약은 기억하지 않을 것입니다.
공식 커서 MCP 문서를 읽어보면 편집기의 확장성이 어떻게 작동하는지 알 수 있습니다.
정적 규칙의 경우, 네이티브는 괜찮습니다. 세션을 초월한 프로젝트 기억의 경우, 그들은 부족합니다.
커서의 내장 기억이 부족한 이유
더 깊은 문제는 세션 기억이 커서 내부에만 존재할 수 없다는 것입니다. 우리가 이야기하는 대부분의 개발자는 커서를 빠른 반복을 위해 사용하고, Claude Code는 긴 에이전트 작업을 위해, ChatGPT는 디자인 논의를 위해 사용합니다. 각 도구는 자체적으로 격리된 기록을 유지합니다. 그들 중 어느 것도 공유하지 않습니다.
따라서 "어제의 세션"이 실제로 커서와 Claude Code에 걸쳐 나뉘어져 있을 때, 두 도구의 어떤 네이티브 기능도 그것을 다시 연결할 수 없습니다. 프로젝트가 작업의 단위이며, 기억은 편집기가 아니라 프로젝트를 따라야 합니다.
MemoryLake가 커서의 이전 세션 잊어버림을 어떻게 해결하는가
MemoryLake는 MCP를 통해 커서에 연결되는 크로스 모델 기억 레이어입니다. 편집기가 어제를 기억하도록 의존하는 대신, 프로젝트에 자체 기억 저장소를 제공하고 커서는 매 새로운 채팅 시작 시 이를 읽습니다.
- 프로젝트별 세션 기억. 모든 과거 커서 채팅의 대화, 결정 및 추론이 프로젝트에 저장됩니다. 새로운 채팅이 열리면 — 에이전트는 이미 지난주에 당신이 결정한 내용을 알고 있습니다.
- 원시 프롬프트보다 10,000배 더 많은 컨텍스트. MemoryLake의 검색 엔진은 수십억 개의 프로젝트 기억 토큰에서 읽고 각 턴에 대해 관련된 것만 표출합니다. 컨텍스트 한도에 도달하지 않게 되고, 어제를 다시 붙여넣지 않게 됩니다.
- 크로스 도구 연속성. 동일한 프로젝트 기억이 Claude Code, Windsurf, ChatGPT, Claude Desktop 및 MCP 또는 REST를 사용하는 모든 도구에서 작동합니다. 프로젝트를 다른 편집기로 넘기면 컨텍스트가 따라옵니다.
MemoryLake는 LoCoMo 긴 컨텍스트 벤치마크에서 94.03%를 기록했습니다 — 2026년 현재 발표된 최고 결과로, 밀리초 검색 및 AES-256 종단 간 암호화를 제공합니다.
MemoryLake를 커서에 연결하는 3단계
- 프로젝트를 생성하고 컨텍스트를 로드합니다. MemoryLake에 로그인하고 프로젝트 관리에서 프로젝트 생성 버튼을 클릭한 후, 레포 이름(예: "acme-app — 커서 세션")으로 이름을 지정합니다. 기존 사양, ADR 및 과거 채팅 기록을 문서 드라이브를 통해 업로드합니다 (PDF, Markdown, Word, Excel, 이미지 모두 지원), 또는 기억 탭에 현재 컨텍스트를 붙여넣습니다.
- MCP 서버 엔드포인트를 생성합니다. 프로젝트 내의 MCP 서버 탭을 열고, MCP 서버 추가 버튼을 클릭한 후 "커서 통합"이라고 이름을 지정하고 생성 버튼을 클릭합니다. MemoryLake는 API 키 ID, 비밀 및 엔드포인트 URL을 반환합니다. 비밀은 한 번만 표시되므로 즉시 복사합니다.
- 서버를 커서의 MCP 구성에 추가합니다. 프로젝트 루트에서
.cursor/mcp.json을 열거나 생성합니다 (전역 액세스를 위해~/.cursor/mcp.json).mcpServers아래에 엔드포인트 URL과 Bearer 토큰을env블록에 추가하여memorylake항목을 추가합니다. 커서를 재시작합니다. 이제 에이전트는 매 새로운 세션 시작 시 프로젝트 기억을 로드하기 위해 호출할 수 있는memorylake도구를 갖게 됩니다.