最近、個人開発をしていて強く感じていたことがあります。
やりたいことはたくさんある。
生成AIのおかげで、コード自体もかなり速く書けるようになった。
それでも── 開発全体のスピードは、思ったほど上がっていない。
この違和感から、DevLoop Runner というツールを作り始めました。
対話型AIは楽しい。でも、1画面に縛られる
Claude Code や Codex を使った開発体験は、とても良いです。
- 対話しながら作れる
- 思考を補助してくれる
- 実装の質も高い
ただ、個人開発を続けていると、ある限界に気づきました。
結局、1つの指示を出して、
応答を待って、確認して、次に進む。
ターミナルを開いて、指示を出して、応答を待つ。
その間に別の作業をやろうとしても、意外と集中できない。
結果として、
- 作業は順番にしか進まない
- 画面に張り付く時間は減らない
- 横で別のことをやる、という動きがしづらい
「手を動かす人がAIに変わっただけで、
開発の進め方自体は変わっていないのでは?」
と思うようになりました。
個人開発では「失敗するかもしれない実装」を避けがちになる
もうひとつ、個人開発ならではの問題があります。
それは、
実りがあるか分からない開発に、躊躇してしまうこと
です。
- このプロトタイプ、うまくいくか分からない
- でも指示を考えて、待って、確認して…
- ダメだったら「時間を無駄にした感」が残る
こうして、
本当は試してみたいアイデアを、
無意識のうちに捨ててしまう。
結果として、
- 無難な実装だけを選ぶ
- 「遊び」や「冒険」が減る
これは技術の問題ではなく、
心理的コストの問題だと感じました。
本当にやりたかったのは「並列に試せる開発」
そこで考えたのが、この発想です。
人は考える。
AIは裏で、並列に手を動かす。
もし、
- Issue A, B, C, D を同時に走らせて
- しばらく放置して
- あとからまとめてPRをレビューできる
そんな状態が作れたらどうだろう。
- 良ければマージ
- 微妙なら修正
- ダメなら そのままクローズ
失敗しても、後悔が残らない。
これなら、
「ちょっとした実験」や「遊び」を
もっと気軽に入れられるのではないか。
この考えが、DevLoop Runner の出発点でした。
AIに任せたいのは「思考」ではなく「手を動かす部分」
世の中には、
AIが自律的に開発を進めるツールもあります。
それはそれで魅力的ですが、
自分がやりたかったのは少し違います。
- 要件定義や設計は、人が確認したい
- テスト観点も、人の意図を入れたい
- 最終判断は、PRレビューで行いたい
つまり、
AIに開発を丸投げしたいわけではない。
並列実装だけを任せたかった。
DevLoop Runner では、
- GitHub Issue を起点に
- AIが自動で実装・テストまで進め
- PRとして成果物を出す
人は、
レビューと意思決定に集中する
という役割分担を前提にしています。
実装で意識したこと
Claude CodeとOpenAI Codexの使い分け
DevLoop Runner では、Claude Code と OpenAI の Codex を両方使えるようにしています。
どちらか一方だけでも動きますが、
両方を組み合わせることで、
片方が失敗したときに、もう一方にフォールバックできる
という安心感があります。
それぞれのエージェントには強みがあって、
フェーズに応じて適切な方を自動選択できるようにしました。
手元で開発していると、
こういった切り替えが意外と面倒なので、
ここは自動化してしまいたかった部分です。
Issue の粒度がめちゃくちゃ大事
使っていて強く感じたのは、
Issue の粒度が成功率を大きく左右する
ということです。
あまりにも大きいタスクを Issue にしてしまうと、
AIが判断しきれずに失敗することが多い。
逆に、適切な粒度に分割されていれば、
かなり安定して動いてくれます。
今後の方向性として考えているのは、
Issue 分割機能です。
最初に Issue を分析して、
- このタスク、大きすぎるな
- サブ Issue に分けた方が良さそう
そう判断したら、自動でサブ Issue を提案する。
そんな機能があると、もっと運用しやすくなるんじゃないかと思っています。
現実的な話:成功率は70%くらい
正直なところ、
今の成功率は70%くらいです。
LLM のチューニングや、
Issue の書き方次第で失敗することもあります。
失敗したときは、
基本的には再実行で対処しています。
中間までの成果物がある程度出ている場合は、
それを活用しながら、
自分のローカル環境でリカバリーすることもあります。
ここは、まだまだ改善の余地がある部分です。
「失敗してもいい」状態を、仕組みで作る
このツールで一番価値があると思っているのは、
実装速度そのものではありません。
試すことを、怖くなくすること
です。
- プロトタイプ用の Issue を書く
- AI が勝手に実装する
- 合わなければ閉じる
それだけ。
自分の時間や集中力を
「失敗するかもしれない実装」に賭けなくていい。
この心理的安全性があるだけで、
個人開発の進め方はかなり変わると感じています。
誰に使ってほしいか
まずは、個人開発者に使ってほしいです。
もちろん、仕事で開発している人にも使ってもらえたら嬉しいのですが、
まずは小規模な開発をしている人に試してもらうのが良いと思っています。
特に、
- LLM(Claude, ChatGPTなど)を使って開発しているけど、
- いまいち開発効率が上がっていないな
と感じている人には、
この「並列に試す」という考え方が
何かヒントになるかもしれません。
同じように悩んでいる人へ
- AI コーディングは使っているけど、思ったほど速くない
- Issue が溜まりがちで、全部自分で抱えている
- 試したいアイデアはあるけど、踏み切れない
もし、そんな感覚が少しでもあれば、
この「並列に試す」という考え方は
一度体験してみる価値があると思います。
DevLoop Runner はまだ発展途上で、
初期設定(GitHub トークンなど)も必要です。
それでも、
「この方向、ちょっと面白そうだな」
と思ってもらえたら、
一度 Issue を投げてみてください。
おわりに
AI がコードを書けるようになった今、
次に変わるべきなのは
開発のスピードではなく、開発の勇気なのかもしれません。
- 人は考える
- AI は並列に動く
- 失敗してもいい
そんな開発スタイルを、
少しずつ試していけたらと思っています。