MemoryLake
すべての記事に戻る
Pain Point2026年5月22日7 分で読了

なぜWindsurfは私のプロジェクトルールを忘れるのか?

あなたのリポジトリのルートには`.windsurfrules`ファイルがあります。それには明確に書かれています:"確認プロンプトなしで`prod_*`テーブルに書き込まないこと。" Cascadeはターン1でそれを読み、熱心に同意し、ターン38で警告のアスタリスクなしに`DELETE FROM prod_users`を提案します。

ルールファイルは実在します。Cascadeはそれを見ました。それでは、何が起こったのでしょうか?

短い答え

Windsurfがプロジェクトルールを忘れるのは、.windsurfrulesglobal_rules.mdが各チャットの最初に挿入される静的テキストであり、両方とも約6,000文字の実用的な文字制限があり、Cascadeが長いセッションを自動要約するためです — これによりルールの詳細が1行の再表現に圧縮されます。取得可能なプロジェクト記憶があれば、ルールは各ターンで強制されます。

Windsurfがプロジェクトルールを忘れる理由

Cascadeはあなたのルールに従おうとします。しかし、3つのメカニズムが静かにそれを妨げています:

1. ルールはプレフィックスであり、アクティブな記憶ではない。 .windsurfrulesglobal_rules.mdはあなたのプロンプトの前に追加されます。Cascadeはセッションの開始時に一度それらを読みます。それらはあなたのコードや会話と同じコンテキストウィンドウに存在し、セッションが進むにつれてスペースを競い合います。

2. ルールファイルには制限があります。 Windsurfは、ルールが効果を失い始める前に、ファイルごとに約6,000文字の実用的な制限を文書化しています。ワークスペースルール、グローバルルール、および一部のチームが使用するAGENTS.mdの慣習を組み合わせると、1回のスプリントで上限に達することがあります。

3. 要約がルールの詳細を圧縮します。 Codeiumは、以前のCascade要約が重要なコンテキストを削除するほど攻撃的であったことを変更履歴で認めています。改善があっても、要約パスは情報を失います。安全なDB操作に関する12行のルールは、要約を通じて「データベースに注意すること」として戻ってくることがあります — これはルールではなく、雰囲気です。

結果:ルールはしばらく機能し、徐々に漂流し、最悪のタイミングで失敗します。

Windsurfがプロジェクトルールを忘れたときに失うもの

定着しないルールは、全くルールがないよりも悪い — 偽の安全感を与えます:

  • 安全でない操作が通過します。 ターン5で機能した「prodに触れない」ルールは、ターン40で静かに失敗します。Cascadeがリファクタリングの深いところにあり、あなたが禁じた操作を正確に提案する時です。
  • ハウス慣習が無視されます。 「常にミューテーションにはサーバーアクションを使用する」は最初の3つのファイルで機能します。6つ目になると、ルールの詳細が要約されてしまったため、Cascadeは古いAPIルートパターンを探し始めます。
  • 毎回、永遠に同じルールを再述します。 そして、再述するのを忘れた瞬間、Cascadeはデフォルトに戻ります。

Windsurfの組み込みワークアラウンド(それぞれの短所)

Windsurfにはルールのための3つのネイティブメカニズムがあります。それぞれが役立ちますが、単独ではラインを保持しません。

`.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文字の制限はありません。
  • 1つのルールブック、すべてのAIツール。 同じルールがCursor、Claude Code、ChatGPT、Claude Desktop、Geminiを支配します。ルールが一度変更されると、すべての場所で変更されます。

MemoryLakeは、LoCoMoの長文コンテキストベンチマークで94.03%を記録しました — 2026年時点での最高の公表結果で、ミリ秒の取得とAES-256のエンドツーエンド暗号化を実現しています。

MemoryLakeをWindsurfに接続する3つのステップ

  1. プロジェクトを作成し、ルールブックを読み込む。 MemoryLakeにサインインし、プロジェクト管理を開き、プロジェクトを作成をクリックし、リポジトリの名前(例:「acme-platform — プロジェクトルール」)を付けます。既存の.windsurfrulesAGENTS.md、ランブック、安全文書をドキュメントドライブを通じてアップロードします(PDF、Markdown、Word、Excel、画像がすべてサポートされています)。記憶タブに短い命令ルールを追加します — 1つのルールごとに記憶が取得に適しています。
  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を話す任意のツールで機能します。