Windsurf IDE入門:AIエージェントで開発フローを変える
CodeiumのWindsurf IDEをゼロから導入。Cascade AIエージェントの特徴・インストール・基本操作を実例付きで解説します。
Windsurf IDE入門:AIエージェントで開発フローを変える
AIコーディングツールに「また新しいやつか」と思っていませんか?
GitHub CopilotやCursorが広く普及し、AI補完はすっかり当たり前になってきました。 そんな中で「Windsurf」という名前を耳にしたことはあるでしょうか。
2024年末にCodium(現Codeium)がリリースしたこのIDEは、単なるコード補完ツールではなく、AIエージェントが開発者と並走するワークフローを提供するという点で、既存のツールとは一線を画しています。 「補完してくれるだけ」から「一緒に考えて実行してくれる」へ——その違いを体感したい方に向けて、Windsurfの概要から導入・実際の使い方まで、ひとつひとつ丁寧に解説していきます。
Windsurfとは何か:CascadeというAIエージェントの存在
WindsurfはCodeium社が開発した、Cascadeと呼ばれるAIエージェント機能を搭載したIDEです。 ベースはVS Codeと同じElectron+Monaco Editorなので、VS Codeユーザーであれば違和感なく乗り換えられます。
他のAIコーディングツールとの違いを理解するために、Cascadeの特徴を整理しておきましょう。
Cascadeが「エージェント」たる理由
- コンテキストの自律的な収集:ファイルを指定しなくても、関連するコードを自分で読みに行きます
- 複数ファイルへの同時編集:1回の指示でプロジェクト全体にまたがった変更を提案・実行できます
- コマンド実行:ターミナルコマンドを提案し、許可を得て実行まで行います
- 差分の透明な提示:何を変更しようとしているかをdiff形式で確認してから適用できます
一般的なAI補完ツールは「開発者が書こうとしていることを予測して補完する」のに対して、Cascadeは「開発者のゴールを理解して、必要なタスクを自律的に実行する」という点で性格が異なります。
料金体系について
Cascadeの利用にはFlowsクレジットという単位が使われます。
- Free(無料):毎月一定数のFlowsが提供されます。軽いプロジェクトや試用であれば十分使えます
- Pro(月額$15前後):クレジット数が大幅に増え、商用利用に向けた制限緩和があります
- Team / Enterprise:チーム管理・SSO等のビジネス機能が追加されます
最新の料金は公式サイト(https://codeium.com/windsurf)で確認してください。 プランは変更されることがあるため、導入前に必ず公式情報を参照することをおすすめします。
インストールから初期設定まで
ダウンロードとインストール
- https://codeium.com/windsurf にアクセスします
- 「Download」ボタンからお使いのOS向けのインストーラーをダウンロードします
- macOS:
.dmg形式。ドラッグ&ドロップでApplicationsフォルダへ - Windows:
.exeインストーラーを実行します - Linux:
.debまたは.tar.gzが提供されています
- macOS:
- 初回起動時にCodeiumアカウントへのログインが求められます。GitHubアカウントでのOAuthログインが最も手軽です
VS Codeからの設定・拡張機能移行
VS Codeを普段使っている方にとって嬉しいのが、設定のインポート機能です。 初回起動後に表示されるウェルカム画面から「Import from VS Code」を選ぶと、以下を一括で取り込めます。
- キーバインド設定
- インストール済み拡張機能の一覧(互換性のあるもの)
- テーマ・フォント設定
settings.jsonの内容
この移行が完了すれば、ほぼ違和感なく使い始めることができます。
Cascade用モデルの選択
Cascadeが使用するLLMは設定から切り替えることができます。 2026年4月時点では以下のモデルが選択肢として挙げられています(利用可能なモデルはプランや時期によって変わります)。
- Claude 3.5 Sonnet / Claude 3.7 Sonnet(Anthropic)
- GPT-4o(OpenAI)
- Gemini 1.5 Pro(Google)
- Windsurf SWE-1(Codeium独自モデル)
モデルはCascadeパネル上部のドロップダウンから切り替えられます。 タスクの性質(速度重視 vs 精度重視)によって使い分けるのが実践的な運用です。
Cascadeの実際の使い方:具体的なシナリオで体験する
シナリオ1:新機能をスクラッチから作る
既存のNode.js + Expressプロジェクトに「ユーザー登録のバリデーションAPIを追加する」という場面を考えてみましょう。
Cascadeパネルに以下のように入力します。
ユーザー登録用のPOSTエンドポイント /api/users を追加してください。
リクエストボディは { email, password, name } で、
- emailはRFC5322準拠の形式チェック
- passwordは8文字以上、英数字混在
- nameは1〜50文字
としてください。バリデーションにはJoiを使い、エラー時は400を返してください。
Cascadeは次のような動きをします。
- プロジェクト内の
package.jsonを読み、Joiが未インストールならnpm install joiを提案します - 既存の
routes/ディレクトリ構成を確認し、命名規則に合わせたファイル名を選びます - バリデーションスキーマとルートハンドラーを含む新しいファイルを作成するdiffを提示します
app.jsなどの既存ファイルへのルート追加も提案します
実際に生成されるコードのイメージは以下のようになります。
// routes/users.js
const express = require('express');
const Joi = require('joi');
const router = express.Router();
const userSchema = Joi.object({
email: Joi.string().email().required(),
password: Joi.string()
.min(8)
.pattern(/^(?=.*[A-Za-z])(?=.*\d).+$/)
.required(),
name: Joi.string().min(1).max(50).required(),
});
router.post('/', async (req, res) => {
const { error, value } = userSchema.validate(req.body);
if (error) {
return res.status(400).json({
message: 'バリデーションエラー',
details: error.details.map((d) => d.message),
});
}
// TODO: DBへの保存処理
res.status(201).json({ message: 'ユーザーを作成しました', user: value });
});
module.exports = router;
差分を確認したうえで「Accept」をクリックすれば、コードがファイルに適用されます。 この一連の流れが、単なる補完ではなく「エージェントが考えて実行する」体験の核心です。
シナリオ2:バグを自然言語で報告して修正させる
Cascadeはコードレビューやデバッグにも力を発揮します。 次のような壊れたコードがあるとします。
# utils/date_helper.py
from datetime import datetime
def days_until_deadline(deadline_str):
"""YYYY-MM-DD形式の文字列から今日までの残り日数を返す"""
deadline = datetime.strptime(deadline_str, '%Y/%m/%d') # フォーマットが違う
today = datetime.today()
delta = deadline - today
return delta.days
Cascadeに以下のように伝えます。
utils/date_helper.py の days_until_deadline 関数を呼び出すと
ValueError: time data '2026-04-30' does not match format '%Y/%m/%d'
というエラーが出ます。修正してください。
Cascadeはファイルを開いてフォーマット文字列のミスを発見し、'%Y/%m/%d' を '%Y-%m-%d' に修正するdiffを提案します。
さらに「入力値が文字列でない場合の型チェックも追加しますか?」といった追加改善の提案もしてくれることがあります。
エラーメッセージをそのままペーストするだけで修正が完結するのは、実務でのデバッグ時間を大幅に短縮します。
Windsurfを使いこなすための実践ポイント
ポイント1:指示は「ゴール」で書く
Cursorのようなツールに慣れている方は「このファイルのこの関数を〜してほしい」という指示の書き方に慣れていると思います。 Cascadeではより大きな粒度、つまり「何を達成したいか」を伝えるほうがうまく機能します。
- あまり効果的でない例:「
src/api/auth.tsのlogin関数を修正してください」 - より効果的な例:「ログイン失敗時に5回連続で失敗したらアカウントを一時ロックする機能を追加してください。ロック解除は30分後にしてください」
後者のほうがCascadeは関連するファイルを自律的に探し、必要なすべての変更を一括で提案してくれます。
ポイント2:Cascade Writeモードを使い分ける
Cascadeには以下の2つのモードがあります。
- Chat(チャット)モード:コードを変更せず、質問に答えたり説明をしたりします。設計相談や調査に向いています
- Write(ライト)モード:実際にファイルへの変更を提案・適用します。実装作業に使います
「このアーキテクチャで問題ないか相談したい」ときはChatモード、「実際にコードを書いてほしい」ときはWriteモードと使い分けることで、意図しない変更を防ぎながら効率的に進められます。
ポイント3:.windsurfrules でプロジェクト固有のルールを設定する
プロジェクトルートに .windsurfrules ファイルを置くことで、Cascadeの振る舞いをカスタマイズできます。
これはCursorの .cursorrules に相当する機能です。
# .windsurfrules
## プロジェクト概要
これはTypeScript + Next.js 14 (App Router) を使用したECサイトです。
## コーディング規約
- TypeScriptの型は必ず明示的に宣言すること
- `any` 型の使用は禁止
- コンポーネントはアロー関数で定義すること
- CSSはTailwind CSSのみを使用し、インラインスタイルは禁止
## ファイル構成
- UIコンポーネント: src/components/
- APIルート: src/app/api/
- 型定義: src/types/
- ユーティリティ: src/lib/
## コミュニケーション
- コードのコメントと変数名は英語で書くこと
- エラーメッセージは日本語でよい
このファイルを置いておくだけで、Cascadeはプロジェクトの流儀を理解した上でコードを生成するようになります。 新しいメンバーがプロジェクトに参加するときのオンボーディングガイドとしても機能します。
ポイント4:変更は必ずdiffで確認してから適用する
Cascadeが提案する変更は自動的にすべて適用されるわけではありません。 必ずdiff表示でレビューする機会が与えられます。
- 緑色の行:追加されるコード
- 赤色の行:削除されるコード
「Accept All」で一括適用も、「Accept(ファイル単位)」で部分適用もできます。 意図しない変更が含まれている場合は「Reject」してCascadeに説明を求めましょう。 この確認ステップを省略しないことが、AIエージェントと安全に協働するための基本習慣です。
Cursorとの違いはどこにあるか
Windsurfを紹介する際に避けられないのが「CursorとどっちがいいのかX(旧Twitter)で話題になっているが結局どうなの?」という疑問です。 両ツールとも急速に進化しているため断定的な結論は出しにくいですが、現時点での体感的な特徴の違いをまとめておきます。
Windsurfが得意なこと
- 大規模な自律的変更:多数のファイルにまたがる変更をひとつの指示でまとめて行うのが得意です
- 文脈の自律的な取得:どのファイルを参照すべきかを自分で判断するため、「@ファイル名」指定を省略できます
- SWE-1モデル:Codeiumが独自開発したソフトウェアエンジニアリング特化モデルで、コード関連タスクの精度が高いとされています
- 無料枠の使いやすさ:Free tierでもCascadeが利用できるため、試用コストがかかりません
Cursorが得意なこと
- 細かいコンテキスト制御:
@codebase、@web、@docsなどで参照元を明示的に指定できます - Rulesの成熟度:
.cursorrulesや Rules for AI の設定が先行して成熟しており、コミュニティのナレッジも豊富です - タブ補完の精度:インライン補完(Tab補完)の快適さを評価するユーザーが多いです
結論としては「どちらが絶対的に優れているか」ではなく、作業スタイルや好みに合わせて選ぶのが現実的です。 両ツールともVS Code互換のため、設定ファイルを共有しながら並用することもできます。
よくある質問と対処法
Q. Cascadeが英語で応答してくる
.windsurfrules に「必ず日本語で回答してください」と記載するか、Cascadeへの最初の指示に「日本語で」と含めると解決します。
システムプロンプトの設定(Settings → Cascade → System Prompt)から永続的に設定することもできます。
Q. 変更が意図したものと違う
指示が抽象的すぎる場合によく起こります。 「もっと具体的に言うと〜」と続けてCascadeに補足説明をすることで、意図を正確に伝えられます。 また変更をRejectしてから「先ほどの提案のうち〇〇の部分だけ変更しないでください」と指示し直すことも有効です。
Q. 大きなプロジェクトだとレスポンスが遅い
コンテキストウィンドウに送られる情報量が増えるほど処理時間が長くなります。
.gitignore に node_modules/、dist/、.next/ などのビルド生成物が含まれているか確認してください。
これらがインデックスから除外されていることでCascadeのファイル探索が高速化されます。
Q. VS Codeの拡張機能が使えない
WindsurfはVS Code互換ですが、VSIXパッケージをそのままインストールできない拡張機能も一部あります。 Open VSX Registry(https://open-vsx.org/)に登録されている拡張機能はWindsurf内のマーケットプレイスからインストールできます。 どうしても必要な拡張機能がWindsurfで動作しない場合は、VS CodeとWindsurfを用途で使い分けるのも現実的な選択肢です。
まとめ:「補完ツール」から「AIペア」へのシフト
Windsurf IDEとCascadeが提供するのは、コードを補完してもらうという受け身の体験ではなく、AIと一緒にプロジェクトを進める能動的な開発体験です。
今回紹介した内容を振り返ると、以下のステップでスムーズに導入できます。
- https://codeium.com/windsurf からWindsurfをダウンロードし、Codeiumアカウントでログインする
- VS Codeからの設定インポートで既存の作業環境を再現する
- まず小さなタスク(バグ修正・関数追加)でCascadeの動き方を体感する
.windsurfrulesを整備してプロジェクト固有のルールをAIに覚えさせる- 指示はゴールレベルで書き、diffを必ず確認してから適用する習慣をつける
AIコーディングツールが乱立する中で、「どれを選べばいいかわからない」という方にこそ、無料枠のあるWindsurfは試しやすい選択肢です。 既存のVS Code環境を活かしながら、まず1週間だけ使ってみてください。 AIエージェントとのペアプログラミングがどういうものかを肌で感じることが、これからの開発スタイルを変える第一歩になるはずです。