ほったらかし分析アプリ 開発奮闘記

Web版Geminiと練り上げた「最強の設計図」。
そして、それを形にするために選び抜いた「最高の建築家Gemini Code Assist」。

反撃の準備は、完全に整った。
そう信じていました。

しかし、このときの私はまだ考えてもいませんでした。ここからが、本当の意味での「AIとの格闘」、その始まりだということを…。

AI監督業、はじめました

意気揚々と、私は第二話で完成した「設計図」を、コーディング専門の職人であるGemini Code Assistに渡しました。
「さあ、頼んだぞ!」と。

すると、意外な反応が返ってきました。
はすぐにはコードを書き始めず、「承知しました。では、まずこういう流れで開発を進めていきましょう」と、Gemini Code Assist側から「開発計画」を提案してきたのです。

この最初の「打ち合わせ」は、嬉しい驚きでした。AIはただの命令待ちの道具ではなく、プロジェクトを共に進めるパートナーなのだと実感した瞬間です。

しかし、すぐに気づかされることになります。
AIは、時に「せっかちで成果主義」なのだ、と。
私が「監督」として、「今はこれに集中して」「いや、その前に全体像をもう一度確認して」と手綱をしっかり握らないと、大切な細部をすっ飛ばして、どんどん自分勝手に先に進もうとするのです。

ここから、私の「AI監督業」が本格的に始まりました。
その仕事は、いたってシンプル。基本的には、以下のリズムを繰り返すだけです。

  1. 指示する(お願い♡): 設計図の一部をGCAに渡して、「この部分、お願い!」と頼みます。
  2. 見守る(生成): GCAが猛烈な勢いでコードを書き上げるのを、コーヒーでも飲みながら見守ります。
  3. 試す(実行): 書かれたコードを、実際に動かしてみます。
  4. 伝える(報告): エラーが出たら、「監督、エラーが出てます!」と、その内容をGCAにコピペして伝えます。
  5. (そして、1に戻る)

このシンプルな「ダンス」を続けるために本当に必要だったのは、プログラミングの知識ではありませんでした。
それは、まさに「根気と執念深さ(笑)」、そして何より「AIをコントロールする力」だったのです。

第2章:AIの「スランプ」脱出大作戦!

開発は、まさに山あり谷あり。特に、Gemini Code Assistの「クセ」には何度も泣かされました。

トラブル①:「君は誰?ここはどこ?」

会話が長くなり、一度に処理する情報が増えると、GCAは突然バグります。応答がおかしくなり、使い物にならなくなる。こうなると、エディターを再起動するしかありません。
しかし、再起動すると、それまでのチャット履歴は綺麗さっぱり消えてしまうのです。

つまり、毎回こう自己紹介からやり直すハメに。
「はじめまして。今、こういうアプリを作っている〇〇です。これまでの経緯は…」
この「記憶喪失」との戦いは、なかなかに骨の折れる作業でした。

トラブル②:「全体を見て!」事件

Gemini Code Assistは、目の前のコードに集中しすぎるあまり、プロジェクト全体の構造を忘れてしまうことがあります。
ある時、順調に開発が進んでいると思っていたら、新しく作った機能が、既存の機能と全く連携できておらず、コードがぐちゃぐちゃになっていることに気づきました。

それ以来、私は何か大きな変更を加える前には、必ずこう指示を出すようになりました。
「まず、このプロジェクトの全ファイルをもう一度確認して」と。
手間はかかりますが、この「全体像の再確認」こそが、巨大な建物を崩壊させないための、最も重要な基礎工事だったのです。

スランプ発生!Gemini Code Assist、思考停止

そして、ついに本格的なスランプが訪れます。
GCAが、あるエラーで完全に思考停止してしまったのです。「これで大丈夫です」と、間違った答えを繰り返すばかり。まさに「頑固で融通が効かない」職人モードです。

第一の武器「問答型プリントデバッグ」

しかし、ここで諦める私ではありません。コードが読めなくても、できることはあります。
私はGemini Code Assistにこう指示しました。
「処理の過程を、ターミナルに一つずつ言葉で表示させて」と。
プログラミングでいうprint文を、コードの要所要所に埋め込んでもらったのです。

すると、ターミナルにはAIの思考プロセスが、まるで実況中継のように表示され始めました。
「Aのデータを読み込みました」
「Bのデータと結合します」
「…エラー発生。Cというデータが見つかりません」

「監督!Cじゃなくて、Dのデータを使うんだよ!」
原因は、一目瞭然でした。

この「問答型プリントデバッグ」によって、多くの場合、GCA単独でも問題解決に至ることが分かりました。

第二の武器「AIチーム」によるセカンドオピニオン

しかし、時にはGCAだけではどうしても解決できない難問にぶつかります。
そんな時、私はGCAのいわば「兄」にあたる、Web版のGeminiに相談を持ち掛けました。
「プリントデバッグの結果」と共に、「Geminiさん、実は君の弟(Gemini Code Assist)がこんなエラーで動かなくて困ってるんだけど…」と。

すると、Geminiは殊勝にもこう答えたのです。
「おや、私の弟がご迷惑をおかけしているようですね。申し訳ございません。それならば、こうしてみてはいかがでしょう?」と、的確なアドバイスをくれました。時には、Geminiから「試しに、ここの変数もプリントしてみては?」と、さらなるデバッグのヒントをもらうこともありました。

その「兄からの助言とデバッグ結果の分析」をGemini Code Assistに伝えると、今度は「兄の言うことも最もです。では、こちらの方法で試してみます」と、素直に修正に応じてくれたのです!

最終兵器「ChatGPT先生」

それでも解決しない究極の難問には、「最終兵器」ChatGPT先生の登場です。
これまでの経緯と全てのデバッグ結果を伝え、泣きつくと、まるで「はいはい、これね」とでも言うように、一瞬で解決コードを提示してくれたことが何度かありました。あの時の衝撃と感謝は忘れられません。

この経験から学んだのは、AIは決して万能ではなく、それぞれに「個性」があり、「得意分野」があるということ。まるで人間のチームのように、それぞれの強みを活かし、「デバッグ結果」という共通言語で協力してもらう。これこそが、AI時代の問題解決術なのだと確信しました。

そして何より、コードが一行も書けなくても、AIに的確な質問を重ね、その答えから推論することで、プログラマーでなくとも問題の根っこは掘り当てられるのです。

結論:かくして、アプリは形になった

AIとの二人三脚は、最高のパフォーマンスを見せてくれる「最高の相棒」であると同時に、時にこちらの心を折りに来る「最強の敵」でもありました。

そうして、何日にもわたるAIとのダンス、そして時折のプロレスを経て、”ほったらかし分析アプリ”はついに、一つの「形」になったのです。

しかし、動くものができたからといって、本当に「使える」ものになったのでしょうか?
苦労の末に生まれた我が子は、果たして、あの絶望的なExcel地獄を終わらせるだけの価値を持っているのでしょうか?


(次回、最終話:『“ほったらかし分析アプリ”爆誕編』〜さよなら、Excel地獄。こんにちは、考える時間。〜 に続く!)

コメントする