生成AIによるプログラミング支援のCodeium、VSCodeフォークの「Windsurf」エディタ発表。変数名を1カ所変更して残りの修正を生成AIが行うなど高度な開発支援を提供へ

2024年11月15日

生成AIによるプログラミング支援ツール「Codeium」を提供しているCodeiumは、Visual Studio code(以下、VSCode)をフォークしCodeiumと統合した新しいコードエディタ「Windsurf」と、Windsurfを基盤とした新機能を発表しました。

Codeiumはこれまで、生成AIによるコード補完やコード提案などによるプログラミング支援機能などをVSCodeやJetBrains IDE、Vimなどの拡張機能として提供してきました。

今回発表されたWindsurfは生成AI機能が統合されており、生成AIが複数のファイルに対するコードの変更や追加を実行したり、ターミナル機能を操作してのパッケージのインストールをしてくれたりするなど、エディタに統合された生成AIによる高度なプログラミング支援が可能となっています。

変数名を1つ変更したら、残りの変更は生成AIに

同社が公開しているデモ動画から、Windsurfの高度なプログラミング支援機能を見てみましょう。

まず、既存のコードの中の変数名を1つだけ変更します(赤線は筆者=新野による)。

fig

そして生成AIに「continue」(続けて)と指示。

fig

すると生成AIはプロジェクト内のコードを解析し、他に変数名を修正すべきところを見つけ出して修正してくれます。

fig

修正したところは差分で表示させることが可能。

fig

次は、あるWebアプリケーションのコンタクトフォームに、記入する人が人間かどうかを見分けるCaptcha機能を追加せよと生成AIに指示します。

すると生成AIはまず、このプロジェクトの既存のコードを解析、パッケージのインストールを提案します。

fig

人間がパッケージのインストールを承認すると、ターミナルからパッケージを自動的にインストールし、それに合わせて複数のファイルに対してコードの追加変更を行い、Captcha機能を実装してくれます。

fig

これも変更箇所を参照可能。

fig

実際に実行してみると、ちゃんとCaptcha機能が実装されていました。

fig

同社はこのような生成AIによる自律的なコードの修正や生成機能を「Cascade」と呼んでいます。

Windsurfは無償で利用可能ですが、Cascade機能に関しては無償版ではリードオンリーとなっておりコードの修正や追加などを行うには有償のサブスクリプション契約が必要となります。

VSCodeでも「Copilot Edits」が登場

このような複数のファイルに渡って生成AIがコードの修正や追加を行ってくれる機能は、VSCodeでも「Copilot Edits」として利用可能になったばかりです。生成AIによるプログラミング支援は単なるコード補完やコード生成にとどまらず、プロジェクト全体に対して高度な変更や追加を実現できるレベルになってきているようです。

参考:VSCodeの新機能「Copilot Edits」、GitHub Copilotが複数ファイルにわたるコード変更や生成に対応。「ダークモードとライトモードのテーマに対応して」など複雑な指示も可能に

あわせて読みたい

機械学習・AI 開発ツール




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本


<!- script for simple analytics events -->