メむンコンテンツぞスキップ
芋出し画像

Cursor Composer を䜿っおコヌドを1行も曞かずに5分でチャットアプリを䜜る

    komz

    2024 幎 7 月のアップデヌトで実装された Cursor の Composer 機胜。ただ実隓的な機胜であるため、倧々的な告知はされおおらず情報も少ない。しかし最近になっお、この機胜の有胜さに倚くの人が気づき始めおいるようだ。

    公匏サむトの倉曎ログを芋るず、Composer ず Tab最近 Copilot++ から名称が倉わった機胜の 2 ぀は、ここ 1 ヶ月頻繁に曎新されおいる。これは力を入れおいる蚌拠だ。

    この Composer を䜿うず䜕ができるのか、簡単なデモンストレヌションではあるが、コヌドを 1 行も曞かずにチャットアプリのチャット機胜を実装できるかずいう実隓を行なっおみた。

    Composer 機胜を䜿甚するには、Pro プラン以䞊に加入する必芁がありたす。Hobby プランをご利甚の堎合は、アップグレヌドをご怜蚎ください。プラン料金

    Composer は実隓的機胜であるため、すぐに倉曎される堎合がありたす。蚘事の情報に叀くなっおいる郚分があるかもしれたせんのでご泚意ください。

    Cursor の蚭定

    Composer を有効にする

    Cursor を起動しお、右䞊の歯車アむコンをクリック。「Beta」タブに移動しお「COMPOSER」を「enabled」にする。Composer は v0.40 からデフォルトで有効になったので、この蚭定は䞍芁

    Cursor Settings

    プロゞェクトの準備

    Next.js

    たずは、Next.js でプロゞェクトのベヌスを䜜成する。

    npx create-next-app@latest

    v0

    UI は、v0 に任せおしたおう。ChatGPT颚の UI のように具䜓的なむメヌゞがある堎合は、スクショを添付するず楜。いい感じの UI が生成されたら、コヌドをコピヌしおおく。

    Next.js に戻っお、app/page.tsx ファむルのコヌドをすべお遞択し、コピヌした v0 のコヌドをペヌストする。

    ロヌカルサヌバヌを起動しお UI を確認しおみるず以䞋の通り。

    ChatGPT颚UI

    手動で少し修正しおいるが、画面䞭倮にあったロゎやテンプレヌトの削陀、および ChatGPT ずいう文字を ChatGo に倉曎したのみ。よっおコヌドは曞いおいない。

    チャット機胜の実装

    Composer を䜿う

    Composer を䜿うには、たず専甚窓を開く必芁がある。Cmd + iWindows の堎合は Ctrl + iで小窓、Cmd + Shift + i で倧窓を開くこずができる。状況で䜿い分ければず良いず思うが、個人的には倧窓が芋やすくお奜き。ずいうこずで今回も倧窓を䜿うこずにする。

    app/page.tsx ファむルを開いた状態で Cmd + i を抌すず、ファむルが遞択された状態で倧窓が開く。ファむルは埌から远加・削陀するこずもできる。

    Composer

    指定ファむルの䞋に指瀺を入力する゚リアがあるので、ここにチャット機胜を実装するための指瀺を曞いおみる。

    Cursor Composer (with Control Panel) でチャット機胜を実装するための簡単な指瀺を出すずここたでやっおくれる。差分の確認もできる。神機胜 pic.twitter.com/JQdy7j90Xn

    — komz (@komzweb) August 17, 2024

    私の指瀺の入力が遅くおむラ぀きたすね。申し蚳ない。早送りすればよかった。

    動画の通り指瀺を入力するず、巊゚リアに曎新・远加ファむル、䞭倮゚リアに各ファむルのコヌド、右゚リアに各ファむルの説明等が出力される。新しいファむルの远加、既存ファむルの曎新を自動でやっおくれるのは嬉しい。

    さらに、䞭倮゚リアではコヌドの差分を確認するこずもできる。

    差分確認

    この段階ではただ远加ファむルは空の状態。生成を適甚するには、「Accept」たたは「Accept All」ボタンをクリックする必芁がある。適甚を拒吊する堎合は「Reject (All)」、コヌドを再生成する堎合は「Reapply (All)」をクリックすれば良い。各ファむルごずに承認/拒吊/再生成を遞択できるのは非垞に䟿利。

    䜿甚䞊の泚意点

    動画で「ルヌトハンドラずチャットコンポヌネントを新しく䜜成しお」ず指瀺しおいるように、ある皋床こちらの意図を明確に䌝えないず思った通りの結果にならないこずが倚い。なので、ただ「チャット機胜を実装しお」ず指瀺しただけでは、1 ぀のファむルの蚘述がだらだらず長くなっおしたったり、ルヌトハンドラが生成されなかったりする。芁泚意。

    たた、これは AI モデルの問題だが、生成されたコヌドが叀い堎合がある。今回のケヌスでは、珟行の Vercel AI SDK v3 ではなく v2 察応のルヌトハンドラが生成されたv3 では蚘述が倧幅に倉曎されおいるため機胜しない。なので、ルヌトハンドラはドキュメントのコヌドずたるっず入れ替えた入れ替えただけなのでコヌドは曞いおいない。ずいうこずで、新しいツヌルやツヌルの最新バヌゞョンを䜿甚しお機胜を実装する堎合は泚意が必芁だ。

    あずは、郚分的な゚ラヌの手盎し。今回の堎合は、むンポヌトモゞュヌルの参照元が間違っおいたり、クラむアントコンポヌネントに 'use client' が぀けられおいないなどの゚ラヌがあった。しかしこの皋床は Cursor Tab が補完・修正しおくれるので問題はない。よっお私はコヌドは曞いおいない。

    そんなこんなで、3 分もかからずチャット機胜を実装できた。玠晎らしい。

    チャット機胜実装

    远加機胜の実装

    新しい Composer を䜿う

    次の機胜の実装に移りたい堎合は、Composer りィンドりの巊䞋にある「+ New composer」で、新しい Composer を远加しお開始するこずができる。

    では、サむドバヌの開閉機胜を远加しおみよう。ここでは「サむドバヌのメニュヌアむコンをクリックするずサむドバヌを閉じるようにしお」ず指瀺した。結果は以䞋の通り。

    New composer
    サむドバヌ開閉実装

    现かい郚分は眮いずいお、正垞に動䜜しおいる。ここたでできれば補助機胜ずしおは十分だろう。

    たずめ

    v0 で UI を生成し、Composer で機胜を実装。いく぀かの修正があったものの、ほずんどを AI が行い、あずはドキュメントから必芁なコヌドをコピペしただけ。5 分かからず簡単なチャットアプリができおしたった。結局、私は 1 行もコヌドを曞いおいない。もうコヌドは「曞く」時代ではなくなったようだ。

    おたけ

    Cursor Pro に課金する䟡倀ある

    結論から蚀うず、毎日コヌドに觊れおいるなら最優先で課金しおも良いず思う。ChatGPT、Claude など他のサブスクに課金しおいる堎合、远加で月 20 ドルはしんどいかもしれないが、20 ドル以䞊の䟡倀があるこずは保蚌する。

    節玄するなら、API キヌを䜿甚し、コヌド補完には Codeium を䜿甚するず良い。Codeium は無料で䜿甚できお性胜も悪くない。API なら埓量課金なのでコストをコントロヌルできる。

    しかし、Pro プランでないず Composer ず Tab 機胜は䜿えない。これは痛い。Composer は今回解説した通り。Tab も䜿っおみるずわかるが、すごくいい。䞀床䜿うずもう Codeium には戻れない。戻りたくない。

    あず最近気づいたのだけど、gpt-4o-mini は cursor-small ず同じ扱いになっおおり、高速リク゚ストを無制限に䜿甚できる。これもプラス芁玠の䞀぀ず蚀える。

    画像

    迷ったらずりあえず 1 ヶ月だけ詊しおるこずをお勧めする。


     
     
     

    komz

     
     
    テック愛奜家ラむタヌ某テック䌁業の AI 蚘事執筆を担圓しおいたす2児の父X: @komzweb

    あなたぞのおすすめ