短い答え
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)を再導入し、あなたはそれを取り除くのに1時間を費やします。
- 不一致なコンポーネント。 半分のボタンはあなたのデザイントークンを使用し、新しいものは生のTailwindクラスを使用します。なぜなら、Boltはもはやコンテキスト内でトークンファイルを見ていないからです。
- アーキテクチャの回帰。 「このルートにはサーバーコンポーネントのみ」といったことが忘れられ、Boltは次のパスでページをクライアントコンポーネントに変換します。
累積コストは、個別のインシデントコストよりも悪化します。すべての取り消された決定は、Boltにプロジェクトのわずかに異なるバージョンを教え、コードベースは各プロンプトごとに元のブリーフからさらに離れていきます。
Boltの組み込みワークアラウンド
StackBlitzは、いくつかの方法で反発する手段を提供しますが、それらのどれもデザイン決定を安全に保つことはできません。
インラインリマインダー。 各プロンプトの前に「remember: Tailwind only」と付けることができます。これは1ターンの間は機能します。その後、プレフィックス自体がコンテキストを消費し始めます。
システムプロンプトスロット。 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 — プロジェクトルール」と名付けます。デザインシステムのドキュメント、ブランドガイドライン、およびアーキテクチャ決定記録をDocument Driveを通じてアップロードします。各非交渉ルールをMemoriesタブに独自のエントリとして追加し、簡単に取得できるようにします。
- MCPサーバーエンドポイントを生成する。 MCPサーバータブを開き、「MCPサーバーを追加」をクリックし、「Boltデザインルール」と名付けて「生成」をクリックします。Bearerトークンをコピーします — これは一度だけ表示されます。
- Bolt.newに接続する。 BoltにはネイティブのMCPクライアントがまだないため、Bearerトークンを使用してREST APIでルールバンドルを取得し、それを新しいBoltチャットの最初のメッセージとして貼り付けます。開発者は、プロジェクト開始フックにこれをスクリプト化して、ルールが自動的に読み込まれるようにできます。