【起業日記】第19回:GeminiとClaude、二台のAIで開発

起業日記

ひな祭りの日に、ちょっと面白い実験をしてみました。AIを二台使って、コードを書くやつとレビューするやつに役割分担させてみたんです。

🤖 マルチAI開発体制、始動

これまでサーマルマップロガーの開発はGeminiと一緒に進めてきました。今日はそこにClaudeを新たに加えて、「マルチAI開発体制」を試してみることにしました。まだ課金はしていないので、ClaudeはブラウザでつかえるWeb版での導入です。

まずやったのは、Geminiが書いたサーマルマップロガーのソースコードをClaudeにレビューさせること。いわゆる「コードレビューAI」として使ってみたわけです。

🔍 Claudeが見つけた6つの問題点

結果は、なかなか鋭いものでした。Claudeが指摘してきた問題点は以下の6つです。

  • #1 SDカード書込処理の最適化:毎回open/closeを繰り返す非効率な実装で、SDカードの寿命低下と速度低下につながる
  • #2 データ配信とSD書込の順序問題:SD書込を先に行うとHTTPレスポンスが遅延する。順序を入れ替えることでレスポンスが改善できる
  • #3 /deleteエンドポイントのセキュリティ:ファイル削除APIにパストラバーサル(ディレクトリ外への不正アクセス)の脆弱性がある
  • #4 /toggle失敗時の状態管理:ログ記録の開始/停止を切り替えるとき、失敗した場合に内部フラグと実際の状態がズレてしまう
  • #5 センサー/SD初期化失敗時のリトライ処理:起動時に初期化が失敗するとそのまま停止してしまい、実車での使用時に再起動が必要になる
  • #6 /listエンドポイントのディレクトリクローズ漏れ:ファイル一覧取得後にディレクトリを閉じ忘れており、リソースリークが発生する

どれもGeminiがコードを書いているときには素通りしていた問題です。これらはGitHubにIssueとして登録し、3月中に全て修正・クローズしました(Issue #1〜#6)。

✅ GeminiもClaudeの指摘に「確かに」と納得

次に、Claudeが見つけた問題点をGeminiにぶつけてみました。「こういう指摘があったんだけど、どう思う?」と確認したところ、Geminiも「確かにそうだね」と素直に認めました。書いた本人(AI)が、後から別のAIに指摘されて「それはそうだ」と言う。なんだかちょっとシュールな光景です。

🔄 逆パターンも試してみた

面白くなってきたので、今度は逆のパターンも。ClaudeにコードをゼロFrom書かせて、それをGeminiにレビューさせてみました。こちらも同様にいくつかの問題点が見つかりました。GeminiとClaudeでは着眼点が微妙に違うようで、指摘の内容も少しずつ異なります。「書くAI」と「レビューするAI」を入れ替えても、それぞれの個性のようなものが出てくるのが興味深かったです。

🤔 AIって、自分で書いたコードに気づかないことがある?

ここで素朴な疑問が浮かびました。AIって、コードを書いているときに気づかなかったことを、後からレビューすると見つけることがあるんですよね。人間だって「書いたばかりの文章を見直すと誤字に気づく」ということはありますが、AIにも似たようなことが起きているのでしょうか。生成と検証では、使っている思考のモードが違うのかもしれません。理由はよくわかりませんが、「書くAIとレビューするAIを分ける」というのは、単なる思いつきではなく実用上も意味がある手法かもしれないと感じました。


ひとり+AIでも、AIを複数使えばチームっぽくなる。「ひとり+AI複数=小さな開発チーム」という感覚が、少しずつ形になってきた気がします。

コメント

タイトルとURLをコピーしました