こんにちは、虎の穴ラボのH.Y.です。
今回は、2025年3~4月にRooCodeを使って開発してみた時の所感を話したいと感じました。
RooCodeとは
RooCodeは
- ClineベースのAIコーディングアシスタント。
- Visual Studio Code拡張機能として利用可能。
- Roo CodeはClineを拡張・改良したもの。
- コード補完に留まらない自律的な作業が特徴。
という特徴を持つツールです。
また、LLMモデルも自分で選択できます。
OpenAI、Gemini、ClaudeなどメジャーどころのLLMを使えます。
また、Ollamaなどを使用してローカルLLMを使用することもできます。
今回、LLMモデルにo3-mini-highを使用し、設計から実装・テストケースの作成までしました。
開発
設計
RooCodeを使用するにあたって最も重要で有用だと感じているフェイズです。
まず、RooCodeをArchitectモードにします。
このモードは、設計に特化したモードで動作し、コードの書き込みは行われません。
要件を作り、RooCodeに打ち込むと内容を解析して曖昧な部分は聞き返してきます。
この段階でAIレビューにより曖昧な部分を潰せます。
個人的にはここが最も大きなメリットだと感じました。
曖昧さが解消するまで質問を繰り返し、提案も出してくれるので設計の工数がかなり減ります。
仮で、「固定文章をi18化してください。」と聞いた時の返答です。
このように曖昧すぎる要件に関しては質問を投げ返してきます。
今回のものは単純ですが、曖昧な部分が解消されるまで聞き返してきます。
曖昧なところが解消されると計画をMarkdownファイルに書き出しますか?と聞いてきます。
スプレッドシートに転記すればいらないんじゃないかと思われるかもしれませんが、
このMarkdownファイルは人間も使いますが、主にAI向けのファイルなので作っておきましょう。
(初めて使用した時に、いらないだろと思って作らなかったので再度Architectモードにして作り直しました。)
これで設計のフェイズは終わりです。
実装
Markdownファイルの書き込みが終わるとcodeモードに変更したいと聞いてきます。
ここから実装に入ります。
基本的に実装は読み書きの許可するだけです。
通常は問題ないが全削除したり、指定する段がずれて意味不明な修正になったりすることがあるので、書き込みの自動承認はしない方がいいです。
また、コントローラーの場所とかが分からずに、思っているのと違うところにコントローラやルートを作ったりするので、場所を指定してあげる必要がある時があります。
ここで問題なく実装されれば問題ないのですが、たまにバグって延々とおかしな修正をし続けようとするようになることが起きます。
この時に一旦このタスクを終了して、設計の段階で作成したMarkdownファイルの読み込みを実行します。
@/doc/i18n_comments_plan.md このファイルを読み込んで2から実装を続けてください
という感じにしてから、続きを実装してくれます。
また、コンテキストウインドウが一杯になると性能が低下し、API利用料も増えるため、1機能作ったら
違うタスクにしてコストを下げるという手もあります。
自分は、この手法で性能の劣化を抑えつつ実装をしていました。
あと、RooCodeにアップデートが入ると制御コマンドが変わる時があるので、その時も実装できないぐらいおかしくなることもあります。
このように制御コマンドらしき物がコードにも入り込んでしまう。
モデルやコントローラ、テストに関しては、割とすんなり実装できますが、
エラーが出ないビュー周りの実装はあまり得意ではないので、そこは人力で行うことが多かったです。(LLMのモデルによって違うかも)
テストケース
テストケースはRooCodeよりもGeminiを使いました。
RooCodeで作成したMarkdownファイルをGeminiに読み込ませ、テストパターンを作ります。
ここは人間が作ってもいいのですが、設計書から作るのでよりブラックボックスのテストケースが出来上がります。
たまに足りないので、都度都度指摘すれば追記してくれるのでテストケースの作成もかなり楽になります。
まとめ
RooCodeは、特に設計フェーズから活用することで、開発プロセスを効率化できる非常に便利なツールだと感じました。
AIが要件の曖昧な部分を指摘してくれるため、手戻りの削減に繋がります。
ただし、現状では実装フェーズでのタスク分割や、モデルの特性に合わせた指示出しなど、
使用者側である程度のノウハウや試行錯誤が求められる場面もあり、誰でもすぐに完璧に使いこなせる万能ツールというわけではありません。
とはいえ、今回初めてRooCodeを使ってみた結果、設計から実装にかかる工数を約20%短縮することができました。
この経験から、開発効率向上に有効なツールであることは間違いないと言えます。
また、AI関連技術の進歩は目覚ましく、RooCode自体も試用期間(2025年3月〜4月)の間に3回アップデートされました。
利用するLLMモデルも、例えばo3-mini-highからo4-mini-highへ変更しただけで、不自然なコード修正が劇的に減り、
より的確な実装支援を受けられるようになるなど、ツールの性能や使い勝手は日々向上しています。
今後、RooCodeや関連LLMがさらに進化すれば、より開発がスムーズになる可能性も十分にあります。
この流れに乗り遅れないよう、今後もAI関連技術の動向を注視し、活用方法を模索していきたいと考えています。
採用情報
虎の穴ラボでは一緒に働く仲間を募集中です!
この記事を読んで、興味を持っていただけた方はぜひ弊社の採用情報をご覧ください。
toranoana-lab.co.jp