短い答え
Windsurfがアーキテクチャの決定を忘れるのは、Cascadeに過去のチャットの持続的なクロスセッション記憶がなく、.windsurfrulesファイルが完全なADRとその根拠を保持するには小さすぎるからです(約6,000文字の制限)。決定の詳細は古いセッションで消え、長いセッションでは圧縮されます。取得可能なプロジェクト記憶があれば、すべてのチャットとすべてのツールで決定をクエリ可能になります。
Windsurfがアーキテクチャの決定を忘れる理由
アーキテクチャの決定はコードベースにおいて最も価値のあるコンテキストであり、すべてのエディタのネイティブ記憶によって最も悪く扱われます。失われる原因は、Cascadeの3つのメカニズムです:
1. チャット内容のためのクロスセッション記憶がない。 Cascade Memoriesは短いワークスペーススコープのメモをキャプチャします。90メッセージの設計ディスカッションの完全な理由の連鎖を保存するようには設計されていません。新しいチャットを開くと、すべての決定の背後にある理由はチャットサイドバーにあり、あなたには読めますが、エージェントには見えません。
2. ルールファイルがADRsには小さすぎる。 実際のADRにはコンテキスト、考慮されたオプション、決定、結果、フォローアップがあります。それらを6,000文字の.windsurfrulesに詰め込むのは現実的ではありません。ほとんどのチームは諦めて、1行だけを書くことになります:「Drizzleを使用する」。その行は生き残りますが、根拠は生き残らず、Cascadeは拒否されたオプションを再提案し続けます。
3. セッション内の要約が理由を圧縮する。 Codeiumは、以前のバージョンが重要なコンテキストを落としたため、Cascadeの要約機能の改善を文書化しています。今でも、要約は情報を失います。理由は短い文に言い換えられ、Cascadeはその背後にある制約を失います。
Windsurfがアーキテクチャの決定を忘れると失うもの
失われた根拠は最も高価なコンテキストの損失です:
- 拒否されたオプションが再び現れる。 Prismaはすでに評価され、拒否されました。理由がないと、Cascadeは再び提案します — そして、あなたの反発がなければ、ジュニア開発者やあまり懐疑的でないレビュアーがそれを受け入れるかもしれません。
- 決定が毎スプリントで再訴訟される。 「Redisを使用しますか?」は3月に回答されました。取得可能な記録がないと、5月に再度尋ねられ、セッションを無駄にして再決定します。
- 新しいコードが古い決定を静かに侵害する。 「すべての支払いはStripe Checkoutを通じて、決して生APIを使用しない」と一度決定されました。次の機能は生APIを使用しますが、その制約はエージェントに届きませんでした。
Windsurfの組み込みの回避策(それぞれの短所)
Windsurfには3つの関連メカニズムがあります。どれもADRスケールのコンテンツには作られていません。
`.windsurfrules` はあなたのスタックに関するいくつかのワンライナーを保持できます。しかし、実用的な文字制限のため、完全なADRsを保持することはできませんし、Cascadeはセッションが増えるにつれて読み込まれたルールを要約します。
Cascade Memoriesはチャット中に短いメモを自動生成します。「ユーザーは小さなPRを好む」に役立ちますが、「私たちはこれらの5つの制約のためにDrizzleをPrismaより選びました」というのには役立ちません。
ワークフローは繰り返し可能な手順をスクリプト化できます。記憶機能ではなく、役に立ちません。
公式のCascade Memoriesドキュメントを読んで、完全な機能を確認できます。
小さな好みに対してはネイティブが機能しますが、あなたのチームのアーキテクチャの根拠にはその仕事に適していません。
Windsurfの組み込みの記憶が不足している点
アーキテクチャの決定はエディタスコープではありません。プロジェクトスコープであり、しばしば組織スコープです。「私たちはDrizzleを選んだ」という同じ決定は、Cascade、Cursor、Claude Code、ChatGPT、またはコードレビューツールのいずれにおいても適用されます。Windsurfのネイティブ機能はWindsurfを超えて移動せず、/docs/adr/フォルダ内のADRsは、すべてのツールのすべてのエージェントが実際に見つけて使用できる場合にのみ役立ちます。
記憶はエディタではなく、プロジェクトに従う必要があります。
MemoryLakeがWindsurfのアーキテクチャの決定を忘れる問題を解決する方法
MemoryLakeは、CascadeのネイティブMCPサポートを介してWindsurfに接続するクロスモデル記憶レイヤーです。ルールファイルにADRsを詰め込もうとするのではなく、ADRフォルダと設計ディスカッションをプロジェクトにロードし、Cascadeはターンごとに関連する決定を取得します。
- ADRsをファーストクラスの記憶として。
/docs/adr/フォルダ、RFC、および過去の設計ディスカッションをプロジェクトにドロップします。Cascadeがデータレイヤーをスキャフォールドしようとする際に、「ADR-014: ORMの選択」を引き出し、完全な根拠を確認できます。 - 生のプロンプトの10,000倍のコンテキスト。 MemoryLakeの取得エンジンは、プロジェクト記憶の数十億トークンから読み取り、ターンごとに関連するADRのみを返します。ルールファイルの制限はなく、要約のドリフトもありません。
- すべてのAIにわたる1つの決定ログ。 同じADRsがCursor、Claude Code、ChatGPT、Claude Desktop、Geminiで表示されます。新しい開発者が任意のツールを開くと、同じ理由で同じ決定が表示されます。
MemoryLakeはまた、記憶のGitスタイルのバージョン管理を提供し、ADRが上書きされると、差分と履歴を取得できます — 静かな上書きではありません。2026年時点でのLoCoMo長文コンテキストベンチマークで94.03%を記録し、ミリ秒単位の取得とAES-256のエンドツーエンド暗号化を実現しました。
MemoryLakeをWindsurfに接続する3つのステップ
- プロジェクトを作成し、決定履歴をロードします。 MemoryLakeにサインインし、プロジェクト管理を開き、「プロジェクトを作成」をクリックし、リポジトリの名前を付けます(例:「acme-platform — ADRs」)。
/docs/adr/、RFCフォルダ、およびDocument Driveを介してエクスポートされたCascadeチャットをアップロードします(PDF、Markdown、Word、Excel、画像すべてがサポートされています)。迅速な取得のために、Memoriesタブに重要な決定の短い要約を追加します。 - MCPサーバーエンドポイントを生成します。 プロジェクト内のMCPサーバータブを開き、「MCPサーバーを追加」をクリックし、「Windsurf統合」と名付けて「生成」をクリックします。MemoryLakeはAPIキーID、シークレット、およびエンドポイントURLを返します。シークレットは一度だけ表示されるので、すぐにコピーしてください。
- サーバーをCascadeのMCP設定に追加します。 Windsurfで、設定 → Cascade → MCPを管理 → 生の設定を表示を開き、エンドポイントURLとBearerトークンを持つ
memorylakeエントリを追加します。保存してCascadeを再起動します。これでCascadeは、アーキテクチャに基づいたコードを書く前に決定履歴を参照するために呼び出すことができるmemorylakeツールを持つことになります。