見出し画像

AI搭載の次世代エディター Cursor が DevContainer に対応していた

2021年6月にGPTを利用したコーディング支援ツールとして GitHub Copilot が発表されてから、プログラミングはAIの助けを借りながら進めていくものというやり方が急速に定着してきました。AI支援によるプログラミングを日常的に行っている人は、もはや以前のコーディングスタイルには戻れない状態となっているのではないでしょうか。

さて、そんなAI支援ツールが標準搭載されている Cursor というエディタが少し前に話題になりました。オープンソースであるVS Codeをベースにして、GitHub Copilotよりも密にUIが統合され、より利便性を高めたようなエディタです。

チャットではコードベース全体をコンテキストに含める/含めないを切り替えて質問をすることができたり、ライブラリのオンラインマニュアルを読み込ませた上で質問をすることが可能になります。

筆者もCursorの日常使用を検討したのですが難点がひとつ、DevContainerに対応していなかったためにメインのエディタとしては採用を見送っていたのでした。

しかし先日、DevContainerに対応したということで早速使用してみたところ今のところは本家VS Codeと遜色なく使えており、今後も使い続けていこうと思っています。

Jan 6, 2024
0.22.0 - Dev Containers
Dev containers are now supported! This build also:

Upgrades Cursor to VS Code 1.85, which comes with support for dragging out tabs into a new window.

Improves the stability of WSL.

https://changelog.cursor.sh/?
以前はこのメニューが出なかった

さて、余談ですがCursorを開発するAnysphereとはどんな企業なのでしょうか。

以下のOpenAIによる投資先Mapをみると分かるように、OpenAIのStartup Fundをはじめとする著名な投資家から800万ドル以上の出資を受けていることから期待の高さが伺えます。

https://www.cbinsights.com/research/openai-investment-strategy/

以下はTechCrunchによる記事の和訳です。

Anysphere、AI搭載IDE構築のためOpenAIから800万ドルを調達
AIネイティブのソフトウェア開発環境を作成する、と自称しているスタートアップ「Anysphere」は、そのプラットフォーム「Cursor」の造成に向けてOpenAIのスタートアップファンドを中心に800万ドルのシード費用を調達したと今日発表しました。他の出資者には、前GitHubのCEOであるNat FriedmanやDropboxの共同創業者Arash Ferdowski等のエンジェル投資家が含まれています。
この新たな資金はAnysphereの合計調達金額を1100万ドルに引き上げ、AIと機械学習の研究、および人材採用に投じられる予定だと共同創業者でCEOのMichael Truell氏が述べています。
「今後数年間で、我々の使命はプログラミングを10倍以上に高速化し、楽しくそして創造的にすることです。」とTruell氏はTechCrunchにメールインタビューで語りました。「我々のプラットフォームは全ての開発者がソフトウェアをより速く建設することを可能にします。」
Truell氏はMIT在学中にAnysphereの他の共同創業者、Sualeh Asif、Arvid Lunnemark、Aman Sangerと出会い、親友となりました。4人は、デバッギングのような一般的なプログラミングおよびソフトウェア開発タスクを高速化できる統合開発環境(IDE)を作る、という共通の目標を共有していました。
この目標において、MicrosoftのオープンソースコードエディターであるVSコードのフォークであるCursorは、開発者がコードを書き、そしてコードについての問いに回答するのを手助けするAIの力を使うツールを搭載しています。例えば、「VSコードのどのサービスが状態をディスクに保存させるのか?」といった問いにCursorは反応し、プログラマーが作業を進める中で関連するドキュメンテーションやコード定義を引き上げることができます。

https://techcrunch.com/2023/10/11/anysphere-raises-8m-from-openai-to-build-an-ai-powered-ide/

最後に彼らが公開した2023年のイシューリストの和訳を貼っておきます。

■ 2023年の問題
短期間で具体的な問題の無秩序なリスト。

より良いコンテキスト
コードエディタには沢山の情報源があります。開いているファイル、意味的に類似したコードチャンク、記号的に関連したクラス、リントの出力、実行トレース、gitの履歴、入力履歴、外部ドキュメンテーションなど。私たちは、モデルにユーザーの質問に最も関連するものをすぐに理解することを求めており、現在カスタムで高速なリランキングモデルを訓練してこの問題を解決しようとしています。各リクエストごとに、すべての異なるソースから50万のトークンを集め、リランキングを使用して最も関連性の高い8kのトークンに絞り込みます。これはモデルの問題であり、ますますインフラストラクチャの問題にもなっています。

編集のためのコパイロット
Github Copilotは新しいコードを書く時に低エントロピーキーストロークを排除するのに非常に役立ちますが、既存のコードブロックを小さく簡単に変更する必要があるときには低エントロピーキーストロークを節約する助けにはなりません。シンボリックなF2-リネーム以上のちょっと複雑なリネームに必要なナビゲーション、削除、入力のキーストロークを考えてみてください。これには、UX(コーディング中に表示される押しつけがましくない差分)とモデル側(提示だけではダメ、コスト、遅延、インテリジェンスの問題があるから)の両方で革新が必要です。

制約されたフロー内エージェント
大きなコードベースでエンジニアリングを行うためのOpenAIのコードインタープリタを思い浮かべてみてください。制約のある数ステップのエージェントに何をするべきかを伝え、コードを検索、作成、実行し、時々フィードバックを得るためにあなたに相談するのです。これを達成するための最初のステップは、数十万のトークンから構成されるフォルダで動作するこのようなエージェントを作ることで、現在私たちはこれに取り組んでいます。成功すれば、それを全体のコードベースで動作するようにスケールアップします。

バグ探し
ここには2つのモードがあります:
(1)バックグラウンドでCursorは常に控えめにあなたのファイルをスキャンして潜在的なバグを見つけ出し、(2)あなたが深くデバッグセッションに没頭しているとき、Cursorは積極的にあなたの助けを借りてバグを探します。ここには興味深いデータ収集があると思います。

大規模な編集
Cursorは全体のファイル、あるいはディレクトリ全体を変更する能力が必要です。これは能力とUXの両方の課題です。モデルは、全てを書き換えることなく変更すべき部分を抽出するために十分なスマートさを持つ必要があります。経験を良好にするために、変更は解析可能な形でリアルタイムに表示する必要があります。

スケール
2023年10月12日現在、14億のベクトルと15万のコードベースがインデックス化されています。これは年末までにおそらく10倍に増えるでしょう。私たちはすでに非常に速いMerkle-treeベースのコードベース同期エンジンをRustで作成し、近いうちにカスタムインデックスシステムを作成する必要があるかもしれません。

■ 2024年のアイデア
タイムワープ
次の15分間で行うクロスファイルコード変更を予測し、表示します。全ての挿入/削除を承認するための主要なコマンド。
理解: 我々のモデルは、コードベース内の全ての概念を重みの中で深く理解するべきです。

リーダーモード
任意レベルのドキュメントにより努力なくコードを理解し、必要に応じて説明しながら関連するコードパスを案内するbotを作成します。

擬似コードモード
コードの「アウトライン」表現を編集し、ソースレベルで自動的に変更を適用します。

スタックトレースについて再び心配することはありません
IDEはそれを理解し、コードを自動修正するべきです。

https://anysphere.co/blog/problems-2023

2024年もさらなる進化で別次元のコーディング環境を提供してくれることを願っています。

この記事が気に入ったらサポートをしてみませんか?