最近、LLMを用いたコーディング、いわゆるAIDD(AI-Driven Development)に興味を持っている。
ただ、いろいろ見聞きする中で、一つ気になっていることがある。
AIDDがうまくいく条件とは何なのだろうか。
LLMの性能が上がれば解決する話なのか。 コードやドキュメントをRAGなどで参照できれば十分なのか。
どちらも重要な要素ではあると思う。しかし、それだけでは説明できない何かがあるように感じている。
ナイトコーディングという発想
最近、「ナイトコーディング」という言葉を耳にするようになった。
人が寝ている間にAIが開発を進め、朝起きたら成果物ができているという世界だ。
確かに魅力的ではある。
しかし、そのためにはAIが迷わず24時間動き続けられるだけのIssueやGoalを、人間が最初に用意しなければならない。
例えば、
- テストを80%通す
- レイテンシを20%改善する
- ベンチマークを一定値まで向上させる
こういったゴールなら分かりやすい。
では、新しい機能開発や設計変更ではどうだろう。
途中で仕様を見直したり、新しいIssueが見つかったり、人間が判断したくなる瞬間は必ずあるように思える。
AIDDで重要なのは、モデルの性能よりも、「AIが迷わず進める問題設定」を作ることなのかもしれない。
社内ハッカソンもAIDD
私は参加していないのだが、社内ハッカソンもAIDD前提で開催されるらしい。
人間に与えられる時間は12時間(初日10時間+翌日2時間)。
一方で、AIは24時間動き続ける。
つまり、人間が昼間にIssueを整理し、夜の12時間はAIがナイトコーディングを行うというスタイルだそうだ。
正直、最初に聞いたときは「本気か?」と思った。
24時間もHITL(Human In The Loop)なしで、本当に開発は進むのだろうか。
途中で状況を確認したり、方針を修正したりするタイミングは必要ではないのか。
AIが予想外の方向へ進んでしまったら、翌朝には大量の不要な変更が積み上がっている可能性もある。
さらに現実的な話をすると、24時間AIを回し続けた場合のLLM利用料金も少し気になる。
だからこそ、このハッカソンにはとても興味を持っている。
成果物よりプロセスが知りたい
今回は参加を見送った。
今の立場では12時間という時間を確保するのが難しいと判断したからだ。
それでも、ぜひ会場には行ってみようと思っている。
不思議なことに、私が興味を持っているのは「何が作られたか」ではない。
知りたいのは、
- Issueをどのように分割したのか
- AIへどんな指示を書いたのか
- 途中で人は介入したのか
- 朝起きたとき、本当にコードは完成していたのか
という、AIDDの運用そのものだ。
成果物はいずれ真似できる。
しかし、そこへ至るプロセスは、実際にやった人からしか学べない。
最近、時間が足りない
最近、時間がどんどん足りなくなってきたと感じている。
出社回帰もあり、通勤時間をどう有効活用するかを考えることが増えた。
もしかすると、これからは「PCを持ち歩く」よりも、「家で動き続けるAIに指示を出す」時間のほうが重要になるのかもしれない。
最近はClaude CodeのRemote Controlも登場し、リモート環境でAIに開発を任せる選択肢も現実味を帯びてきた。
一方で、自宅にはMac Studioのような常時稼働するマシンはなく、あるのはMacBook Proだけだ。
スリープをどうするか、安定して動かし続けられるのかなど、まだまだ考えることは多い。
こうした環境づくりも、これからのAIDDでは意外と重要な要素になるのかもしれない。
AIDDの本質は、まだ分からない
AIDDについて考えれば考えるほど、モデルの性能だけでは語れない世界だと感じる。
重要なのは、
- AIが迷わないIssue設計
- 評価可能なGoal
- 人が介入するタイミング
- 長時間動かし続ける実行環境
こうした運用全体なのではないだろうか。
今回のハッカソンでは、完成したアプリケーションよりも、そのプロセスを観察したい。
もしかすると、AIDDがうまくいく条件のヒントは、そこにあるのかもしれない。