Roo Clineを使ってみた感想 | Github Copilot, Cursorとの比較
話題のRoo Cline、使ってみました。
結論から言うと、Cursorがおもちゃに感じましたw
- ターミナルのログをコピペして生成AIに貼る
- 単体テストの実行コマンドを打つ
- ブラウザで挙動確認する
この辺がRoo Cline使うと、全部自動でやってくれます。もうこれ以前には戻れません。
APIの料金に余裕がある、一人法人エンジニアの皆さま、マジでご利用ください。飛ぶぞ。
(例によって音声入力でコンテンツ作ってるので、編集などはほぼ入れていません。すいません汗)
目次 (PRも含まれます)
Roo Cline(ルークライン)とは
Roo ClineはVS Codeの拡張になっていて、 エージェントを利用してプログラミングを行うことができるツールとなっています。
他の生成AIを利用したコーディングアシストツールで言うと、最も有名なのがGitHub Copilot。 次に生成AIのエディターですね、Cursorがあると思うんですが、 こちらはあくまでも拡張機能として利用するものとなっています。
Roo Cline(ルークライン)の強み
他の生成AIのコーディングアシストツールと比べて何が良いのかについて実際に触ってみて思ったことを話します。
ファイル検索が鬼強い
まずファイルの検索みたいなものがエージェントで自動で行われているはずというところですね。
CursorとかGitHub Copilotを利用するときに、 例えば私はRuby on Railsを書いているんですけれども、 モデルとコントローラーとビューなどをそれぞれ作ってもらうときに、 ここにこれ書いてみたいな指示をしなければいけないことが非常に多いんです。
一方で、Roo Clineを使うと、かなり曖昧に指示を出しても、 必要なタスクを自分で考えて実装してくれるようなイメージです。
具体的に言うと、例えばシンプルなMVCのクラットの、 例えばToDoページを作っていくみたいな感じになったときに、
今までだったらファイル名を指定して、 このコントローラー、これらのファイルに対してこれを作ってくださいみたいな、 こういう機能を作ってくださいみたいなことをやらなければいけなかったんですけれども、ファイル名の指定とか無しに、エージェントがコードを全部探して、 ファイルの作成から実装および単体テストまで実行してくれるような感じですね。
ブラウザの挙動の調査までできる
さらにですね、ブラウザでの挙動も確認できるという非常に優れたツールとなっています。
例えばなんですけれども、よくあるのがReact.jsなどを利用して実装していくときに、「 動作はしているんだけれども、 ウェブでの表示がうまくいかない」みたいなときがあって、 それはソースコード的にはテストをパスしているんだが、 人間が見たときに変な見た目になるっていうときがありますよね。
それを今までは生成AIで解決することっていうのはかなり面倒くさかったというか、 やるとしてもスクリーンショットを撮って画像を保存してCursorにスクショ貼ってみたいなことをやらなければいけなかったんですけれども、 これを使うとですね、そんなことをしなくても、 ブラウザを勝手に立ち上げてUIを確認し、挙動がおかしくないか確認してくださいみたいなこともできます。
E2Eレベルのデバッグが可能
上の話にもつながりますが、 例えば、ある特定のボタンをクリックしたときに、 Paginationが正しく動作するかみたいなチェックが必要になってくると思うんですけれども、 こういうところもですね、ブラウザを、多分Chromiumベースのブラウザをですね、 バックグラウンドでヘッドレスで立ち上げていると思うんですが、 立ち上げてそれを指示として実行してくれるので、 E2Eのテストを書かずにE2Eのチェックができるみたいな感じの非常に優れものだなというふうに思いました。
Roo Clineを使う上での注意点
モデルによる性能の違い
このツールを使うときにですね、注意しなきゃいけなければならない点としては、 生成AIのベンダーのモデルごとに使える機能の幅があるということですね。
Open AIを利用する場合は、 エージェント機能みたいなのがちょっと使いづらかったりとかするみたいで、 AnthropicのClaude Sonetを使うのがおすすめです。
ただ、このAPI、 これは法人のプランではないと確か利用できなったはず(要確認)
弊社はシステム開発とかSaaSで使っていたので、 たまたまその4TierのAPIが利用できる状況になっていたので、それが利用できるのですが、 それを使うとですね、バチクソコードを書くのが早くなるというか、 もう「プルリクまで自動で上げてくれるレベルまで実装」ができるようになります。
API利用料金がめちゃくちゃ高い
Anthropic ClaudeのAPI使うと、1PRに大体3ドルくらいかかるので、 日本円にすると500円くらいかかるイメージです。 まあエンジニア1名採用するよりも早いし安いし正確なので、法人でやる場合は受託開発を一人で回してます、みたいな会社だとめちゃくちゃフィットする感ありました。
個人開発でやるにはちょっと予算的に厳しいところではあるんですけれども、もちろんそれ以外の安いモデル(例えばGoogleやOpen AIなど)も使えるので、そっちでも十分かなと思います。
会社として実験的に導入したいみたいなケースだと、 費用対効果というか、エンジニアの時間なんかと比べると圧倒的に安いはずなので、 いいんじゃないかなと思いました。
カスタムインストラクション使うと痒いところに手が届く
ちょうど実験的にやっているプロジェクトがRails x Nextで、Railsだけdocker container利用しているみたいな技術スタックだったので、
この辺を何も指示しないで理解してもらうのがちょっと難しかったです。
なので、だいたいこんな感じでカスタムインストラクション組んでおくと、良さげ感です。
“`ruby
# Custom Instruction
# 実装しているソフトウェアについて
– バックエンド: Ruby on Rails : localhost:3000 で起動。docker containerで経由で最初から起動しています。 `make bash`で起動してからコマンドを実行すること。
– フロントエンド: NextJS: localhost:3001で起動中。/frontend ディレクトリに存在する。npm run dev で起動できます。
# 実装の方針について
– まず、実装する仕様について網羅的にまとめ、ユーザーに仕様が正しいか確認を入れてください。
– 実装が完了したら、rspec, jestのテストを実行してください。 @package.json にテストコマンドが記載されています。
“`