Google AI Pro plan に加入して、Antigravity でゲーム開発をしてみた。
目的は「AIにどこまで任せられるか」の実験。
約1週間(2時間/日)で 2D RPG サンプルが制作できた。もしすべて自力だったならば、4~6か月くらいかかる物量であり、AIエージェント開発が革新的な技術であることは疑いようがない。
しかし、現時点でAIにコーディングを完全に任せるのはリスクが高すぎる、という結論に至った。
AIエージェントを使用した開発は経験あり。ゲーム開発経験なし。Godot エンジン経験なし。C#は経験あり。
ドキュメントは体系的に管理して詳細にレビューし、コーディングはほぼAIに任せる方針とした。コーディング標準、レビュー方針は、特に注意して整備し、AIのルールは開発中に何度も見直した。
ある程度プロジェクトが大きくなってきた頃からバグが頻発しはじめ、その原因の調査と対応にトークンと時間が奪われはじめた。
いったん新機能の開発を中断し、その時点のコードをレビューした。
正直、酷かった。
階層構造・アーキテクチャが守られていない。複雑な依存関係。拡張性がない場当たりなコーディング。
クラス図を出力させてみたら、めまいがした。二十年以上、いろいろな開発現場で、酷いコードは見てきたから見慣れてはいるものの、気分が良いものではない。
「不吉なコードのにおい」くらいはかぎ分けて、対処できるようになっていると思っていた。それが期待する成果のひとつでもあったから、残念な結果だった。
その後の3日間、コードレベルのリファクタリングに腐心した。
大まかに階層構造・責務の整理し、State / Strategy / Command / Adapter といった基本的なパターンを導入し、最後に詳細な仕上げ。
当然、この規模のリファクタリングも人力なら1か月くらいかかりそうな物量ではあったから、AIを利用した開発は優れてはいる。
今回は、要件定義~技術的なドキュメンテーションに至るまで、自分ひとりで実験をした上で、この結果だった。
もしこれがチーム開発の現場だったと考えると、ぞっとする。
あらゆる現場で最も苦労するのは、スキルが及第点に達しない人を含めて、どのようにチーム全体で結果を出すかだ。
仕事であれば、投げ出すわけにはいかない。仕事は仕事だと割り切ってチームを育成しながら結果を出すしかない。
だから、中堅以上のスキルを持ったAIエージェントが、自分の指示通りに仕事をしてくれるのは本当に助かる。
「AIを使うこと」や「AIに指示を出すこと」ができない人は多い。というか、それができる人のほうが圧倒的に少ない。
ちょっと調べれば解決できることでさえも、誰かに頼らなければ解決できなくて、誰かの時間を食い潰してしまうような人は、どこにでもいる。その原因は、単にスキル不足に起因することが多い。
何を調べたらいいのかわからない人。調べたとしても、知識がなくて理解ができない人。理解をしたつもりでも、何が正解で、何が不正解なのか、判断ができない人。どの順番で解決したらいいのか考えない人。おおよその時間を計算できない人。具体例は挙げればキリがないが、総じて「スキル不足」だと思っている。
AIエージェントは強力なツールではある。だからこそ、スキル不足の人が、強力なツールに触れて得られる成果は、悲惨なものになると確信できる。
バイブコーディングやらループエンジニアリングを騙って、無邪気に実践している人たちが、もし本当にコードを一行も読んでいないのならば、近いうちに莫大なリソースを食いつぶす存在になる。
AIサービスを提供する会社にとっては、最高の顧客かもしれない。
しかし、未熟なコードが量産され続ければ、やがて開発現場では首が回らなくなる。人間だろうがAIだろうが、開発コストが増えれば、プロジェクトは立ち行かなくなる。
近い将来、多大な負債を抱えて絶望するフェーズに入ることになるのは想像に難くない。
高価な最新モデルを無制限に使えるのなら、最悪な未来を、ある程度は回避できるのかも知れない。そんな環境を提供してくれる開発現場は稀だが。
現時点でも、人間の知識・スキルという裏付けがない状態では、AIエージェントによる開発は成立しえない。その事実は、もうしばらく変わりそうにない。
それはそうとして、Google AI Pro plan の契約期間中は、もうちょっといろいろと遊んでみることにする。