Windsurfの設定 - Cascade

提供: MochiuWiki : SUSE, EC, PCB

概要

Cascadeは、Windsurfの中核的なAIエージェント機能であり、コード生成、マルチファイル編集、計画策定、デバッグ支援を統合的に提供する。
VS Codeをベースとしたエディタ環境と深く統合されており、ユーザのアクションをリアルタイムで追跡するフロー認識 (Flow Awareness) 機能を特徴とする。

Claude Codeのサブエージェント機能がMarkdownファイルで定義される独立したエージェントの並列実行を特徴とするのに対し、
Cascadeは単一の高度なAIエージェントとして機能し、モード切替 (Write / Chat)、ターボモード、メモリ機能等で柔軟な操作を実現する。

Cascadeの主な特徴を以下に示す。

  • マルチファイル推論
    複数ファイル間の依存関係を自動検出して一括編集
  • 計画機能
    マルチステップの編集計画を自動生成し、Todoリスト形式で進捗を追跡
  • フロー認識 (Flow Awareness)
    ユーザのファイル編集、ターミナル出力、エディタアクションをリアルタイムで把握
  • Fast Context (SWE-grep)
    高速なプロジェクトインデックスによるコンテキスト検索
  • Cascade Memories
    会話間のコンテキストを自動保存し、継続的な作業を支援



Cascadeの基本構造

Cascadeは、以下の4つのレイヤーで構成される。

Cascadeの構成レイヤー
レイヤー 役割 説明
AIモデルレイヤー 推論・生成 SWE-1.5、Claude、GPT等のモデルとの通信を管理
コンテキストエンジン 情報収集 Fast Context (SWE-grep) によるプロジェクトの高速検索とインデックス
ツール統合レイヤー アクション実行 ファイル編集、ターミナル実行、Web検索、MCPサーバ連携
ユーザインターフェース 操作・表示 Cascadeパネル、インラインエディット、差分表示


Cascadeは1プロンプトあたり最大25回のツール呼び出しが可能であり、
ファイル編集、ターミナルコマンド実行、Web検索、MCPサーバ経由の外部サービス連携を自動的に組み合わせる。


3つのモード

Cascadeには以下に示す3つのモードが存在する。

Code / Write モード

コードベースの修正・生成を行うモードである。

切替方法は、[Ctrl] + [Shift] + [Enter]キーを同時押下する。

主な機能
機能
マルチファイル変更計画の生成と実行
ファイルの作成・編集・削除
ターミナルコマンドの実行
リファクタリング、バグ修正、新機能実装


使用場面
場面
新しい機能の実装
バグの修正
コードのリファクタリング
ファイル構成の変更


Chat / Ask モード

質問と分析に特化したモードである。
ただし、Chatモードではファイルの修正は行われないことに注意すること。

切替方法は、[Ctrl] + [Enter]キーを同時押下する。

主な機能
機能
コードの説明・分析
デバッグ支援(原因の特定)
設計に関する質問への回答
技術的な質問への回答


使用場面
場面
コードの動作を理解したい場合
エラーの原因を調査したい場合
設計の相談をしたい場合


Planモード

マルチステップの計画策定を行うモードである。

主な機能を以下に示す。

  • 複雑なタスクの分解
  • 実行計画の策定
  • Todoリストの自動生成
  • 進捗の追跡


モードの比較
項目 Write モード Chat モード Plan モード
用途 コードベース修正・生成 質問と分析 計画策定
ファイル操作 編集・作成・削除が可能 ファイル修正は不可 計画のみ (実行はWriteモード)
ショートカット Ctrl+Shift+Enter Ctrl+Enter -
特徴 マルチファイル変更計画 コンテキスト理解と推論 タスク分解と進捗追跡



ターボモード

ターボモードは、Cascadeのコマンド実行時の承認動作を制御する設定である。

ターボモードの設定
モード 説明 推奨場面
Off 全コマンド実行前に手動承認が必須 セキュリティが重要な環境、本番環境での作業
Auto AIが安全性を判定して自動実行 (Premiumのみ) 一般的な開発作業
Turbo 拒否リスト以外のコマンドを自動実行 信頼できる開発環境での高速作業


設定方法

ターボモードの切替手順を以下に示す。

  1. Cascadeパネル上部のツールバーを確認する。
  2. ターボモードのアイコンを選択する。
  3. Off / Auto / Turbo から選択する。


安全性の考慮事項

  • Turboモードでは、危険なコマンド (rm -rf、git push --force等) は拒否リストで保護される。
  • 本番環境への接続がある場合は、[Off] または [Auto] を使用することを推奨する。
  • AutoモードはPremiumプラン以上で利用可能である。



フロー認識 (Flow Awareness)

フロー認識は、ユーザのアクションをリアルタイムで追跡し、Cascadeのコンテキストに自動反映する機能である。

下表に、追跡対象を示す。

追跡対象の一覧
追跡対象 説明
ファイル編集 ユーザが手動で行ったファイルの変更を自動検出
ターミナル出力 コマンドの実行結果をリアルタイムで把握
エディタアクション履歴 ファイルの開閉、カーソル移動等のエディタ操作を記録
クリップボード(オプトイン) クリップボードの内容をコンテキストに含める。設定で有効化)


フロー認識により、Cascadeはユーザの現在の作業状況を常に把握し、適切な提案を行うことができる。
例えば、ユーザがテストファイルを開いた後にバグ修正を依頼すると、Cascadeは関連するテストケースを自動的にコンテキストに含める。


Fast Context

Fast Contextは、プロジェクトの高速インデックスとコンテキスト検索を提供するエンジンである。

SWE-grep

SWE-grepは、プロジェクト全体のコードを高速にインデックス化し、関連するコードスニペットを瞬時に検索する機能である。

主な特徴を以下に示す。

  • プロジェクトのシンボル (関数、クラス、変数) をインデックス化
  • 自然言語クエリに基づく関連コードの検索
  • 依存関係の自動検出


SWE-grep-mini

SWE-grep-miniは、SWE-grepの軽量版であり、リアルタイムの自動補完 (Windsurf Tab) に使用される。

主な特徴を以下に示す。

  • 低レイテンシのインクリメンタル検索
  • カーソル位置周辺のコンテキスト収集
  • Windsurf Tab (Supercomplete) の補完精度向上に寄与



コンテキスト管理

Cascadeのコンテキスト管理の仕組みを以下に示す。

コンテキストウィンドウ

Cascadeのコンテキストウィンドウには使用量の視覚的なインジケータが表示される。
コンテキストが上限に近づくと、早期のメッセージが要約されてコンテキストを節約する。

@メンションによるファイル参照

Cascadeの入力ボックスで @ を入力すると、ファイルや過去の会話を参照できる。

参照可能な対象を以下に示す。

参照可能な対象の一覧
対象 説明
@ファイル名 指定したファイルをコンテキストに追加
@フォルダ名 指定したフォルダ内のファイルをコンテキストに追加
@過去の会話 過去のCascadeセッションの要約をコンテキストに追加


コンテキストの最適化

コンテキストウィンドウの使用を最適化するための推奨事項を以下に示す。

  • 新しいタスクの開始時は新しいCascadeセッションを作成する。
  • 長い会話ではコンテキストの消費状況を確認する。
  • @メンションで必要なファイルのみを明示的に指定する。
  • 不要なファイルはコンテキストから除外する。(.codeiumignore)



Cascade Memories

Cascade Memoriesは、会話間のコンテキストを自動保存する機能である。

自動メモリ

Cascadeが重要なコンテキスト (プロジェクト構造、技術的な決定、ユーザの好み等) を自動的に記憶する。

自動メモリの特徴を以下に示す。

  • 会話間でコンテキストが自動的に保持される。
  • クレジットを消費しない。
  • ワークスペースに紐づけられる。(他のワークスペースとは共有されない)


手動メモリ

ユーザがCascadeに対して明示的にメモリを作成できる。

# 手動メモリの作成例

「このプロジェクトではTypeScript + React 18を使用していることを覚えておいて」


メモリの管理

メモリの管理
操作 説明
表示 Cascadeスライダーメニューの[Memories]セクションで確認可能
削除 不要なメモリを個別に削除可能
手動作成 自然言語でCascadeに記憶を依頼


メモリの保存場所

  • メモリ
    ~/.codeium/windsurf/memories/
  • グローバルルール
    ~/.codeium/windsurf/memories/global_rules.md



.codeiumignore

.codeiumignore ファイルは、CascadeとWindsurf Tabの対象から特定のファイルやディレクトリを除外する設定ファイルである。

ファイル形式

.gitignore と同じ構文を使用する。
プロジェクトルートに配置する。

設定例

 # 依存関係
 node_modules/
 vendor/
 
 # ビルド出力
 dist/
 build/
 .next/
 
 # バージョン管理
 .git/
 
 # 圧縮ファイル
 *.min.js
 *.min.css
 *.map
 
 # 大規模データファイル
 *.csv
 *.sql
 data/
 
 # 機密情報
 .env
 .env.local
 credentials/


.codeiumignoreに記載されたファイルは、CascadeのコンテキストとWindsurf Tabの補完対象から除外される。


Arena Mode

Arena Modeは、2つの異なるAIモデルの応答を同時に生成して比較する機能である。

概要と用途

  • 2つのモデルの回答が並列で表示される。
  • ユーザがより良い回答を選択できる。
  • モデルの性能比較に使用。


使い方

  1. Cascadeパネルのモデル選択から、[Arena Mode]を選択する。
  2. 通常通りプロンプトを入力する。
  3. 2つのモデルの応答が並列で表示される。
  4. より良い応答を選択する。


注意事項

  • Arena Modeは2つのモデルを同時に実行するため、クレジット消費が通常の2倍になる。
  • コード生成よりも、設計の相談やコードレビュー等の比較が有効な場面での使用を推奨する。



同時Cascade

同時Cascadeは、複数のCascadeセッションを並列で実行する機能である。

概要

  • 複数の独立したCascadeセッションを同時に開くことができる。
  • 各セッションは独立したコンテキストを持つ。
  • 異なるタスクを並行して進めることが可能


使用場面

  • フロントエンドとバックエンドの同時開発
  • テスト作成とコード実装の並行作業
  • 異なる機能の同時実装


Claude Codeサブエージェントとの比較

Claude Codeのサブエージェントが親エージェントの指示に基づいて自動的に並列実行されるのに対し、
WindsurfのCascade同時セッションはユーザが手動で複数セッションを開いて作業する形式である。


チェックポイント機能

チェックポイント機能は、Cascadeが行った変更を過去の状態に復元する機能である。

自動チェックポイント

Cascadeが変更を行うたびに、自動的にチェックポイントが作成される。

復元方法

  1. Cascadeパネルの変更履歴を表示する。
  2. 復元したいチェックポイントを選択する。
  3. [Revert] を選択して変更を復元する。


制限事項

  • リバート後の再適用 (redo) は現在サポートされていない。
  • リバートはファイルの内容のみを復元し、ターミナルコマンドの結果は復元されない。



Claude Codeサブエージェントとの機能比較

CascadeとClaude Codeサブエージェントの詳細な比較を以下に示す。

Cascadeとサブエージェントの比較
項目 Claude Code サブエージェント Windsurf Cascade
エージェント定義 Markdownファイル (.claude/agents/) ネイティブ機能 (定義ファイル不要)
コンテキスト 各エージェント独立 (200Kトークン) 単一セッションのコンテキスト
モデル選択 エージェントごとに異なるモデル指定可 セッション単位でモデル選択
ツール制限 エージェントごとにツールアクセス制御可 統一されたツールアクセス
並列実行 複数サブエージェントの自動並列起動 同時Cascade (手動で複数セッション)
メモリ 状態記憶なし (呼び出しごとに独立) Cascade Memories (会話間で保持)
フロー認識 なし あり (ユーザアクションのリアルタイム追跡)
チェックポイント なし (Git依存) 自動チェックポイント + リバート
Arena Mode なし 2モデル同時比較
呼び出し方法 自動 (description) / 明示的 常時利用可能
ターボモード なし (Permission設定) Off / Auto / Turbo



推奨される事項

Cascadeを効果的に使用するための推奨される事項を以下に示す。

モードの使い分け

  • ソースコードの変更が必要な場合は、Writeモードを使用する。
  • ソースコードの理解や質問には、Chatモードを使用する。
  • 不要なモードでの作業を避け、コンテキストを節約する。


コンテキスト管理

  • 新しいタスクでは新しいセッションを開始する。
  • @メンション で必要なファイルを明示的に指定する。
  • .codeiumignoreで不要なファイルを除外する。


ターボモード設定

  • 開発初期はAutoモードを使用する。
  • 信頼できるプロジェクトではTurboモードで効率を向上する。
  • 本番環境への接続がある場合はOffモードを使用する。


メモリの活用

  • プロジェクト固有のコンテキストを手動メモリで保存する。
  • 不要になったメモリは定期的に整理する。



トラブルシューティング

Cascadeが応答しない

  1. インターネット接続を確認する。
  2. クレジット残量を確認する。(ダッシュボードの[Usage]ページ)
  3. 選択しているAIモデルが利用可能か確認する。
  4. Windsurf Editorを再起動する。


コンテキストの枯渇

長い会話でコンテキストウィンドウが上限に達した場合

  • 新しいCascadeセッションを開始する。
  • @メンションで必要な情報のみを引き継ぐ。
  • 重要なコンテキストはMemoriesに保存されているため、新しいセッションでも利用可能である。


ターボモードの問題

ターボモードで意図しないコマンドが実行された場合

  • ターボモードをOffに切り替える。
  • チェックポイント機能で変更を復元する。
  • 拒否リストを確認して必要に応じて更新する。


メモリ関連の問題

メモリが正しく保持されない場合:

  • Cascadeスライダーメニューの[Memories]セクションを確認する。
  • ワークスペースが正しく設定されているか確認する。
  • 不要なメモリを削除してからリトライする。



参考リンク