Roo Code(Roo Cline)を既存のアプリケーション開発で使う

1月にAIエージェントが物凄く盛り上がりました。私も1月から複数のAIエージェントを試してきましたが、Roo Codeが今一番使いやすいと感じています。実際にどのように使用しているのか紹介します。

Roo Codeとは

Roo Code(旧称:Roo Cline)は、Visual Studio Code(VSCode)の拡張機能として提供されるAIエージェントです。オープンソースの自律型コーディングアシスタント「Cline」を基盤に開発され、コードの生成、編集、テスト、デバッグ、さらにはプロジェクト管理まで、開発の各段階を包括的にサポートします。

Settingsで広い権限を渡す

初期設定ではread-onlyでwriteに関しては承認が必要という状態ですが、これだと逐次的に進める必要があるので、広めの権限を渡します。git等で変更管理をしているはずなので大きな問題はないと思います。

API Providerは複数あると良い

先におすすめの組み合わせですが、providerはVS Code LM APIとOpenRouterを使うことをお勧めします。モデルはClaude 3.5 sonnetをお勧めします。

理由ですが、OpenAIやClaudeのAPIを個人で直接払って使用しようとするとlimitの制限が厳しく、使い勝手が悪くなります。AnthropicはTier 2までOpenAI PlatformはTier 1まで試しましたが、不十分でした。

Anthropic

Rate limits - Anthropic
To mitigate misuse and manage capacity on our API, we have implemented limits on how much an organization can use the Claude API.
Usage TierCredit PurchaseWait After First PurchaseMax Usage per Month
Tier 1$50 days$100
Tier 2$407 days$500
Tier 3$2007 days$1,000
Tier 4$40014 days$5,000
Monthly InvoicingN/AN/AN/A

OpenAI Platform

https://platform.openai.com/docs/guides/rate-limits?context=tier-four&tier=tier-two#usage-tiers

TierQualificationUsage limits
FreeUser must be in an allowed geography$100 / month
Tier 1$5 paid$100 / month
Tier 2$50 paid and 7+ days since first successful payment$500 / month
Tier 3$100 paid and 7+ days since first successful payment$1,000 / month
Tier 4$250 paid and 14+ days since first successful payment$5,000 / month
Tier 5$1,000 paid and 30+ days since first successful payment$200,000 / month

OpenRouterを使うことでAPI のtokenやrequestのlimitの制限をほとんど気にしなくて良くなります。(OpenRouterもPrivacyで学習に使用しないように選択ができます。)

(OpenRouterで)claude-3.5-sonnet:betaを使用していると料金は高くなります。

さらに1/17からVS Code LM APIが使えるようになりました。これでcopilot経由でのclaude-3.5-sonnetが一定量無料で使えるようになりました。

余談ですが、Roo Codeでgpt 40を使っていた時、一定程度使っているとなぜか Claude 3.5 Sonnet への切り替えを推奨されました。理由は分かりませんが、Claude 3.5 Sonnetがモデルの方が多くの情報を処理できるみたいです。

Roo Code uses complex prompts and iterative task execution that may be challenging for less capable models. For best results, it's recommended to use Claude 3.5 Sonnet for its advanced agentic coding capabilities.

2025/2/13追記

GitHub Copilot Agent Modeが使えるようになりました!

Roo Codeと同じくAIエージェントで高性能なモデルGPT 4o, o1, Claude 3.5 sonnetが無料で使えます!

ということで今一番使っています!

2025/3/19

すでにClaude 3.7 sonnet、Claude 3.7 sonnet Thinking、GPT 03-miniが使用できるようになっています!

現在試行錯誤中なので、明日には使い方が変わっているかもしれませんが、一旦こんな風に使ってたというのを記載します。

インフラ開発

CDKをIaCとして採用しており、stack内のリソース作成などはコーディングの量がそこまで多くないので、AIエージェントの良さを感じづらくはあります。個人的にはcodeでプロンプトを投げるのではなく、askで参考コードを出してもらって良ければ追加くらいでも今のところ良いかなとも思います。
Lambda(typescript)を一から作成するのはとても簡単に感じました。また、Lambdaのpolicy作成もコードと合わせて行ってくれますし、テストも作ってくれて便利です。importするものを指定すると精度が上がりました。(何も指定せずに依頼するとjest.mockでテスト作られるので、aws-sdk-client-mockを利用したい場合は指定する必要があります。)コーディングルールをドキュメントにしてもらいつつ、開発していくのが有益だと思います。

バックエンド

GolangでAPIを作成しています。既存のOpenAPI定義があるので、定義にエンドポイントを追加していくことは難しくないです(自分で追加してもそこまでコード量は多くないので、好みかと思いますが、エージェントに作成してもらってレビューー&修正という形で開発しています。)。OpenAPI定義に関わらず、ファイルが数千行と膨大なものになる場合はエージェントの実行時間とトークンの消費量が大きくなるので注意です。OpenAPI定義と要件から実装をお願いするといい感じで作成してくれます。明示的に”controller, model, service, infrastructureに追加して”や”既存のファイルのコーディング方法を確認して同じように追加して”、”この手順でテストして”など詳細を伝えることが大事です。

フロントエンド

まだ試せてないで楽しみです。