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

WindsurfはなぜCascadeのコンテキストを忘れるのか?

あなたはCascadeで1時間を過ごし、4つのファイルにわたるリファクタリングを進めています。すべてを追跡し、以前のターンを引用し、賢い判断を下しています。しかし、30番目のメッセージのあたりで、メッセージ5で確立した詳細について静かになり、突然2時間前に明示的に拒否したパターンを提案してきます。

Cascadeは壊れていません。圧縮されたのです。これが理由であり、すべてのセッションでプロジェクトのコンテキストを保持する方法です。

短い答え

WindsurfはCascadeのコンテキストを忘れるのは、Cascadeが有限のセッションごとのコンテキストウィンドウ内で動作し、ウィンドウが満たされるにつれて以前のターンを自動要約するためです。また、ネイティブの記憶は短いワークスペーススコープのノートであり、完全なプロジェクトの記憶ストアではありません。長いセッションでは詳細が失われ、新しいセッションは空白から始まります。修正方法は、Cascadeがすべてのターンで読み取る持続的なプロジェクトの記憶レイヤーです。

WindsurfがCascadeのコンテキストを忘れる理由

Cascadeは有限のコンテナ内の強力なエージェントです。忘却を説明する3つの設計選択があります。

1. コンテキストウィンドウはセッションごとで有限です。 CascadeはClaude Sonnet、GPT-4.1、その他の最前線モデルで動作し、ウィンドウは最大1Mトークンです。ウィンドウは寛大ですが、無限ではなく、新しいセッションごとにリセットされます。多くのファイルを読み、多くのツールを実行する長いエージェントの実行は、予想以上に早くウィンドウを満たします。

2. Cascadeはウィンドウが満たされると自動要約します。 Cascadeが上限に近づくと、会話を続けるために以前のターンを短い要約に圧縮します。Codeiumはこの要約を「長い会話をより良く処理する」ように改善しました — 以前のバージョンは重要なコンテキストを削除するほど攻撃的でした。現在でも、要約は損失があります。ターン5からのあなたの推論は、ターン50までに1行になります。

3. 記憶は短いノートであり、ドキュメントストアではありません。 WindsurfのCascade記憶機能は、エージェントがワークスペーススコープのノート(「ユーザーはTailwindを好む」、「このプロジェクトはBunを使用する」)をメモすることを可能にします。ストアは~/.codeium/windsurf/memories/にあり、短い観察のために設計されており、完全な仕様、トランスクリプト、または決定ログのためではありません。

結果として、Cascadeはセッション内では素晴らしいですが、セッション間では健忘症です。

WindsurfがCascadeのコンテキストを忘れると失うもの

すべてのCascadeリセットは、あなたに立ち上がりの時間を費やさせ、その損失はプロジェクト全体に累積します。

  • セッション中の詳細が言い換えられます。 ターン5で述べた制約 — 「レガシーusers_v1テーブルは既存のスキーマを維持しなければならない」 — は、ターン40で「レガシーのユーザーテーブルを尊重する」と要約され、Cascadeは静かにスキーマフリーズルールを削除します。
  • アーキテクチャの決定がセッション間で消えます。 「エッジランタイムのためにDrizzleをPrismaより選びました」は昨日のチャットにあります。今日のCascadeチャットはそれを知らず、Prismaでスキャフォールディングします。
  • ファイル間のコンテキストが断片化します。 Cascadeはワークスペース内のすべてのファイルを読み取ることができますが、3セッション前に読んだ内容を記憶することはできません。各セッションは再読み込み、再要約、再損失します。

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

Windsurfはこの問題に部分的に対処する3つの機能を出荷しましたが、どれも解決には至っていません。

Cascade Memoriesは、セッション中にワークスペーススコープのノートを自動生成します。「pnpmを使用していることを覚えておいてください」に便利です。「先週の木曜日のチャットでマッピングした完全なデータフローを覚えておいてください」には限界があります。記憶は設計上短く — 通常は1文または2文 — で、ストアはワークスペースごとにディスク上に存在し、マシン間でプロジェクトごとではありません。

ルールglobal_rules.mdおよび.windsurfrules)は、Cascadeが毎セッション読み込む耐久性のある指示を書くことを可能にします。慣習には良いですが、決定ログ、トランスクリプト、または設計文書のような進化するコンテキストには設計されていません。

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

静的な動作にはネイティブが機能します。長期的なプロジェクトの実質には不足しています。完全な内訳については、公式のCascade Memoriesドキュメントを参照してください。

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

Cascade MemoriesはWindsurf内に存在します。移動しません。もしあなたがChatGPTで仕様をドラフトし、Claude Codeで長いエージェントループを実行し、CursorでPRをレビューしているなら — そして私たちが聞くほとんどのチームは正にそうしています — あなたのプロジェクトのコンテキストの半分は、Cascadeが読み取れないツールに存在します。

プロジェクトが作業の単位です。記憶はプロジェクトに従う必要があり、エディタには従いません。

MemoryLakeがWindsurfのCascadeコンテキスト忘却を修正する方法

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

  • プロジェクトごとの記憶、ドキュメントの忠実度。 仕様、ADR、過去のCascadeトランスクリプト、決定ログはプロジェクト内に存在します。Cascadeはターンごとに必要なものを取得します — ターン5からのスキーマ制約はターン500でも取得可能です。
  • 生のプロンプトの10,000倍のコンテキスト。 MemoryLakeの取得エンジンは、数十億のトークンのプロジェクト記憶から読み取り、関連するものだけを表面化します。重要な詳細が崩れるのをCascadeの要約を見守る必要はありません。
  • すべてのエディタとAIでポータブル。 同じプロジェクト記憶がCursor、Claude Code、Claude Desktop、ChatGPT、Gemini、Grokで機能します。プロジェクトの途中でツールを切り替えても、コンテキストが追従します。

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

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

  1. プロジェクトを作成し、コンテキストをロードします。 MemoryLakeにサインインし、プロジェクト管理を開き、プロジェクトを作成し、ワークスペースにちなんで名前を付けます(例:「acme-api — Cascadeコンテキスト」)。ドキュメントドライブを通じて仕様、ADR、過去のCascadeトランスクリプトをアップロードします(PDF、Markdown、Word、Excel、画像すべてサポートされています)。プロジェクトと一緒に移動するように、メモタブに常駐指示を追加します。
  2. MCPサーバーエンドポイントを生成します。 プロジェクト内のMCPサーバータブを開き、「MCPサーバーを追加」をクリックし、「Windsurf統合」と名付けて「生成」をクリックします。MemoryLakeはAPIキーID、シークレット、およびエンドポイントURLを返します。シークレットは一度だけ表示されるため、すぐにコピーしてください。
  3. サーバーをCascadeのMCP設定に追加します。 Windsurfで、設定 → Cascade → MCPを管理 → 生の設定を表示を開き、エンドポイントURLとBearerトークンを持つmemorylakeエントリを追加します。保存してCascadeを再起動します。これでCascadeは、必要に応じてプロジェクト記憶を引き出すために呼び出すことができるmemorylakeツールを持つようになります。

よくある質問

Windsurfには記憶がありますか?

Windsurfには2つの記憶メカニズムがあります:Cascade Memories(Cascadeによって自動生成された短いノートで、~/.codeium/windsurf/memories/に保存されています)とルール(手動で書かれたglobal_rules.mdおよび.windsurfrulesファイル)。どちらも完全なドキュメントや完全なトランスクリプトを保存せず、ワークスペースにスコープされています。

長いセッション間でCascadeにコンテキストを記憶させるにはどうすればよいですか?

WindsurfのネイティブMCPサポートを介して、CascadeをMemoryLakeの外部記憶レイヤーに接続します。プロジェクトファイル、決定、過去のCascadeトランスクリプトは一度保存され、ターンごとに取得されるため、Cascadeはもはやウィンドウ内に収まるために自分の会話を圧縮する必要がなくなります。

なぜCascadeは以前のチャットで言ったことを忘れ続けるのですか?

Cascadeは、コンテキストウィンドウが満たされるにつれて以前のターンを自動要約するためです。Codeiumは、以前の要約が重要な詳細を削除するほど攻撃的であったことを認めています。改善があっても、要約は損失があります — 微細な制約が1文に圧縮されます。

Cascadeのコンテキストウィンドウのサイズはどのくらいですか?

Cascadeのウィンドウは、選択したモデルによって異なります — 最大で約1Mトークン(最も大きなモデルで) — で、セッションごとです。新しいセッションでは新しいウィンドウです。多くのファイルを読み取る長いセッションは、モデル仕様が示唆するよりも早くウィンドウを満たします。

CursorやClaude CodeとCascadeのコンテキストを共有できますか?

Cascade Memoriesはポータブルではありません。MemoryLakeはモデルに依存しないプロジェクトに記憶を保存するため、同じコンテキストがWindsurf、Cursor、Claude Code、Claude Desktop、ChatGPT、およびMCPまたはRESTを話すツールで機能します。