간단한 답변
Bolt.new는 채팅에서 설정한 제약 조건이 코드와 같은 200K 토큰 Claude 창 안의 메시지 토큰일 뿐이며, 프로젝트가 성장함에 따라 가장 먼저 삭제되기 때문에 디자인 결정을 잊어버립니다. 해결 방법은 디자인 규칙을 모든 Bolt 세션에 로드되는 지속적인 기억 계층에 보관하는 것입니다.
왜 Bolt가 디자인 결정을 잊어버리는가
Bolt의 디자인 결정은 어떤 구조화된 의미에서 "규칙"이 아닙니다. 그것들은 당신의 채팅 기록에 있는 문장입니다. 그 문장은 매번 세 가지와 공간을 두고 경쟁해야 합니다:
1. 당신의 코드베이스. Bolt는 .bolt/ignore를 통해 제외되지 않는 한 각 프롬프트에서 프로젝트의 모든 파일을 읽습니다. 구성 요소가 늘어남에 따라 채팅 기록을 위한 창의 비율이 줄어듭니다.
2. 시스템 프롬프트. Bolt의 Claude에 대한 자체 지침(형식 규칙, 파일 작성 프로토콜, 프레임워크 기본값)은 매 턴마다 고정된 부분을 차지합니다.
3. 대화 꼬리. 최근 메시지는 그대로 유지됩니다. 오래된 메시지 — 당신이 "Tailwind만, CSS-in-JS는 사용하지 않음"이라고 말한 메시지를 포함하여 — 모델의 200K 토큰 한도에 가까워지면 잘리게 됩니다.
Bolt에는 별도의 "규칙 계층"이 없습니다. 메시지 스트림만 있을 뿐이며, 메시지 스트림은 설계상 잊어버립니다.
Bolt가 디자인 결정을 잊어버릴 때 잃는 것
제약 조건이 사라지면 결과는 코드로 나타납니다:
- 스택 드리프트. Bolt는 당신이 명시적으로 거부한 라이브러리(Material UI, styled-components, Zustand)를 다시 도입하고, 당신은 그것을 제거하는 데 한 시간을 보냅니다.
- 일관성 없는 구성 요소. 절반의 버튼은 당신의 디자인 토큰을 사용하고; 새로운 버튼은 Bolt가 더 이상 문맥에서 토큰 파일을 보지 않기 때문에 원시 Tailwind 클래스를 사용합니다.
- 아키텍처 회귀. "이 경로에는 서버 구성 요소만"이 잊혀지고, Bolt는 다음 패스에서 페이지를 클라이언트 구성 요소로 변환합니다.
누적 비용은 사건당 비용보다 더 나쁩니다. 매번 되돌린 결정은 Bolt에게 프로젝트의 약간 다른 버전을 가르치고, 코드베이스는 각 프롬프트마다 원래의 브리프에서 더 멀어집니다.
Bolt의 내장된 우회 방법
StackBlitz는 몇 가지 방법으로 저항할 수 있게 해주지만, 그 중 어느 것도 디자인 결정을 안전하게 유지하지는 않습니다.
인라인 알림. 각 프롬프트 앞에 "기억해: Tailwind만"이라고 접두사를 붙일 수 있습니다. 한 턴 동안 작동합니다. 그런 다음 접두사 자체가 문맥을 소모하기 시작합니다.
시스템 프롬프트 슬롯. Bolt는 채팅 상단에 소규모 지침 세트를 고정할 수 있게 해줍니다. 슬롯은 짧고, 형식 규칙과 공유되며, 채팅마다 초기화됩니다 — 프로젝트마다가 아닙니다.
`.bolt/ignore`. 생성된 폴더를 제외하면 채팅 기록을 위한 공간이 확보되어, 간접적으로 오래된 결정을 조금 더 오래 보존합니다. 이는 완충 장치이지 해결책이 아닙니다.
StackBlitz의 토큰 효율성에 대한 공식 지침은 Bolt 도움 센터에 문서화되어 있습니다. 그 문서에서의 솔직한 결론: 프롬프트를 간결하게 유지하고, 파일을 정리하며, 장기 프로젝트는 상태를 잃게 될 것이라는 것을 받아들이세요.
Bolt의 내장된 기억이 부족한 점
디자인 결정은 어떤 단일 채팅보다 오래 살아남아야 하는 맥락의 종류입니다. 그것들은 프로젝트의 헌법입니다. 그것들을 지속적인 대화 창 안에 두는 것은 집 규칙을 화이트보드에 쓰고 몇 시간마다 화이트보드를 초기화하는 것과 같습니다.
다른 도구를 가져오면 문제가 심화됩니다. Bolt에서 설정한 Tailwind 규칙은 화면을 다듬기 위해 v0로 포크할 때 이동하지 않으며, 백엔드 작업으로 전환할 때 Cursor에 도달하지도 않습니다. 각 도구는 규칙을 새로 붙여넣어야 합니다.
MemoryLake가 Bolt가 디자인 결정을 잊어버리는 문제를 해결하는 방법
MemoryLake는 프로젝트에 단일 채팅 외부에 존재하는 실제 규칙 계층을 제공합니다.
- 구조화된 기억으로 저장된 결정. 각 디자인 규칙은 Memories 탭에 "스타일링: Tailwind + shadcn/ui만", "상태: TanStack Query, Redux 없음", "인증: Supabase, Firebase는 절대 사용하지 않음"과 같은 이름 있는 항목으로 존재합니다. 그것들은 채팅 기록에 묻혀 있지 않으며, 일급 기억 객체입니다.
- 모든 새로운 Bolt 세션에 로드됨. 새로운 Bolt 채팅을 열면 REST를 통해 MemoryLake에서 현재 규칙을 가져와 첫 번째 메시지로 붙여넣습니다. 채팅은 Bolt 앞에 이미 프로젝트의 헌법이 있는 상태로 시작됩니다.
- 모든 다른 도구에서 동일한 규칙. 동일한 기억이 v0, Lovable, Cursor, Claude 및 REST 또는 MCP를 사용하는 모든 AI에 공급됩니다. 프로젝트 중간에 도구를 전환하면 디자인 시스템이 따라옵니다.
MemoryLake는 밀리초 검색 및 AES-256 종단 간 암호화로 LoCoMo 장기 맥락 벤치마크에서 94.03%를 기록했습니다.
MemoryLake를 Bolt.new에 연결하는 3단계
- 프로젝트를 생성하고 디자인 규칙을 로드합니다. MemoryLake에 로그인하고, 프로젝트 관리 열고, 프로젝트 생성 클릭 후 "Bolt — 프로젝트 규칙"이라고 이름을 붙입니다. 디자인 시스템 문서, 브랜드 가이드라인 및 모든 아키텍처 결정 기록을 문서 드라이브를 통해 업로드합니다. 각 비협상 규칙을 Memories 탭에 개별 항목으로 추가하여 쉽게 검색할 수 있도록 합니다.
- MCP 서버 엔드포인트를 생성합니다. MCP 서버 탭을 열고, MCP 서버 추가를 클릭한 후 "Bolt 디자인 규칙"이라고 이름을 붙이고 생성 클릭합니다. Bearer 토큰을 복사합니다 — 한 번만 표시됩니다.
- Bolt.new에 연결합니다. Bolt에는 아직 기본 MCP 클라이언트가 없으므로 Bearer 토큰을 사용하여 REST API로 규칙 번들을 가져온 후, 이를 새로운 Bolt 채팅의 첫 번째 메시지로 붙여넣습니다. 개발자는 이를 프로젝트 시작 후크에 스크립트하여 규칙이 자동으로 로드되도록 할 수 있습니다.