MemoryLake
모든 글로 돌아가기
Pain Point2026년 5월 22일7 분 소요

왜 Windsurf가 내 프로젝트 규칙을 잊어버리나요?

당신은 레포의 루트에 `.windsurfrules` 파일을 가지고 있습니다. 그 파일에는 분명히 이렇게 적혀 있습니다: "확인 프롬프트 없이 `prod_*` 테이블에 쓰지 마세요." Cascade는 1턴에서 이를 읽고 열정적으로 동의하며, 38턴에서 경고 없이 `DELETE FROM prod_users`를 제안합니다.

규칙 파일은 실제로 존재합니다. Cascade는 이를 보았습니다. 그렇다면 무슨 일이 발생한 걸까요?

간단한 답변

Windsurf는 .windsurfrulesglobal_rules.md가 모든 채팅의 상단에 삽입된 정적 텍스트이기 때문에 프로젝트 규칙을 잊어버립니다. 두 파일 모두 약 6,000자의 실용적인 문자 제한이 있으며, Cascade는 긴 세션을 자동으로 요약합니다 — 이는 규칙 세부 정보를 한 줄로 압축합니다. 검색 가능한 프로젝트 기억이 모든 턴에서 규칙을 시행 가능하게 유지합니다.

Windsurf가 프로젝트 규칙을 잊어버리는 이유

Cascade는 당신의 규칙을 따르려고 합니다. 세 가지 메커니즘이 조용히 이를 방해합니다:

1. 규칙은 접두사일 뿐, 활성 기억이 아닙니다. .windsurfrulesglobal_rules.md는 당신의 프롬프트에 앞서 추가됩니다. Cascade는 세션 시작 시 한 번 읽습니다. 이들은 코드와 대화와 같은 컨텍스트 창에 존재하며, 세션이 커짐에 따라 공간을 두고 경쟁합니다.

2. 규칙 파일은 제한적입니다. Windsurf는 규칙이 효과를 잃기 시작하기 전에 파일당 약 6,000자의 실용적인 한계를 문서화합니다. 작업 공간 규칙, 전역 규칙 및 일부 팀이 사용하는 AGENTS.md 규칙을 결합하면 한 번의 스프린트에서 한계에 도달할 수 있습니다.

3. 요약이 규칙 세부 정보를 압축합니다. Codeium은 변경 로그에서 이전 Cascade 요약이 중요한 컨텍스트를 삭제할 만큼 공격적이었다고 인정했습니다. 개선이 이루어졌음에도 불구하고 요약 패스는 손실이 발생합니다. 안전한 DB 작업에 대한 12줄 규칙이 요약을 통해 "데이터베이스에 주의하세요"로 돌아올 수 있습니다 — 이는 규칙이 아니라 분위기입니다.

결과적으로: 규칙은 잠시 동안 작동하다가 점차 흐트러지고 최악의 순간에 실패합니다.

Windsurf가 프로젝트 규칙을 잊어버릴 때 잃는 것

지켜지지 않는 규칙은 아예 없는 규칙보다 더 나쁩니다 — 이는 잘못된 안전감을 줍니다:

  • 안전하지 않은 작업이 통과합니다. "절대 prod를 건드리지 마세요" 규칙은 5턴에서 작동했지만, 40턴에서 Cascade가 리팩토링 중에 당신이 금지한 작업을 제안할 때 조용히 실패합니다.
  • 하우스 규칙이 무시됩니다. "변경을 위해 항상 서버 작업을 사용하세요"는 처음 세 파일에서 작동합니다. 여섯 번째 파일에서 Cascade는 규칙 세부 정보가 요약되었기 때문에 오래된 API 경로 패턴을 찾고 있습니다.
  • 매 세션마다 같은 규칙을 반복합니다. 그리고 당신이 그것을 반복하는 것을 잊는 순간, Cascade는 기본값으로 되돌아갑니다.

Windsurf의 내장된 우회 방법 (각각의 단점)

Windsurf에는 규칙을 위한 세 가지 기본 메커니즘이 있습니다. 각각 도움이 되지만, 혼자서는 한계를 지킵니다.

`.windsurfrules` (작업 공간)는 레포당 규칙 파일입니다. Cascade는 매 세션마다 이를 로드합니다. 이는 정적이며 제한적이고 대화와 컨텍스트 공간을 두고 경쟁합니다. 긴 세션은 이를 압축합니다.

`global_rules.md` (크로스 작업 공간)는 당신의 Windsurf 구성에 존재하며 어디에서나 적용됩니다. 같은 형식, 같은 제한, 같은 압축 문제를 가지고 있습니다.

Cascade Memories는 채팅 중 짧은 작업 공간 범위의 메모를 자동 생성합니다. "사용자가 pnpm test를 실행한다고 기억하세요"와 같은 경우에 유용합니다. 여러 줄에 걸쳐 있거나 예제를 포함하는 미세한 프로젝트 규칙에는 유용하지 않습니다.

공식 Cascade Memories 문서를 읽어보면 전체 기능 설명을 확인할 수 있습니다.

안정적인 규칙 몇 개에 대해서는 기본 메커니즘이 작동합니다. 매주 진화하는 실제 프로젝트 규칙집에는 한계가 있습니다.

Windsurf의 내장된 기억의 한계

프로젝트 규칙은 편집기 위에 존재합니다. "절대 prod를 건드리지 마세요" 규칙은 Cascade, Cursor, Claude Code 또는 ChatGPT에 있을 때 적용됩니다. .windsurfrules는 이들 중 어떤 곳에도 전달되지 않습니다. 각 도구는 자신의 복사본을 가지며, 그 복사본은 흐트러지고 프로젝트는 단일 진실의 출처를 잃습니다.

규칙은 프로젝트에 속합니다. 기억은 프로젝트와 함께 존재해야 하며, 편집기와는 함께 존재하지 않아야 합니다.

MemoryLake가 Windsurf의 프로젝트 규칙 잊어버림을 어떻게 해결하는가

MemoryLake는 Cascade의 기본 MCP 지원을 통해 Windsurf에 연결되는 크로스 모델 기억 레이어입니다. 잘린 규칙 문자열을 앞에 추가하는 대신, 전체 규칙집을 프로젝트에 로드하고 Cascade는 턴마다 관련 규칙을 검색합니다.

  • 검색 가능한 기억으로서의 규칙, 추가된 문자열이 아닙니다. 전체 규칙집 — DB 안전, 브랜치 위생, 배포 검사, 명명, 테스트 — 를 프로젝트에 로드하세요. Cascade는 결정 순간에 관련 규칙을 가져오므로 규칙이 컨텍스트 공간을 두고 싸울 필요가 없습니다.
  • 원시 프롬프트보다 10,000배 더 많은 컨텍스트. MemoryLake의 검색 엔진은 수십억 개의 프로젝트 기억 토큰에서 읽고 턴마다 관련된 것을 표면화합니다. 더 이상 6,000자 제한이 없습니다.
  • 모든 AI 도구에 대한 하나의 규칙집. 동일한 규칙이 Cursor, Claude Code, ChatGPT, Claude Desktop 및 Gemini를 지배합니다. 규칙이 한 번 변경되면 모든 곳에서 변경됩니다.

MemoryLake는 LoCoMo 긴 컨텍스트 벤치마크에서 94.03%를 기록했습니다 — 2026년 기준으로 발표된 최고의 결과로, 밀리초 검색 및 AES-256 종단 간 암호화를 제공합니다.

MemoryLake를 Windsurf에 연결하는 3단계

  1. 프로젝트를 생성하고 규칙집을 로드하세요. MemoryLake에 로그인하고, 프로젝트 관리에서 프로젝트 생성 버튼을 클릭한 후, 레포 이름(예: "acme-platform — 프로젝트 규칙")으로 이름을 지정하세요. 기존의 .windsurfrules, AGENTS.md, 실행 문서 및 안전 문서를 문서 드라이브를 통해 업로드하세요 (PDF, Markdown, Word, Excel, 이미지 모두 지원). Memories 탭에서 짧은 명령형 규칙을 추가하세요 — 하나의 기억당 하나의 규칙이 검색에 잘 작동합니다.
  2. MCP 서버 엔드포인트를 생성하세요. 프로젝트 내의 MCP 서버 탭을 열고, MCP 서버 추가 버튼을 클릭한 후, "Windsurf 통합"이라고 이름을 지정하고 생성 버튼을 클릭하세요. MemoryLake는 API 키 ID, 비밀 및 엔드포인트 URL을 반환합니다. 비밀을 즉시 복사하세요 — 한 번만 표시됩니다.
  3. 서버를 Cascade의 MCP 구성에 추가하세요. Windsurf에서 설정 → Cascade → MCP 관리 → 원시 구성 보기로 이동한 후, 엔드포인트 URL과 Bearer 토큰을 포함한 memorylake 항목을 추가하세요. 저장하고 Cascade를 재시작하세요. 이제 Cascade는 위험한 작업을 수행하기 직전에 적용 가능한 규칙을 가져오기 위해 호출할 수 있는 memorylake 도구를 갖추게 됩니다.

자주 묻는 질문

Windsurf는 프로젝트 규칙을 기억하나요?

Windsurf는 모든 Cascade 채팅에 .windsurfrules (작업 공간)와 global_rules.md (전역)를 로드합니다. Cascade는 세션 시작 시 이를 따릅니다. 긴 세션이 이전 컨텍스트를 자동으로 요약함에 따라 규칙 세부 정보가 압축될 수 있으며, 이로 인해 세부 규칙이 종종 중간에 흐트러집니다.

Cascade가 내 프로젝트 규칙을 일관되게 따르도록 하려면 어떻게 해야 하나요?

Windsurf의 기본 MCP 지원을 통해 Cascade를 MemoryLake와 같은 외부 기억 레이어에 연결하세요. 규칙은 검색 가능한 항목으로 프로젝트 기억에 존재하므로, Cascade는 현재 작업에 적용되는 특정 규칙을 가져올 수 있습니다. 이는 모든 것과 경쟁하는 추가된 문자열에 의존하는 것이 아닙니다.

왜 Cascade가 내 .windsurfrules 파일을 무시하나요?

보통 시작 시 무시되지 않습니다 — 나중에 압축됩니다. Windsurf는 규칙 파일당 약 6,000자의 실용적인 한계를 가지고 있으며, 긴 세션은 이전 턴을 공격적으로 요약합니다. 12줄 규칙이 더 이상 시행 가능한 세부 정보를 담지 않는 모호한 패러프레이즈로 돌아올 수 있습니다.

`.windsurfrules`와 `global_rules.md`의 차이점은 무엇인가요?

.windsurfrules는 당신의 레포에 존재하며 해당 작업 공간에만 적용됩니다. global_rules.md는 당신의 Windsurf 구성에 존재하며 어디에서나 적용됩니다. 두 파일 모두 같은 문자 제한을 가지고 있으며, 모두 정적 텍스트로 로드되며, 긴 세션에서 같은 요약 흐트러짐 문제에 직면합니다.

Windsurf와 Cursor 간에 내 프로젝트 규칙을 공유할 수 있나요?

.windsurfrules.cursorrules는 도구별로 구분되어 있으며 전송되지 않습니다. MemoryLake는 모델 중립 프로젝트에 규칙을 저장하므로, 동일한 규칙집이 Windsurf, Cursor, Claude Code, Claude Desktop, ChatGPT 및 MCP 또는 REST를 사용하는 모든 도구에서 작동합니다.