近年、AI支援プログラミングの分野では急速な進展が見られ、様々なソフトウェアツールが次々と登場しています。GitHub CopilotからChatGPT、Claude、Cursorなど、これらのツールの一部を体験された方も多いでしょう。最近、この分野に新たな重要なプレーヤーが登場しました。それがWindsurf AIエディタです。Windsurf AIエディタは、ChatGPTを初めて使った時のような魔法のような体験を提供することを目指しています。この記事では、Windsurf AIエディタのさまざまな側面、主な製品機能、使用方法、実際の例、およびベストプラクティスについて掘り下げていきます。
Windsurf AIエディタとは何か、何ができるのか?
Windsurfは、AI機能を統合したコードエディタであり、創設者によれば、世界初のエージェント型IDEとして位置付けられています。オープンソースのVS Codeエディタをベースに構築されており、VS Codeがサポートするすべてのプログラミング言語をサポートし、VS Codeのプラグインエコシステムと互換性があります。OpenAIのGPT 4oやClaude 3.5 Sonnetなどの大規模モデルを活用して、コアAI機能を提供しています。さらに、独自のCascade BaseとCodeium Fastモデルを開発し、ユーザーに多様な選択肢を提供しています。
Windsurfの主な機能には、コードの自動補完、深いコンテキスト認識を持つAI駆動のコード生成、そしてAIエージェントのように複雑な問題を自動的に複数ステップで解決する能力が含まれます。創設チームは、WindsurfがCopilotのように開発者とシームレスに連携しながら、AIエージェントのように複雑な問題を独立して解決できる能力を持つことを望んでいます。この体験を「Flows」と呼び、開発者にスムーズでシームレスな体験を提供することを目指しています。
主な機能
- Cascade AIアシスタント: CascadeはAIエージェントの機能を持ち、コマンドを自動的に分析し、プロジェクトのコードをスキャンして複雑なタスクをステップバイステップで完了します。
- 自動補完: 書こうとしているコードを自動的に予測し、1回のキーストロークで補完します。
- Supercomplete: コンテキストと意図を認識した予測を提供し、新しいコードを追加するだけでなく、既存のコードに対する一貫した修正提案も行います。
- エディタ内チャット: 小さなコードスニペットの説明、リファクタリング、コメントやドキュメントの生成に使用できます。
- コンテキストの指定: Cascadeで
@
を入力して、特定のファイル、ディレクトリ、またはコードブロックをコンテキストとして選択し、AIとチャットする際により正確な制御が可能です。 - 深いコンテキスト認識: Windsurfは、Codeiumのこの分野での長年の研究を取り入れ、コードベースを深くスキャンし理解して、より効果的な出力と提案を提供します。
- コマンドライン操作の提案: 関連するコマンドライン操作を自動的に提案します。例えば、Windsurfにサードパーティの依存関係を必要とする関数を完了するよう依頼した場合、関連ファイルを修正し、依存関係をインストールするコマンドを実行するよう促し、確認クリックを求めます。
- 複数ファイルの編集: 複数のファイルを同時に修正しながら、修正内容の一貫性を確保します。
- CodeLenses: パンくずナビゲーションの上部にExplain、Refactor、Add Docstringなどのクイックアクションを表示し、簡単に1クリックで実行できます。
- ターミナルチャット: コマンドラインでChat機能を使用して、AIに実行可能なコマンドを生成させ、コマンドを書いたり検索エンジンを使用したりする手間を省きます。
詳細な機能概要
Cascadeの概要
Cascadeは、WindsurfのAIアシスタントの名前です。コードベースの深い理解能力、高度な組み込みツールの使用能力、そしてリアルタイムのユーザー意図感知能力を持っています。これらの能力を組み合わせること で、Cascadeは開発者に自然でスムーズな体験を提供することを目指しています。
Windsurfエディタのメニューバーの右上にあるCascadeアイコンをクリックすると、以下のようにCascadeウィンドウが開きます。

Cascadeは主に2つのモードで動作します:チャットモードとライトモードです。以下のように表示されます:

ライトモード

チャットモード
ライト/チャットモードの上にあるアイコンをクリックすると、2つのモードを切り替えることができます。また、チャットボックスの下にあるスイッチボタンをクリックするか、ショートカットキーを使用して切り 替えることもできます。(WindowsではCtrl + .、Macでは⌘ + .)

ライトモードでは、Cascadeはコードの修正、既存ファイルの編集、新しいファイルの追加などの操作を行うことができ、実際のコード作成に関連するタスクに適しています。
チャットモードでは、Cascadeはチャットウィンドウでのみ応答し、ファイルを直接変更しようとはしません。これは、コード自体に関係のない質問をする場合や、Cascadeがコードを直接変更しないようにしたい場 合に適しています。
Cascadeの深いコンテキスト認識
Cascadeの深いコンテキスト認識能力は、Windsurfの創設チームであるCodeiumがこの分野で積み上げてきた長年の研究経験に基づいています。深いコンテキスト認識を通じて、生産環境で大規模なコードベースに直 面しても、Cascadeは自身の知識ベースのみに頼るのではなく、プロジェクト内の関連するコードに基づいて結果や提案を生成することができます。
以下はビデオの例です。この例から、CascadeがAIエージェントのように直面するタスクを分析し、まずプロジェクト内の現在のタスクに関連する内容を特定し、その後ステップバイステップで要件を完了することが わかります。
Cascadeの自動コマンドライン操作の提案
CascadeとAIエージェントのようにコードを書く過程で、途中で特定のコマンドライン操作を実行しなければ通常通り続行できないことが判明した場合、Cascadeは直接チャットウィンドウに実行するコマンドを提示 し、あなたの許可を求めます。実行を確認するためにクリックするだけで、Cascadeが続行できるようになり、Cascadeは実行後に得られた結果を自動的に読み取り、その結果に基づいて次のステップを進めます。
Cascadeのリアルタイムディープインテントセンシング
一般的に、コードを書く際には常にAIの助けが必要なわけではありません。むしろ、自分で書いた後にAIの助けを借り、その後また自分で論理を完成させることが多いでしょう。AI支援のプログラミングツールがこ の状況に最適化されていない場合、コンテキストの欠如からより良い結果を提供できない可能性があります。Windsurfは、Cascadeに強力な推論能力を備え、現在の操作に基づいたユーザーの意図の深い分析を組み合 わせています。Cascadeの助けが必要なときはいつでも、Cascadeは常により正確に何をしたいのかを理解することができます。これにより、多くの場合、AIに何をしたか、次に何をしたいかを繰り返し伝える手間が 省けます。もちろん、AIにより明確な要件を与えることは常に良いことですが、時にはその手間を省けるのであれば、それは良いことではないでしょうか?
Cascadeのマルチファイル同時編集
単純なタスクに対しては、単一のファイル内でコードを書いたり修正したりすることで十分です。しかし、より複雑なタスクに対しては、複数のファイルや様々なタイプのファイルを修正する必要があります。AI支 援のプログラミングツールにとって、どのファイルを同時に修正するかを知るだけでなく、異なるファイル間の修正が一貫性があり、相互に反応することを保証することも必要です。Cascadeは、深いコンテキスト認 識能力とAIエージェントのように段階的にタスクを完了する能力でこれをうまく実現します。
オートコンプリート
オートコンプリート機能は、次に書くコードを予測します。単一の行のコードだけでなく、大きなコードのブロックを予測して生成することもできます。Windsurfが誕生する前に、Codeiumはこの分野で数年の経験を 積んでおり、今ではこの機能がWindsurfエディタに直接組み込まれています。

スーパーオートコンプリート
なぜオートコンプリートがあるのにスーパーオートコンプリートが必要なのでしょうか?オートコンプリートは「追加のみ」タイプの予測であり、次に追加するコードを予測するだけです。一方、スーパーオートコ ンプリートは、コードを書いたり修正したりする際に関連するコードの修正を予測することができます。例えば、フィールド名を変更すると、スーパーオートコンプリートはこの変数名が使用されているすべての場 所を自動的に検出し、修正を提案します。Tabキーを押すだけで受け入れることができます。スーパーオートコンプリートのタイミングは、コンテキストに基づいてWindsurfによってインテリジェントに予測され、特 定の条件が満たされたときに自動的にトリガーされます。トリガーされる一般的なシナリオには、上記の例の他に、型定義の修正、スペルミスの修正、そしてフォームへのイベントハンドラのバインドが含まれます 。

エディタ内チャットアシスタンス
エディタ内の任意の位置でショートカットキー(WindowsではCtrl + I、Macでは⌘ + I)を通じてインラインチャットウィンドウを開くことができます。
また、コードを選択すると、選択したコードの横に自動的にバブルプロンプトが表示されます。

コマンドラインAIチャット
コードを書くときにAIの助けを借りるだけでなく、コマンドライン操作中に忘れたコマンドライン操作をAIに生成させることもできます。これにより、情報を検索する手間が省けます。ただし、親切なお知らせ:AI が生成したコマンドには欠陥がある可能性があるため、実行前に必ず確認してください。

コードレンズ
メニューバーの上部には、コードの説明、リファクタリング、ドキュメントコメントの追加などの一般的な操作のためのボタンがあり、ワンクリックで実行できます。


よくある質問
Windsurfは他のAIコードエディタ(CursorやCognitionなど)とどう違うのですか?
どちらもAI支援型のプログラミングソフトウェアですが、製品の形態や使いやすさに違いがあります。
例えば、Cognition(Devin)はIDEとは独立しており、AIが複雑な大規模タスクを独立して完了することに重点を置いています。開発者とのリアルタイムコラボレーションよりも、AIが主導権を握る傾向があります。
Cursorと比較すると、CursorのComposerもAIエージェントのように複雑なタスクを実行できますが、Cursorはまだ大規模なプロモーションを行っていません。著者の経験に基づくと、Codeiumが長年にわたり深いコードコンテキストの理解に蓄積してきたことから、Windsurfは複雑なタスクや大規模なコードベースを扱う際に優位性を持つ可能性があります。
Windsurfは無料ですか?
Codeiumは公式サイトで、Cascadeの多くの機能を無料で利用できるようにする予定であると述べていますが、コストの関係上、より包括的な機能は有料でのみ提供されることになります。ただし、新規ユーザーはまず2週間の無料トライアル期間が設けられています。