MochiuWiki : SUSE, EC, PCB
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
AIモデル - Windsurfのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
AIモデル - Windsurf
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Windsurf (旧Codeium) は、Codeium社が開発したAI駆動の統合開発環境である。<br> VS Codeをベースにしたスタンドアロンエディタで、Cascadeと呼ばれるAIエージェント機能を中心に展開している。<br> <br> 2024年11月にCodeiumからWindsurfにリブランドされた。<br> <br> 主要機能を以下に示す。<br> * Cascade (AIエージェント) *: マルチファイル推論、計画機能、ツール統合を備えたAIエージェント *: Writeモード (コード編集) と Chatモード (質問・分析) を切り替え可能 * Windsurf Tab (自動補完) *: Supercomplete (追加・削除を同時提案する推奨モード) とAutocomplete (従来型補完) を搭載 *: SWE-1-miniモデルによるリアルタイム補完 * SWE-1モデルファミリー *: Windsurf独自開発のソフトウェアエンジニアリング特化モデル *: SWE-1.5、SWE-1、SWE-1-miniの3種類 * Memory (メモリ機能) *: 会話間のコンテキストを自動保存 *: ワークスペースに紐づけられ、クレジットを消費しない * MCP (Model Context Protocol) 対応 *: 外部サービスとの連携を実現するプロトコル * Workflows (ワークフロー) *: 反復的なタスクをスラッシュコマンドで自動化 *: ワークフロー間のチェーン呼び出しも可能 * Worktrees (Wave 13以降) *: Git Worktreeを利用した並列タスクの安全な分離実行 *: ワークスペースあたり最大20のWorktreeを管理可能 <br> <center> {| class="wikitable" |+ 料金プラン ! プラン !! 月額料金 !! クレジット/月 !! 特徴 |- | Free || $0 || 25クレジット || 基本機能、お試し用 |- | Pro Trial || 無料 (2週間) || 100クレジット || Pro機能を2週間無料体験 |- | Pro || $15/月 || 500クレジット || 個人開発者向け、高性能モデル利用可 |- | Teams || $30/月/ユーザ || 500クレジット || チーム管理機能、管理者ダッシュボード |- | Enterprise || $60/月/ユーザ || 1000クレジット || SSO、SAML、専用サポート |} </center> <br> クレジットは月次でリセットされ、使い切った場合は追加購入も可能である。<br> 2025年4月に料金体系が簡素化され、従来の2種類のクレジット制度からシンプルなプロンプトクレジット制度に統一された。<br> <br> <center> {| class="wikitable" |+ Claude CodeとWindsurfの機能対応表 ! Claude Code !! Windsurf !! 説明 |- | サブエージェント || Cascadeの計画エージェント / MCP || サブエージェント相当機能はCascadeの自律編集とMCPで実現 |- | スキル || Agent Skills || SKILL.mdベースの多段階ワークフロー定義 |- | ルール || Windsurf Rules / .windsurfrules / AGENTS.md || .windsurf/rules/ に配置するMarkdownファイル、または .windsurfrules / AGENTS.md |- | MCPサーバ || MCPサーバ || - |- | (該当なし) || Workflows || スラッシュコマンドで呼び出す反復タスクの自動化 |- | (該当なし) || Worktrees || Git Worktreeを利用した並列タスク実行 (Wave 13以降) |} </center> <br><br> == 対応AIモデル == <center> {| class="wikitable" |+ 対応モデル一覧 ! プロバイダ !! モデル名 |- | Windsurf || SWE-1.5, SWE-1, SWE-1-mini |- | Anthropic || Claude Opus 4.6, Claude Sonnet 4.5, Claude Sonnet 4 |- | OpenAI || GPT-5.3-Codex, GPT-5.2-Codex, GPT-4.1, GPT-4o |- | Google || Gemini 3 Flash, Gemini 3 Pro, Gemini 2.5 Pro |- | その他 || Grok, DeepSeek |} </center> <br> ==== SWE-1モデルファミリー ==== Windsurf独自開発のソフトウェアエンジニアリング特化モデルである。<br> <br> 各モデルの特徴を以下に示す。<br> * SWE-1.5 *: SWE-Bench Proで40.08[%]を達成 *: 実行速度950 トークン/s (Haiku 4.5の6倍、Sonnet 4.5の13倍高速) *: ソフトウェアエンジニアリング特化のフロンティアサイズモデル * SWE-1 *: 最大規模の高性能モデル *: Claude 4.5 Sonnet、GPT-5.1と競合するレベル *: 有料ユーザ向け * SWE-1-mini *: Windsurf Tabのリアルタイム補完に特化した軽量モデル *: 全ユーザに無制限提供 <br> ==== Cascadeハーネスによる性能向上 ==== 同じベースモデル (例: Claude Sonnet) でもCascadeハーネス経由で実行すると、ネイティブ実装と比較して11パーセントポイント以上のSWE-benchスコア向上が確認されている。<br> これはハーネス設計とモデルの深い統合 (エディタ連携、リント検査、コマンド実行の最適化) による相乗効果である。<br> <br><br> == 主要機能 == ==== Cascade ==== Cascadeは、Windsurfの中核的なAIエージェント機能である。<br> <br> 主な機能を以下に示す。<br> * マルチファイル推論 *: 複数ファイル間の依存関係を自動検出して一括編集 * 計画機能 *: マルチステップの編集計画を自動生成 *: Todoリスト作成と複雑なタスク追跡 * ツール統合 *: 検索、Web検索、MCPサーバ、ターミナル実行 (最大25ツール呼び出し/プロンプト) * フロー認識 (Flow Awareness) *: ユーザのアクション、ターミナル出力、エディタの変更をAIが常に把握 <br> <center> {| class="wikitable" |+ Writeモード と Chatモードの違い ! 項目 !! Writeモード !! Chatモード |- | 用途 || コードベース修正・生成 || 質問と分析 |- | ファイル操作 || 編集・作成・削除が可能 || ファイル修正は不可 |- | 特徴 || マルチファイル変更計画と実行 || コンテキスト理解と推論に特化 |} </center> <br> <center> {| class="wikitable" |+ ターボモード ! モード !! 説明 |- | Off || 全コマンド実行前に手動承認が必須 |- | Auto || AIが安全性を判定して自動実行 (Premiumのみ) |- | Turbo || 拒否リスト以外のコマンドを自動実行 |} </center> <br> ==== Windsurf Tab ==== コード補完機能を提供する。<br> <br> 主な機能を以下に示す。<br> * Supercomplete (推奨モード) *: カーソル周辺の追加・削除を同時に提案する高度な補完 * Autocomplete *: 従来型のカーソル位置での補完 * Tab to Jump *: 関連する編集箇所への自動ジャンプ * Tab to Import *: 使用しているライブラリの自動インポート <br> コンテキスト認識の仕組みを以下に示す。<br> * ファイル内容と構造 *: 現在のファイルとプロジェクト構造を解析 * ターミナルの実行結果 *: 直前の実行結果を補完に反映 * Cascadeチャット履歴 *: 会話の文脈を考慮 * エディタアクション履歴 *: 過去の編集パターンを学習 * クリップボード (オプトイン) *: クリップボード内容を補完に活用 <br> ==== Memory ==== 会話間のコンテキストを自動保存する機能である。<br> <br> Memoryの特徴を以下に示す。<br> * 会話間のコンテキストを自動保存 (クレジット不消費) * 手動でメモリを作成可能 * ワークスペースに紐づけ (他のワークスペースとは共有されない) <br> ==== その他の機能 ==== その他の補助機能を以下に示す。<br> * リバート機能 *: Cascadeが行った変更を過去の状態に戻せる *: 現在はリバート後の再適用は不可 * 音声入力 *: 音声テキスト変換に対応 * メッセージキューイング *: Cascadeの処理中に追加リクエストをキュー登録可能 <br><br> == Windsurfアカウントの契約手順 == ==== ステップ 1 : アカウントの作成 ==== WindsurfのWebサイトにアクセスしてアカウントを作成する。<br> * https://windsurf.com <br> アカウント作成手順を以下に示す。<br> # [https://windsurf.com Windsurfの公式Webサイト]にアクセスする。 # [Get Started] または [Sign Up] を選択する。 # メールアドレスまたはGoogleアカウントで登録する。 # 確認メールが届くので、メール内のリンクをクリックして認証を完了する。 <br> ==== ステップ 2 : プランの選択と契約 ==== ログイン後、プランを選択して契約する。<br> <br> # ダッシュボードの [Plans] または [Pricing]ページにアクセスする。 # 使用するプラン (Free / Pro) を選択する。 #: Pro Trialを選択すると、2週間無料でPro機能を体験できる。 # Proプランの場合、クレジットカード情報を入力する。(Stripe経由) # 契約完了後、サブスクリプション管理ページからプラン変更やキャンセルが可能 <br><br> == Windsurf Editorの設定手順 == ==== ステップ 1 : Windsurf Editorのダウンロードとインストール ==== 対応OS一覧を以下に示す。<br> <br> <center> {| class="wikitable" |+ 対応OS ! OS !! 最小バージョン |- | Windows || Windows 10 以降 |- | MacOS || macOS Yosemite (10.10) 以降 |- | Linux || Ubuntu 20.04 以降 |} </center> <br> インストール手順を以下に示す。<br> # 上記URLからOSに対応したインストーラをダウンロードする。 #: ダウンロードページ : https://windsurf.com/download # ダウンロードしたインストーラを実行する。 # インストールウィザードの指示に従ってインストールを完了する。 # Windsurf Editorを起動する。 <br> ==== ステップ 2 : 初期セットアップ ==== 初回起動時にセットアップウィザードが表示される。<br> <br> # VS Codeからの設定インポート #: VS Codeを使用している場合、設定や拡張機能を自動でインポートできる。 # キーバインドの選択 #: [VS Code標準] または [Vim] から選択する。 # テーマの選択 #: 任意のカラーテーマを選択する。 <br> 日本語言語パックのインストール手順を以下に示す。<br> # [Ctrl] + [Shift] + [X]キーを同時押下して拡張機能マーケットプレイスを開く。 # 検索バーに <u>Japanese Language Pack</u> と入力する。 # [Japanese Language Pack for Visual Studio Code]を見つけて、[Install]を選択する。 # Windsurf Editorを再起動する。 <br> ==== ステップ 3 : AIモデルの選択 ==== Cascadeで使用するAIモデルを選択する。<br> <br> # Cascadeパネルを開く。([Ctrl] + [L]キーを同時押下) # パネル上部のモデル選択ドロップダウンから使用するモデルを選択する。 #: 契約プランに応じて、選択可能なモデルが異なる。 <br> ==== ステップ 4 : BYOK (Bring Your Own Key) の設定 ==== 自分のAPIキーを使用して、追加のAIモデルにアクセスする設定を行う。<br> <br> # Windsurf設定画面を開く。 # [Cascade] - [BYOK]セクションに移動する。 # 使用するプロバイダのAPIキーを入力する。 #: 対応モデル : Claude Sonnet 4.5、Claude Opus 4.5等 <br><br> == JetBrains IDEでの設定手順 == ==== ステップ 1 : Windsurfプラグインのインストール ==== JetBrains IDE (最小バージョン: 2023.3以降) 向けのWindsurfプラグインをインストールする。<br> <br> 対応IDE一覧を以下に示す。<br> * IntelliJ IDEA * PyCharm * WebStorm * GoLand * PHPStorm * CLion * RubyMine * Rider * DataGrip <br> インストール手順を以下に示す。<br> # JetBrains IDEを起動する。 # [設定] (Windows / Linux) または [Preferences] (MacOS) を開く。 # [プラグイン] - [マーケットプレース]を選択する。 # 検索バーに <u>Windsurf</u> と入力する。 # [Windsurf]プラグインを見つけて、[Install]を選択する。 # IDEを再起動する。 <br> ==== ステップ 2 : アカウント認証 ==== # プラグインインストール後、言語サーバが自動的にダウンロードされる。 # 認証ポップアップが表示されるので、[Log in]を選択する。 # Webブラウザが開き、Windsurfのオンラインポータルで認証を完了する。 <br> ==== ステップ 3 : リモート開発環境での設定 ==== JetBrains Gateway (最小バージョン: 2025.1.3以降) でリモート開発を行う場合、専用のプラグインが必要である。<br> <br> # JetBrains Gatewayで[プラグイン] - [マーケットプレース]を開く。 # <u>Windsurf (Remote Development)</u> プラグインを検索してインストールする。 <br><br> == Vim / Neovimでの設定手順 == ==== Vimでの設定 ==== windsurf.vim プラグインを使用する。(Vim 9.0.0185以降)<br> <br> vim-plugを使用したインストール例を以下に示す。<br> <br> <syntaxhighlight lang="vim"> call plug#begin() Plug 'Exafunction/windsurf.vim', { 'branch': 'main' } call plug#end() </syntaxhighlight> <br> 認証手順を以下に示す。<br> # Vimを起動する。 # コマンドモードで以下を実行する。 #: <code>:Codeium Auth</code> # Webブラウザが開き、認証トークンが表示される。 # トークンをコピーしてVimのプロンプトに貼り付ける。 <br> ==== Neovimでの設定 ==== windsurf.nvimプラグインを使用する。(Neovim 0.6以降)<br> <br> lazy.nvimを使用したインストール例を以下に示す。<br> <br> <syntaxhighlight lang="lua"> { "Exafunction/windsurf.nvim", dependencies = { "nvim-lua/plenary.nvim", "hrsh7th/nvim-cmp", }, config = function() require("codeium").setup({}) end, } </syntaxhighlight> <br> 認証手順を以下に示す。<br> # Neovimを起動する。 # コマンドモードで以下を実行する。 #: <code>:Codeium Auth</code> # ブラウザで認証を完了する。 <br> <u>※注意</u><br> <u>Vim / Neovimプラグインはメンテナンスモードであり、最新のCascade機能はWindsurf EditorまたはJetBrains IDEでの利用を推奨する。</u><br> <br><br> == ルール (Rules) の作成手順 == ルールはCascadeに従わせる指示を定義するもので、コーディング規約やプロジェクト構造の強制に使用する。<br> <br> ==== ルール機能の概要 ==== Windsurfには、Cascadeへの指示を定義する仕組みが3種類存在する。<br> <br> <center> {| class="wikitable" |+ プロジェクト指示ファイルの種類 ! 種類 !! ファイル/ディレクトリ !! 説明 |- | .windsurf/rules/ (推奨) || .windsurf/rules/*.md || Wave 8以降の標準形式<br>複数ルールファイルに分割可能で、発動モードによる細かい制御が可能 |- | .windsurfrules (レガシー) || プロジェクトルート/.windsurfrules || Wave 8以前の標準形式<br>プロジェクトルートに単一ファイルを置くだけで自動的に読み込まれる。(Claude CodeのCLAUDE.mdに最も近い概念) |- | AGENTS.md || 任意のディレクトリ/AGENTS.md || ディレクトリスコープ型の指示ファイル<br>ルートに配置すると全体に適用、サブディレクトリに配置するとその配下のみに適用 |} </center> <br> ルールには以下の特徴がある。<br> * グローバルルール *: 全てのワークスペースに適用される。 *: global_rules.mdとして保存される。 *: <br> * ワークスペースルール *: プロジェクト固有のルールである。 *: .windsurf/rules/ ディレクトリに保存される。 * 文字数制限 *: 個別ルールファイルは最大6,000文字、グローバル + ワークスペース合計で最大12,000文字である。 *: <br> * Markdown形式で記述する。 <br> ==== .windsurfrules (レガシー形式) ==== <u>.windsurfrules</u> ファイルは、Claude CodeのCLAUDE.mdに最も近い概念である。<br> プロジェクトルートに単一のテキストファイルを配置するだけで、Cascadeが自動的に検出して読み込む。<br> <br> Wave 8以前の標準形式であり、現在も後方互換性として動作するが、新規プロジェクトでは <u>.windsurf/rules/</u> ディレクトリの使用が推奨される。<br> <br> .windsurfrules の記述例を以下に示す。<br> <br> <syntaxhighlight lang="text"> My build system is Bazel My testing framework is pytest Don't modify any files in vendor/ </syntaxhighlight> <br> ==== AGENTS.md (ディレクトリスコープ型) ==== <u>AGENTS.md</u> ファイルは、ディレクトリ単位で指示を適用する仕組みである。<br> Claude CodeのCLAUDE.mdと同様に、配置したディレクトリの階層に応じて適用範囲が決まる。<br> <br> AGENTS.mdファイルの特徴を以下に示す。<br> * ルートに配置するとプロジェクト全体に適用される。 * サブディレクトリに配置するとその配下のみに適用される。 * 大文字小文字を区別しない。(agents.mdファイルでも認識される) * 通常のMarkdown形式で記述する。(特殊なフロントマターは不要) <br> <center> {| class="wikitable" |+ Claude CodeのCLAUDE.mdとの比較 ! 項目 !! Claude Code (CLAUDE.md) !! Windsurf (.windsurfrules) !! Windsurf (AGENTS.md) |- | ファイル形式 || 単一Markdownファイル || 単一テキストファイル || 単一Markdownファイル |- | 配置場所 || プロジェクトルート || プロジェクトルート || 任意のディレクトリ |- | 自動読み込み || はい || はい || はい |- | ディレクトリスコープ || あり (サブディレクトリに配置可) || なし (ルートのみ) || あり (サブディレクトリに配置可) |- | 現在のステータス || 現行 || レガシー (動作可) || 現行 |} </center> <br> ==== 4つの発動モード (Activation Mode) ==== ルールには4つの発動モードがある。<br> <br> <center> {| class="wikitable" |+ 発動モード ! モード !! 説明 |- | Manual || @mention で手動実行する。(Cascade入力ボックスで @rule-name と指定) |- | Always On || 常に適用される。 |- | Model Decision || AIがルールの説明文から判断して自動適用する。 |- | Glob || ファイルパターン (例: *.js、src/**/*.tsx) に基づき自動適用する。 |} </center> <br> ==== ルールファイルの記述例 ==== ===== 日本語化ルール ===== <syntaxhighlight lang="md"> # 言語設定 - すべての応答は日本語で出力する - コードのコメントは日本語で記述する - 技術用語は必要に応じて英語を併記する </syntaxhighlight> <br> ===== コーディング規約ルール ===== <syntaxhighlight lang="md"> # コーディング規約 ## 命名規則 - ローカル変数: camelCase (例: localVariable) - メンバ変数: m_付きcamelCase (例: m_memberVariable) - 定数・マクロ: ALL_CAPS (例: MAX_BUFFER_SIZE) - クラス名: PascalCase (例: DataProcessor) ## Qt開発固有ルール - Qt6を標準として使用する - シグナル・スロット接続は新しい構文を使用: connect(sender, &Sender::signal, receiver, &Receiver::slot); - QObjectの親子関係を活用し、メモリ管理を簡素化する </syntaxhighlight> <br> ===== C++ / Qt開発向けルール ===== <syntaxhighlight lang="md"> # C++/Qt開発ルール ## コーディング規約 - C++17以降の規格に準拠する - スマートポインタ (std::unique_ptr, std::shared_ptr) を優先的に使用 - 生ポインタは所有権を持たない観察用途のみで使用 - 例外処理よりもエラーコード返却を優先 (組み込み向け) ## テスト - コード生成後は単体テストコードも生成する - テストフレームワークはGoogle Testを使用する ## ドキュメント - 関数にはDoxygenスタイルのコメントを付ける </syntaxhighlight> <br> ==== ルールの管理方法 ==== ルールの管理は以下の手順で行う。<br> # Cascadeスライダーメニュー (右上) の [Customizations] アイコンを選択する。 # [Rules] パネルに移動する。 # [+ Global] または [+ Workspace] を選択して新規ルールを作成する。 # 各ルールの発動モード (Activation Mode) を設定する。 <br><br> == スキル (Agent Skills) の作成手順 == ==== Agent Skillsとは ==== Agent Skillsは、複雑な多段階タスクを実行するためのフォルダベースのリソースである。<br> スキルは指示 (instructions) と支援ファイル (supporting files) をバンドルして、Cascadeが呼び出し可能にする。<br> <br> ===== ルールとスキルの使い分け ===== <center> {| class="wikitable" |+ ルールとスキルの比較 ! 項目 !! Rules (ルール) !! Skills (スキル) |- | 用途 || コーディング規約、言語選択、スタイルガイドライン || 複数ステップのワークフロー、テンプレート活用タスク |- | 形式 || 単一Markdownファイル || SKILL.md + 支援ファイル群 |- | 適用範囲 || 常時またはパターンマッチ || タスク実行時のみ |- | 呼び出し || 自動 (Activation Mode) || 自動 (descriptionベース) または 手動 (@skill-name) |} </center> <br> ===== ワークスペーススキル vs グローバルスキル ===== スキルには以下の2種類がある。<br> * ワークスペーススキル *: <u>.windsurf/skills/<スキル名>/</u> ディレクトリに配置する。 *: プロジェクト固有である。 * グローバルスキル *: <u>~/.codeium/windsurf/skills/<スキル名>/</u> ディレクトリに配置する。 *: 全ワークスペース共通である。 <br> ==== スキルのディレクトリ構造 ==== スキルは以下のディレクトリ構造で構成される。<br> <br> .windsurf/skills/<skill-name>/ ├── SKILL.md # コア指示 (必須) ├── scripts/ # Python / Bash実行ファイル ├── references/ # ドキュメント (Markdown等) └── assets/ # YAML、JSON、設定ファイル <br> ==== SKILL.mdファイルの記述例 ==== SKILL.mdファイルはYAMLフロントマターを含む必要がある。<br> * <code>name</code> *: 最大64文字、小文字・数字・ハイフンのみ * <code>description</code> *: 最大1024文字、スキルの説明 (Cascadeが自動呼び出しの判断に使用) <br> ===== デプロイメント自動化スキル ===== <syntaxhighlight lang="md"> --- name: deploy-production description: Handle production deployment with safety checks and monitoring --- ## Purpose This skill guides you through production deployments with validation and rollback capability. ## Prerequisites - All tests must pass - Code must be reviewed and merged ## Step-by-step Procedure 1. Verify deployment readiness 2. Execute deployment 3. Monitor for errors 4. Execute rollback if needed (see rollback-procedure.md) ## Supporting Resources - See deployment-checklist.md for detailed checks - Refer to rollback-procedure.md for recovery steps </syntaxhighlight> <br> ===== コードレビュースキル ===== <syntaxhighlight lang="md"> --- name: code-reviewer description: Perform comprehensive code review with security and performance analysis --- ## 責務 - バグや潜在的な問題の発見 - コード品質の改善提案 - セキュリティ上の脆弱性チェック - パフォーマンス最適化の提案 ## レビュー観点 - C++コードではメモリリーク、ダングリングポインタに注意 - Qtコードではシグナル・スロットの接続漏れを確認 - 例外処理・エラーハンドリングの有無を確認 ## 出力フォーマット レビュー結果は以下の形式で出力: 1. 重大な問題 (修正必須) 2. 中程度の問題 (修正推奨) 3. 軽微な問題 (改善提案) 4. 良い点 (コメント) </syntaxhighlight> <br> ==== スキルの呼び出し方法 ==== スキルは以下の2つの方法で呼び出すことができる。<br> * 自動呼び出し *: リクエストがスキルのdescriptionと一致すると、Cascadeが自動実行する。 *: 例: "This project needs a staging deployment" と入力すると、deploy-to-stagingスキルが自動的に呼び出される。 * 手動呼び出し *: Cascadeの入力ボックスで @skill-name と入力して明示的に指定する。 *: 例: @code-reviewer と入力してコードレビュースキルを呼び出す。 <br><br> == ワークフロー (Workflows) の作成手順 == ==== ワークフロー機能の概要 ==== ワークフローは、反復的なタスクを自動化するための仕組みである。<br> スラッシュコマンド (<code>/workflow-name</code>) で即座に実行可能であり、デプロイ、PRレビュー、テスト等の定型作業を効率化する。<br> <br> ワークフローの特徴を以下に示す。<br> * <u>.windsurf/workflows/</u> ディレクトリにMarkdownファイルとして配置する。 * スラッシュコマンド (<code>/workflow-name</code>) で呼び出す。 * ワークフロー内から別のワークフローをチェーン呼び出し可能である。 * 1ファイル最大12,000文字である。 <br> ==== ワークフローファイルの記述例 ==== ===== 調査ワークフロー ===== <syntaxhighlight lang="md"> --- name: research description: 指定されたトピックの技術調査を実行する --- ## 手順 1. 指定されたトピックの概要を調査する 2. 公式ドキュメントから重要な情報を収集する 3. ベストプラクティスと注意事項をまとめる 4. 結果を構造化して出力する </syntaxhighlight> <br> ===== チェーンワークフロー ===== ワークフロー内から別のワークフローを呼び出す例を以下に示す。<br> <br> <syntaxhighlight lang="md"> --- name: create-mediawiki-page description: 調査から執筆までを一括で実行するワークフロー --- ## 手順 1. /research を実行して技術情報を収集する 2. 収集した情報を整理する 3. /write-mediawiki を実行してMediaWikiページを作成する </syntaxhighlight> <br> ==== ワークフローとスキルの使い分け ==== ワークフローとスキルは類似しているが、以下に示す基準で使い分ける。<br> <br> <center> {| class="wikitable" |+ ワークフローとスキルの比較 ! 観点 !! Workflows !! Skills |- | 起動方法 || /slash-command (明示的) || @mention または自動起動 |- | ファイル形式 || 単一Markdownファイル || フォルダ (SKILL.md + リソース群) |- | リソース管理 || なし (手順のみ) || テンプレート、チェックリスト等を同梱可 |- | 向いている用途 || 定型的な手順の自動化 || 複雑な手順 + 参考資料が必要なタスク |- | チェーン呼び出し || 他のWorkflowを呼び出し可能 || 不可 (単独で完結) |} </center> <br><br> == Worktrees (並列実行) == ==== Worktrees機能の概要 ==== Worktreesは、Git Worktreeを利用して並列タスクを安全に分離実行するための機能である。(Wave 13以降で利用可能)<br> <br> Worktreesの特徴を以下に示す。<br> * 各タスクが独立したGit Worktreeで実行されるため、ブランチ間の干渉を防止する。 * <u>~/.windsurf/worktrees/<リポジトリ名>/</u> に自動管理される。 * ワークスペースあたり最大20のWorktreeを管理可能である。 * Cascadeペインでセッション開始時にWorktreeモードを選択する。 <br> ==== フック設定 ==== <u>.windsurf/hooks.json</u> ファイルを使用して、Worktree作成時の環境セットアップを自動化できる。<br> <br> <syntaxhighlight lang="json"> { "post_setup_worktree": { "command": "npm install && npm run build" } } </syntaxhighlight> <br> <code>post_setup_worktree</code> フックは、Worktreeの作成後に自動的に実行される。<br> 依存関係のインストールやビルドプロセスの実行等、環境構築に必要なコマンドを指定する。<br> <br><br> == Cascade によるサブエージェント相当機能 == ==== Claude Codeのサブエージェントとの比較 ==== Claude Codeのサブエージェントは以下の特徴を持つ。<br> <br> * YAMLフロントマターを持つMarkdownファイルとして定義される。 * 独立したコンテキストウィンドウ (各エージェントが200Kトークン) を持つ。 * ツールアクセス制限 (Read、Write、Edit、Bash等) が可能である。 * 異なるモデル (Opus、Sonnet、Haiku等) の使用が可能である。 * .claude/agents/ または ~/.claude/agents/ に配置される。 <br> WindsurfのCascadeの特徴を以下に示す。<br> * Cascadeはネイティブのサブエージェント機能を持たない。 * 代わりに計画エージェント機能と自律編集機能でサブエージェントに近い動作を実現する。 * MCPサーバ経由での外部サービス連携も可能である。 <br> <center> {| class="wikitable" |+ サブエージェント機能の比較 ! 項目 !! Claude Code サブエージェント !! Windsurf Cascade |- | エージェント定義 || Markdownファイル (.claude/agents/) || ネイティブ機能なし |- | コンテキスト || 各エージェント独立 (200Kトークン) || 単一のCascadeセッション |- | モデル選択 || エージェントごとに異なるモデル指定可 || セッション単位でモデル選択 |- | ツール制限 || エージェントごとにツールアクセス制御可 || 統一されたツールアクセス |- | 並列実行 || 複数サブエージェントの並列起動可 || 単一セッションでの順次実行 |- | 外部連携 || MCPサーバ対応 || MCPサーバ対応 |} </center> <br> ==== Cascadeの自律編集と計画エージェント ==== Cascadeは以下に示す機能により、サブエージェント相当の動作を実現する。<br> <br> * 計画エージェント *: 複数ファイル間の依存関係を自動検出し、マルチステップの編集計画を生成する。 *: タスクの進捗追跡 (Todoリスト) も自動管理する。 * 自律編集 *: リポジトリ全体のリファクタリング、コンポーネント配線、テスト更新などを自動実行する。 *: ユーザの手動編集とCascadeの提案をシームレスに統合する。 <br> ==== MCPサーバによる機能拡張 ==== MCPサーバを使用して外部サービスと連携することで、Claude Codeのサブエージェントに近い機能を実現できる。<br> <br> MCPサーバの活用例を以下に示す。<br> * GitHub MCPサーバ *: Issue管理、PR作成を自然言語で操作する。 * データベースMCP *: PostgreSQL等への読み取り専用アクセスを提供する。 * ファイルシステムMCP *: セキュアなファイル操作を実現する。 <br><br> == MCP (Model Context Protocol) の設定 == ==== MCP設定ファイルの場所 ==== MCP設定は以下の場所に保存される。<br> <br> * グローバル設定 *: <u>~/.codeium/windsurf/mcp_config.json</u> * 対応トランスポート *: stdio、Streamable HTTP、SSE (Server-Sent Events) * OAuth認証サポート <br> ==== MCPサーバの追加方法 ==== ===== 方法 1 : MCPマーケットプレイスから追加 ===== MCPマーケットプレイスを使用して、MCPサーバを追加する手順を以下に示す。<br> <br> # Cascadeパネル上部の[MCPs]アイコンを選択する。 # [MCP Marketplace]を開く。 # インストールするMCPサーバを検索する。 #: 公式MCPサーバは青いチェックマークで表示される。 # [Install]を選択してインストールを完了する。 <br> ===== 方法 2 : 設定ファイルを直接編集 ===== <u>~/.codeium/windsurf/mcp_config.json</u> を直接編集して、MCPサーバを追加する。<br> <br> ==== MCPサーバの設定例 ==== 以下にMCPサーバの設定例を示す。<br> <br> <syntaxhighlight lang="json"> { "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${env:GITHUB_TOKEN}" } }, "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"] } } } </syntaxhighlight> <br> 環境変数補間は、<code>${env:VARIABLE_NAME}</code> 形式で環境変数を参照可能である。<br> <br> ==== 主要なMCPサーバ一覧 ==== <center> {| class="wikitable" |+ 主要なMCPサーバ ! MCPサーバ !! 機能 |- | GitHub || リポジトリ、Issue、PR管理 |- | Slack || チャンネル通知、ワークスペース連携 |- | PostgreSQL || 読み取り専用データベースアクセス |- | Filesystem || セキュアなファイル操作 (アクセス制御付き) |- | Brave Search || Web検索機能 |- | Memory || 永続的な知識グラフシステム |} </center> <br><br> == プロジェクトの構成例 == ==== 公式推奨の構成パターン ==== Windsurfの公式ドキュメントでは、5つの機能を相互補完的に使用することが推奨されている。<br> <br> <center> {| class="wikitable" |+ Windsurfの5つの主要設定機能 ! 機能 !! 役割 !! 起動方法 |- | AGENTS.md || ディレクトリスコープの指示 (環境説明) || 自動適用 |- | Rules || 永続的な制約・ガイダンス || Always On / Manual / Model Decision / Glob |- | Workflows || 反復タスクの自動化 || /workflow-name スラッシュコマンド |- | Skills || 複雑なマルチステップ手順 + リソースバンドル || @skill-name または自動起動 |- | Worktrees || 並列実行のためのブランチ分離 (Wave 13以降) || Cascadeペインでモード選択 |} </center> <br> ==== 推奨ディレクトリ構成 ==== 推奨プロジェクト構成を以下に示す。<br> <br> プロジェクト/ ├── .windsurf/ │ ├── hooks.json # Worktreeフック設定 (並列実行時) │ ├── rules/ │ │ ├── japanese-output.md # 日本語対応ルール │ │ ├── coding-standards.md # コーディング規約ルール │ │ └── qt-development.md # Qt開発固有ルール │ │ │ ├── workflows/ │ │ ├── research.md # /research (調査ワークフロー) │ │ ├── write-mediawiki.md # /write-mediawiki (執筆ワークフロー) │ │ └── create-mediawiki-page.md # /create-mediawiki-page (チェーンワークフロー) │ │ │ └── skills/ │ ├── deploy-production/ # デプロイメント自動化スキル │ │ ├── SKILL.md │ │ ├── deployment-checklist.md │ │ └── rollback-procedure.md │ │ │ └── code-reviewer/ # コードレビュースキル │ └── SKILL.md │ ├── .windsurfrules # レガシー形式のルールファイル (任意) ├── AGENTS.md # ディレクトリスコープ型の指示ファイル (任意) │ ├── ~/.codeium/windsurf/ │ └── mcp_config.json # MCPサーバ設定 (グローバル) │ └── src/ ├── AGENTS.md # src/配下のみに適用される指示 (任意) └── ... <br> ==== 機能別の用途と保存場所 ==== <center> {| class="wikitable" |+ 機能別保存場所 ! 機能 !! 用途 !! 保存場所 |- | ルール (Rules) || プロジェクト固有規約・制約 || .windsurf/rules/ |- | .windsurfrules || プロジェクト全体の指示 (レガシー) || プロジェクトルート |- | AGENTS.md || ディレクトリスコープ型の指示 || 任意のディレクトリ |- | ワークフロー (Workflows) || 反復タスクの自動化 || .windsurf/workflows/ |- | スキル (Agent Skills) || 多段階ワークフロー・テンプレート活用 || .windsurf/skills/ |- | Worktrees || 並列タスクの分離実行 || ~/.windsurf/worktrees/ (自動管理) |- | MCP || 外部API連携・機能拡張 || ~/.codeium/windsurf/mcp_config.json |- | Memory || 会話間コンテキストの自動保存 || Windsurf内部管理 |} </center> <br><br> ==== AIコーディングツール機能比較 ==== <center> {| class="wikitable" |+ AIコーディングツール比較 ! 項目 !! Windsurf !! Claude Code !! Cline |- | AIアシスタント名 || Cascade || Claude || Cline |- | ルール || .windsurf/rules/ (Markdown) || CLAUDE.md || .clinerules (Markdown) |- | スキル/指示 || Agent Skills (SKILL.md) || Skills (SKILL.md) || Custom Instructions |- | サブエージェント || Cascadeの計画エージェント || サブエージェント (.claude/agents/) || sub-agents-mcp等で実現 |- | MCP対応 || 対応 (MCPマーケットプレイス) || 対応 || 対応 |} </center> <br><br> == トラブルシューティング == ==== Windsurf Editorが起動しない ==== * インストーラを再ダウンロードして再インストールする。 * セキュリティソフトがWindsurfの実行をブロックしていないか確認する。 <br> ==== Cascadeが応答しない / エラーが発生する ==== * インターネット接続を確認する。 * クレジット残量を確認する (ダッシュボードの [Usage] ページ)。 * 選択しているAIモデルが契約プランで利用可能か確認する。 * Windsurf Editorを再起動する。 <br> ==== 自動補完が動作しない ==== * Windsurf Tabが有効になっているか設定で確認する。 * Supercompleteモードが選択されているか確認する。 * 対象のプログラミング言語がサポートされているか確認する。 <br> ==== MCPサーバが接続できない ==== * mcp_config.jsonの構文が正しいか確認する。(JSON形式のバリデーション) * 環境変数 (${env:VARIABLE_NAME}) が正しく設定されているか確認する。 * MCPサーバのプロセスが正常に起動しているか確認する。 * Windsurf Editorを再起動する。 <br> ==== JetBrains IDEでプラグインが動作しない ==== * JetBrains IDEのバージョンが2023.3以降であることを確認する。 * プラグインを最新版に更新する。 * IDEを再起動する。 * リモート開発の場合、Windsurf (Remote Development) プラグイン (バージョン2025.1.3以降) がインストールされているか確認する。 <br> ==== 日本語の応答にならない ==== ルール機能を使用して日本語出力を設定する。<br> <br> # .windsurf/rules/ ディレクトリに日本語化ルールファイルを作成する。 # 以下の内容を記述する #: 「全ての応答は日本語で出力する」 # 発動モードを [Always On] に設定する。 <br><br> == 参考リンク == * [https://windsurf.com Windsurf 公式サイト] * [https://docs.windsurf.com Windsurf Documentation] * [https://windsurf.com/download Windsurf Download] * [https://docs.windsurf.com/windsurf/cascade/cascade Cascade Documentation] * [https://docs.windsurf.com/windsurf/cascade/mcp MCP Integration] * [https://docs.windsurf.com/windsurf/cascade/skills Agent Skills Documentation] <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Windsurf,Codeium,Cascade,SWE-1,AI,IDE,Development,Programming,MCP,Agent Skills,Rules |description={{PAGENAME}} - AI駆動IDEのWindsurfの設定手順 |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:設定]]
AIモデル - Windsurf
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse