
Roo Clineを使った未来の開発チーム
こんにちは、世界中のすべてのビジネスにソフトウェアを届けたい、代表の榎本です。今日は、Xで投稿していたRoo Clineを使った未来の開発チームについて解説したいと思います。
Roo Clineとは?
Clineをフォークして開発されている、開発エージェントです。オープンソース(https://github.com/RooVetGit/Roo-Cline)で、VSCodeのextensionとしてインストールできます。VSCodeベースのCursorにもインストールできます。

Roo Clineの特徴は「Auto-Approve」機能で、Hight-Riskではありますが、中間のファイルを書き出す、コマンド実行するなどのタスクを人間への確認なしに自動で実行し、タスクの完了まで自動で動き続けます。

AIエージェントを使った未来の開発チーム
Roo Clineでは、Clineと同様に、エージェントへの追加指示であるカスタムインストラクションを設定できます。カスタムインストラクションは、システムプロンプトの最後に自動的に追加されます。
カスタムインストラクションで下記のように、GitHubのプルリクエストの作成、作業毎のコミットを指示を追加すると、タスクの実行時に自動的にGitHubのプルリクエストを作成し、コードの変更内容を随時コミットしてくれます。
ユーザのタスクを分解し、実装方針を整理し、GitHubコマンドラインを使ってプルリクエストにまとめ
ユーザに確認を求めます、ブランチ名はタイムスタンプを使って重複しないようにします
```bash
git checkout -b <ブランチ名>
gh pr create --title "タイトル" --body "説明文"
```
作業中は随時コミットとPushを行います。
```bash
git add .
git commit -m "コミットメッセージ"
git push origin <ブランチ名>
```

これまでは、ChatGPTでコードを生成したり、AI開発エディタを使った場合でも人間が張り付いて、AIはアシスタントとして機能していましたが、Roo Clineとカスタムインストラクションを使うと、エージェントとしてタスクを完了し、人間は成果物をまとめてGitHubでレビューするだけでよくなります。

従来の開発チームは数名のエンジニアにタスクを割り振り、マネージャーなどがレビューしてマージ(承認)していました。
Roo Clineを使うと、AIエージェントにタスクを割り振り、人間がレビューするだけで開発が進む「未来の開発チーム」を組成できるようになりました。

ドキュメントを元に開発
ここで気になるのは、成果物の精度です。いくら自動でタスクを完遂しても、全く関係のない成果物を納品されるのでは意味がありません。人間の期待通りに動作させるためにRoo Clineの調査能力を活用しドキュメントの作成を先行して行います。
以下のタスクを行うための、影響範囲を確認し、編集対象のファイルと、そのファイルの修正内容を
まとめて日本語で変更方針を記載してください。
#記入先
agent/task/1.md
#ゴール
ToolResultの結果を元にapproveを自動送信する改修を行います。
途中までを抜粋で表示しますが、下記のように具体的にどんな改修を行う予定なのかドキュメントにまとめてくれます。

ここでのポイントはドキュメント内にコードが入っても、コードの自動修復機能が発動しないのでトークンを消費しない点です。最小限のLLMリクエストで報告を行うため、人間は内容をレビューし問題があれば、チャットで指摘またはドキュメントを直接編集し、変更内容の合意を行います。ドキュメントの編集にはAI補完機能が効くCursorがおすすめです。
最後に、ドキュメントの作成を行なったタスクのチャット欄に、「1.mdの実装を進めてください」のように入力し、実装を進めてもらうと、コード実装の入ったプルリクエストが自動で作成されます。
まとめ
Cursorを複数起動し、バックログなどの開発タスクを元に、開発ドキュメントの作成を行う
ドキュメントの内容の確認・修正を行い、コードの製造をお願いする。
出来上がった複数のプルリクエストを順番に評価しマージしていく
この作業フローにすることで、エンジニアリングマネジャー1人で劇的に開発できる「未来の開発チーム」を組成できるので皆さんもぜひ活用してみてください。