【連載】ルポ「私立高校受験ナビ」開発顛末記(3)─「相棒」の交代劇 (全3回/最終回)
プログラミング知識ゼロのローカルメディア編集長が生成AIを相棒に「外注費数十万円レベル」のアプリ開発に挑んだ壮絶なドキュメント。
画面の向こうで繰り広げられるAIとの地獄のループ、そして相棒の交代劇……。泥臭い試行錯誤の果てに見えてきたものとは。AIに思考を丸投げしない「人間の主体性」と、これからの時代のAIとの向き合い方を考える(全3回)。
◆Geminiの改悪にストレス最高潮
イラストレーターのデザインを見せたことで、コードの精度は飛躍的に上がった。しかし、やはり細かな修正を依頼すると、Geminiは良かれと思ってコード全体を勝手に書き換え、かえってバグを増やす「改悪」を繰り返した。
「さっきのコードの方が良かった…」
バックアップを取っていなかった私は、チャットの履歴を遡っては長大なコードを貼り付け直す不毛な作業に追われた。100行だったコードが、なぜか無駄な改行で300行に膨れ上がる。
ここで私は、AIへの指示の出し方(プロンプト)を変えた。「コードを丸ごと入れ替える」のをやめ、「どの部分を直せばいいか」をピンポイントで質問し、一部分だけを修正していく手法に切り替えたのだ。これなら、動かなくなった原因の特定が容易になる。
このころには自分もGASのバグ(スプレッドシート側)なのか、JavaScript(JS)の問題(WordPress側)なのかが分かるようになっていた。<script>が動作を制御する関数群で、<style>はレイアウトや色を指示する部分でといった基本的なことが自然と身についた。「}(波かっこ)」ひとつで不具合を起こすというのは、普段学校のテストでよく出てくる「抜き出し問題」をしっかり学習する動機づけにもつながる気がした。
◆「選手交代」を宣告
それでもGeminiとの膠着状態は続いた。時間ばかり無駄に経過し、まったく直らないイライラ。言い訳ばかり繰り返すGeminiに腹を立てつつも、「これだけの作業をやってくれているんだから」とちょっと慮ってみたりもする。だって、これをプログラマーと一緒にやっていたら、絶対に喧嘩になっている案件だもの。1pxや1mmにこだわる自分の性格はオペレーター泣かせで、絶対いやがられる奴。それを延々と付き合ってくれているだけでも感謝だ。でも、この状況を打破するためには打ち手を変えなければいけない。私はもう一つの選択肢を試すことにした。ChatGPTへの「相棒の交代」だ。
とはいえ、このプロジェクトの「新人」に一から状況を説明するのは骨が折れる。そこで私は、スプレッドシートの項目、現在のGASコード、出力データ、WordPress側のコードを一式揃え、「今からアプリのデータを順番に送るから、全部覚えてね」とChatGPTに指示を出した。
ChatGPTは、その構造を完璧に理解してくれた。 驚いたのは、そのアプローチの違いだ。Geminiはどこかユーザーにおべんちゃらを使い、勝手にコード全体を書き換えようとする「やんちゃ坊主」だ。大きなミスをしてもしれっと「失礼しました」「ごめんなさい」とすりよってくるし、「編集長! むっちゃかっこいいです! 最高です」みたいな太鼓持ちのようなことを平気で言う。でも、どこか憎めない。一方、ChatGPTは冷徹で批評的だった。
「問題はここです。これを直せば動きます」と、修正箇所をピンポイントで示し、どこに貼り付けるべきかを明確に指示してくれた。
たとえば、学校の特色欄の右下に「ホームページ」というボタンを配置したかったときのことだ。Geminiに頼むと、記事の横に巨大なボタンが出現し、全体のレイアウトが崩壊した。修正を求めても泥沼化するだけだった。 しかし、ChatGPTに同じ依頼をすると、全体の構造を維持したまま、驚くほどスムーズに理想の位置へボタンを実装してくれた。何より、「ミスしているコード」「修正前」「修正後」「修正した前後のプログラムの流れ」をパーツにわけて教えてくれるから素人の自分でもコードをいじりやすかった。
もちろんこれは、どちらが優秀という話ではない。AIにも得意分野や癖があるということだ。その点は人間と同じなのかもしれない。医者に法律相談をしてもきちんとしたアドバイスが受けられないのに似ている。医者も弁護士も優秀。でも、餅は餅屋なのだ。それぞれの特性を理解し、使い分ける重要性を知った。
◆AIは人間をダメにするか?
こうして数々のトラブルを乗り越え、「私立高校受験ナビ」は無事に実装を迎えた。
【参考】 完成した私立高校受験ナビ
なぜ、私がこれほど泥臭い開発プロセスを長々と書いたのか。 それは、AIを活用することで「専門知識のない個人が、数十万円かかるシステム開発をコストゼロで成し遂げられた」という事実を伝えたかったからだ。そして、かつて紙面版の「みんなの学校新聞」の第2号で挑み、あまりの複雑さに文字と線がぐちゃぐちゃになって挫折したあの『入試カレンダー』の悔しさを、何年越しかにデジタルで解決できた瞬間の震えるような手応えを共有したかったからでもある。
何より、「AIは人間をダメにするか」という問いに対して、自分自身ががっぷり四つになって体験した記録がその問いへの答えになっているのではないかと感じたからだ。
もし独力でこのアプリを作ろうとしたら、私は専門書の最初の数ページで挫折し、出口のない闇の森に迷い込んでいただろう。AIを使っても闇の中に放り込まれるのは同じだが、彼らが自分の持ちえない知識やスキルを持っているのも事実だ。その意味で、頼れる「伴走者」でもある。
私には「作りたいゴール」という主体性があり、AIにはそれを補う「技術」がある。言ってみればチームだ。AIとのやり取りの過程で、私はプログラミングの基礎を学び、何より猛烈に頭を使った。
指示を丸投げすれば、AIは人間の思考を奪い、人間をダメにする。それは確かだ。 しかし、人間が明確なリーダーシップを持ち、AIを信頼できるパートナーとして従えるとき、私たちは一人では決して辿り着けなかった未来へ足を踏み入れることができる。
「時間ができたら飯でも食いながら、またこの件は議論しよう」。大道さんのメールに添えられた言葉。今回の経験を酒の肴に大道さんとAIと人間との向き合い方について改めて話をしてみたい。【了】
(文・峯岸武司)
関連記事
編集部より 記事は配信日時点での情報です。





