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

なぜWindsurfは私のコーディングスタイルを忘れるのか?

あなたは金曜日の半分を使ってCascadeに自宅のスタイルを教えました:デフォルトエクスポートはなし、名前付きエクスポートのみ、`lib/schemas/`にZodスキーマ、Postgresではsnake_case、アプリコードではcamelCase、そして単一のステートメントをブレースで囲むのはやめてください。月曜日の朝には、Cascadeは再びデフォルトエクスポートを生成しています。`.windsurfrules`ファイルはあなたのリポジトリにあります。それでも、スタイルは保持されません。

これはCascadeのバグではありません。Windsurfの記憶モデルがスタイルを扱う方法です。何が起こっているのか、そしてスタイルの選択を実際に持続させる方法はこちらです。

短い答え

Windsurfがコーディングスタイルを忘れるのは、.windsurfrulesがすべてのチャットに読み込まれる静的テキストであり、アクティブな記憶ではなく、Cascade 記憶が短い自動生成メモであり、構造化されたスタイルガイドではないからです。コンテキストウィンドウが満たされるにつれて、読み込まれたルールでさえ要約によって圧縮されます。持続的なプロジェクト記憶レイヤーがスタイルの決定をすべてのターンで取得可能にします。

Windsurfがコーディングスタイルを忘れる理由

Cascadeはあなたのスタイルに従おうとします。三つのメカニズムがそれを妨げます:

1. `.windsurfrules`は読み取られ、記憶されません。 Cascadeチャットを開くと、Windsurfはあなたの.windsurfrules(ワークスペース)とglobal_rules.md(グローバル)をプロンプトの前に追加します。Cascadeはターン1でそれらを読み取ります。40ターン後、Cascadeがコンバーセーションを要約してコンテキストを解放した後、それらのルールは一行の再表現に圧縮され、具体的な内容が漂ってしまいます。

2. ルールファイルには上限があります。 Windsurfはルールの長さに対するソフトリミットを文書化しています(ファイルごとに約6,000文字が実用的な上限です)。実際のスタイルガイド — 名前付け、エラーハンドリング、ファイル構造、テストパターン、リント例外 — はそれを簡単に超えます。

3. 自動生成された記憶はスタイルには短すぎます。 Cascade 記憶は「ユーザーはTypeScriptを好む」といったことをキャッチします。完全なスタイルガイドを例とともに保持するようには設計されていません。したがって、Zodの扱いやエラータイプ、結果の返却方法に関する30行のルールは、持続的に存在する場所がありません。

その結果:スタイルは最初の数ターンでは機能しますが、その後静かに漂います。

Windsurfがコーディングスタイルを忘れたときに失うもの

スタイルの漂流は遅く、高価な紙の切り傷です:

  • レビューで書き直さなければならない不一致なコード。 Cascadeはあなたのハウスルールに対してデフォルトエクスポートを生成します。レビュアーがそれを指摘します。あなたは再プロンプトします。次のセッションでもこのサイクルが繰り返されます。
  • リンターとフォーマッターの戦争。 Cascadeは1つのファイルのルールに従い、次のファイルでは無視し、奇妙な場所でCIに失敗する混合コードベースを残します。
  • オンボーディングの痛み。 新しい開発者はAIが書いたコードがハウススタイルを反映していると仮定します。実際にはそうではなく、コードベースは新しい人々に間違ったパターンを教えます。

Windsurfの組み込みの回避策(それぞれの短所)

Windsurfにはスタイルを対象とした3つのネイティブメカニズムがあります。それぞれが助けになりますが、完全には解決しません。

`.windsurfrules`(ワークスペース)と`global_rules.md`(クロスワークスペース)は、持続的なルールの公式な場所です。これらはすべてのCascadeチャットに読み込まれます。また、静的テキストであり、長さの制限があり、取得がゼロです — あなたのスタイルガイドが数千文字を超えると、Cascadeは切り詰められたバージョンを取得します。ワークスペースルールもリポジトリ間でクリーンに移動しません。

Cascade 記憶はチャット中にワークスペーススコープのメモを自動生成します。「ユーザーはTailwindを好む」と静かに記憶します。30の例を持つAirbnbスタイルのスタイルガイドを保持するようには設計されていません。~/.codeium/windsurf/memories/に保存されるのは短い観察であり、長文のルールではありません。

ワークフローは、繰り返し可能なエージェント手順をスクリプト化することを可能にします — 「リンティング、修正、フォーマットを実行する」などに便利ですが、これは実行機能であり、記憶機能ではありません。

公式のCascade 記憶ドキュメントを読んで、詳細を確認できます。

小さなスタイルメモには、ネイティブ機能は十分です。実際の進化するハウススタイルには、短所があります。

Windsurfの組み込み記憶が不足している点

より深い問題は、スタイルガイドがプロジェクトレベルのアーティファクトであり、エディターレベルではないことです。あなたは他のAIツール — Cursor、Claude Code、ChatGPTをデザインディスカッションに使用している可能性が非常に高いです — そしてあなたのスタイルガイドはそれらすべてに適用される必要があります。.windsurfrulesは移動しません。Cursorのルールも移動しません。したがって、スタイルはツール間で断片化され、あなたのコードベースがそのコストを支払います。

実際の修正は、モデルに依存せず、プロジェクトスコープである必要があります。ワークスペーススコープではありません。

MemoryLakeがWindsurfのコーディングスタイルを忘れる問題を解決する方法

MemoryLakeは、CascadeのネイティブMCPサポートを介してWindsurfに接続するクロスモデル記憶レイヤーです。要約される静的ルールファイルに依存するのではなく、プロジェクトに独自の記憶を与え、Cascadeが必要に応じてスタイルガイダンスを読み取ります。

  • あなたのスタイルガイドを第一級の記憶として。 完全なガイド — 名前付け、エラーハンドリング、ファイルレイアウト、例 — をプロジェクトに読み込みます。Cascadeは、すべてのチャットの先頭に切り詰められた文字列を読み込むのではなく、ターンごとに関連するスライスを取得します。
  • 生のプロンプトよりも10,000倍のコンテキスト。 MemoryLakeの取得エンジンは、数十億のプロジェクト記憶から読み取り、現在のターンに重要な部分だけを返します。これにより、スタイルの詳細がコードによって圧迫されることはありません。
  • 使用するすべてのAIに対して1つのスタイルガイド。 同じガイドがCursor、Claude Code、ChatGPT、Claude Desktop、Geminiを管理します。ツールごとの異なるルールはもうありません。毎週月曜日に規則を再貼り付ける必要もありません。

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

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

  1. プロジェクトを作成し、スタイルガイドを読み込む。 MemoryLakeにサインインし、プロジェクト管理を開き、プロジェクトを作成し、コードベースにちなんで名前を付けます(例:「acme-web — ハウススタイル」)。ドキュメントドライブを通じてスタイルガイド、リンティング設定、および任意の例ファイルをアップロードします(PDF、Markdown、Word、Excel、画像すべてサポートされています)。メモタブに短く持続可能なルール(「デフォルトエクスポートなし」、「Zodスキーマはlib/schemas/にあります」)を追加します。
  2. MCPサーバーエンドポイントを生成する。 プロジェクト内のMCPサーバータブを開き、「MCPサーバーを追加」をクリックし、「Windsurf統合」と名付けて「生成」をクリックします。MemoryLakeはAPIキーID、シークレット、およびエンドポイントURLを返します。シークレットをすぐにコピーしてください — 一度だけ表示されます。
  3. サーバーをCascadeのMCP設定に追加する。 Windsurfで、設定 → Cascade → MCPを管理 → 生の設定を表示を開き、エンドポイントURLとBearerトークンを持つmemorylakeエントリを追加します。保存してCascadeを再起動します。Cascadeは、コード生成ターンごとにスタイルガイドの関連スライスを取得するために呼び出すことができるmemorylakeツールを持つようになります。

よくある質問

Windsurfは私のコーディングスタイルを覚えていますか?

Windsurfは.windsurfrulesglobal_rules.mdをすべてのCascadeチャットに読み込むため、シンプルなスタイルの好みは通常セッションの最初の部分で保持されます。長いチャットは以前のコンテキストを要約し、詳細なスタイルガイダンスはルールファイルに実用的な長さの上限があるため、漂ってしまうことがよくあります。

Cascadeが私のハウスコーディングスタイルに一貫して従うようにするにはどうすればよいですか?

WindsurfのネイティブMCPサポートを介して、Cascadeを外部記憶レイヤーであるMemoryLakeに接続します。あなたの完全なスタイルガイドはプロジェクト記憶に存在し、Cascadeはターンごとに関連するスライスを取得します。プロンプトの先頭に切り詰められたルールファイルに依存するのではありません。

なぜCascadeは私の規約を無視するコードを生成し続けるのですか?

それは、.windsurfrulesがコンテキストウィンドウ内の他のすべてと競合する静的テキストだからです。Cascadeが長いセッションを要約するにつれて、ルールの詳細が圧縮されます。Cascade 記憶は短いメモしかキャッチせず、例を持つ複数行のスタイルルールは保持しません。

.windsurfrulesのサイズ制限は何ですか?

Windsurfは、動作が劣化する前のルールファイルごとの約6,000文字のソフトキャップを文書化しています。実際のスタイルガイドはそれを簡単に超えるため、構造化されたスタイルガイダンスは、単一の前置きされた文字列の代わりに取得可能な記憶ストアに存在することが利益をもたらします。

CursorとClaude Codeで同じスタイルガイドを使用できますか?

.windsurfrulesは移動しません。MemoryLakeはモデルに依存しないプロジェクトにスタイルガイダンスを保存するため、同じガイドがWindsurf、Cursor、Claude Code、Claude Desktop、ChatGPT、およびMCPまたはRESTを話す任意のツールで機能します。