💭

Roo CodeとClineはどう違うのか

2025/02/28に公開

前提

Roo CodeがClineのフォークという程度には知られている。Roo Codeを好んで使っているユーザーがいるがどんな違いがあるのかというのが気になっていたので調べた。

結論としては「Rooは個人が趣味で実験的な機能モリモリ入れた改造版で、Clineが事業としてやっていこうとしているオリジナルな製品」

機能面は両方インストールしてもらえばすぐ分かるので背景的な情報とか内部設計とかをピックアップした。

画面

Roo Code Cline

ユーザー数:Cline>Roo Code

  • これはマーケットプレイスとGitHub、Discordを見るとわかる。
  • ざっくりと4:1

開発者数:Cline>Roo Code

  • Clineは会社化して採用してる
    • GitHub上でいろんな人が活動してる
    • エンタープライズでマネタイズするらしい
    • MetaからClineに転職した人とかいる
  • Rooはメインの二人だけ

機能数:Roo>Cline

  • Rooのが設定項目がたくさんある
  • ClineはUIデザイン的な観点でシンプルにしてある
    • Rooは剥き出しのコックピット
    • というか一世代前のClaude-dev時代の画面に継ぎ足してる
  • ClineにはMCPマーケットプレイス機能がある
    • これはローカルJSONをわざわざユーザーのAPIトークンを使ってClineパイプラインで編集する。ハンマー持ったら全てが釘に見える系
  • 今はRooだけsonnet-3.7:thinkが入っていたりする
    • これはモデル名ではなくAPIパラメータ(豆知識)
    • 追記:3/1/2025にClineにも入っていた

コード量:Roo>Cline

  • 倍ぐらい違う
  • Rooに大量のテストコードとリファクタリングが入っている
    • 逆にいうとClineにはテストが10ファイルぐらいしかない
    • さらにRooはjestでClineはmocha
  • 実験的機能数が表れている
    • しかしむしゃくしゃしていれたデッドコードがRooには残っているのでは

チェックポイント機構

  • Clineはgit worktreeで内部リポジトリを作って巻き戻せるようにする
  • RooではCline方式をShadowCheckpointと名付けて、それとは別にworktreeではなくユーザーのgitリポジトリに専用ブランチを生やすLocalCheckpointモードがある
    • 多分ストレージの削減が理由?
    • ただ現状ShadowCheckpointしか使ってないように見える

Diff戦略

  • ClineはシンプルなSEARCH/REPLACEのtoolだがRooにはunidiffオプションがある
    • 行単位パッチは難しいとされているのでちゃんと動くのか不明
    • 重複行を無視できるのでトークン消費は減る?
    • 個人的にはClaudeがSEARCH/REPLACE方式使ってるからそれに従う

オンラインサービス:Clineある/Rooなし

  • Clineはオプトインでposthogを使ってテレメトリを収集する
  • ClineにはMCP Marketplaceがあってサーバーサイド(api.cline.bot)がある
  • 「Clineアカウントにログインする」という機能も作ってあるがまだ表示されてない。何に使うのか不明

共通している点1:勢い重視

  • デイリーで安定版をロールアウトしちゃう
  • Gitのタグ付けとかあとまわし
    • Rooはそもそもタグ切ってない

共通している点2:日本でやたら流行っている

  • グローバルユーザーも多いがCursorとかのが多い
  • 技術の良し悪しというよりハイプカープやビジネスフェーズの話

どっちを使ったらいいのか?

  • 知らない
  • 自分はどちらもメインでは使ってない
  • 他の人のレビューを待つべし

Cool Clineは?

  • 匿名の中国人の人が一人で開発してる

Reclineは?

  • Copilot API利用のPoCのために作られたバージョンです。忘れましょう

Discussion