Skip to main content
Memories は、会話をまたいでコンテキストを共有し、保持するためのシステムです。 Windsurf には、これを実現するための仕組みが 2 つあります。Cascade によって自動的に生成される メモリ と、ユーザーがグローバル、ワークスペース、またはシステムレベルで手動で定義する ルール です。

メモリ、ルール、Workflows、それとも Skills?

Windsurf には、Cascade をカスタマイズするための方法がいくつかあります。適切なものを選ぶには、次の表を参考にしてください。
推奨: Cascade に確実に再利用してほしい知識は、自動生成されるメモリに頼るのではなく、ルールとして記述するか、リポジトリの AGENTS.md に追加してください。ルールはバージョン管理でき、チームで共有でき、有効化を明示的に制御できます。

メモリの管理方法

メモリとルールは、Cascade の右上にあるスライダーメニュー内の Customizations アイコン、または右下隅の「Windsurf - Settings」からいつでもアクセスして設定できます。既存のメモリを編集するには、対象のメモリを開いてから Edit ボタンをクリックします。

Memories

会話中、Cascade は記憶しておくと有用だと判断したコンテキストに出会うと、自動的にメモリを生成して保存できます。 また、いつでも Cascade にメモリの作成を依頼できます。Cascade に「… のメモリを作成して」と指示するだけです。 Cascade が自動生成したメモリは、作成されたワークスペースに関連付けられ、~/.codeium/windsurf/memories/ にローカル保存されます。関連があると判断したときに Cascade がそれらを取得します。あるワークスペースで生成されたメモリは、別のワークスペースでは利用できず、リポジトリにもコミットされません。
自動生成されたメモリの作成と利用ではクレジットは消費されません。
自動生成されたメモリは、お使いのマシン上にのみ保存されます。Cascade に何かを永続的に記憶させ、チームと共有したい場合は、代わりに .windsurf/rules/ 内の ルール またはリポジトリの AGENTS.md に書き込むよう Cascade に依頼してください。

Rules

ユーザーは、Cascade が従う独自のルールを明示的に定義できます。 ルールはグローバル、ワークスペース、またはシステムレベルで定義できるほか、AGENTS.md ファイルから推測されることもあります。

ルールの検出

Windsurf は複数の場所からルールを自動検出し、柔軟に整理します:
  • 現在のワークスペースとサブディレクトリ: 現在のワークスペースおよびそのサブディレクトリ内のすべての .windsurf/rules ディレクトリ
  • Git リポジトリ構造: Git リポジトリの場合、Windsurf は親ディレクトリ内のルールを見つけるために Git のルートディレクトリまでさかのぼって検索します
  • 複数ワークスペースのサポート: 同一ワークスペースで複数フォルダを開いている場合、ルールは重複が排除され、最短の相対パスで表示されます

ルールの保存場所

ルールは次のいずれの場所にも保存できます:
  • 現在のワークスペースディレクトリ内の .windsurf/rules
  • ワークスペース内の任意のサブディレクトリにある .windsurf/rules
  • 親ディレクトリ (git リポジトリでは git ルートまで) にある .windsurf/rules
新しいルールを作成すると、git ルートとは限らず、現在のワークスペースの .windsurf/rules ディレクトリに保存されます。 ルールを使い始めるには、Cascade の右上のスライダーメニューで Customizations アイコンをクリックし、Rules パネルに移動します。ここで、+ Global または + Workspace ボタンをクリックして、それぞれグローバルまたはワークスペースレベルで新しいルールを作成できます。
導入の参考に、Windsurf チームが厳選したルールのサンプルテンプレートを https://windsurf.com/editor/directory で参照できます。
ワークスペースのルールファイルは各 12,000 文字までに制限されています。グローバルルールファイルは 6,000 文字までに制限されています。

有効化モード

各ワークスペースルールは、フロントマター内の trigger フィールドで有効化モードを宣言します。これにより、ルールの内容が いつ Cascade に渡されるか、また コンテキストウィンドウをどれだけ消費するか が決まります:
グローバルルールファイル (global_rules.md) とルートレベルの AGENTS.md ファイルではフロントマターは使用されません。これらは常時有効です。
フロントマターを含むワークスペースルールの例:

ベストプラクティス

Cascade にルールを的確に遵守させるため、次のベストプラクティスに従ってください。
  • ルールはシンプル・簡潔・具体的に保ちましょう。長すぎたり曖昧だと、Cascade が混乱するおそれがあります。
  • 一般的なルール (例: “write good code”) を追加する必要はありません。これらはすでに Cascade の学習データに組み込まれています。
  • ルールは箇条書き、番号付きリスト、Markdown を用いて記述しましょう。長文の段落よりも Cascade が理解・遵守しやすくなります。例えば:
  • XML タグは、類似するルールを伝え、まとめて整理するための効果的な手段になり得ます。例えば:

システムレベルのルール (Enterprise)

Enterprise 組織は、すべてのワークスペースにグローバルに適用され、管理者権限を持たないエンドユーザーが変更できないシステムレベルのルールをデプロイできます。これは、組織全体でのコーディング標準、セキュリティポリシー、コンプライアンス要件の遵守を徹底するのに最適です。 システムレベルのルールは、OS 固有のディレクトリから読み込まれます: macOS:
Linux/WSL:
Windows:
ルールファイル (.md ファイル) を、お使いのオペレーティングシステムごとの所定のディレクトリに配置してください。システムはこれらのディレクトリから、すべての .md ファイルを自動的に読み込みます。

システムレベルのルールの仕組み

システムレベルのルールは、ワークスペースおよびグローバルルールと統合され、ユーザー定義ルールを上書きすることなく Cascade に追加のコンテキストを提供します。これにより、組織はベースラインとなる基準を確立しつつ、各チームがプロジェクト固有のカスタマイズを追加することも可能になります。 Windsurf の UI では、システムレベルのルールは「System」というラベルが付いた状態で表示され、エンドユーザーが削除することはできません。
重要: システムレベルのルールは、IT チームやセキュリティチームによって管理される必要があります。組織のポリシーに従って、社内チームがデプロイ、更新、およびコンプライアンス対応を行うようにしてください。そのための手段として、Mobile Device Management (MDM) や構成管理 (Configuration Management) などの標準的なツールやワークフローを利用できます。