近年、AI技術の進化は目覚ましく、私たちの生活や仕事のあり方を大きく変えつつあります。特に「生成AI」と呼ばれる技術は、テキスト生成や画像生成といったクリエイティブな領域だけでなく、プログラミングの世界にも革新をもたらしています。
プログラムは従来、一から言語を学び、実際に構築する、というのがこれまでの常識でありプログラミング初心者からすれば高いハードルでした。しかし現在では、生成AIの登場によって、初心者にとっての一番最初の高いハードルが一段低くなったと言えるでしょう。
そこで今回は、プログラミング経験ゼロの私が、Geminiという強力な生成AIを相棒に迎えて、実際にプログラミングに挑戦してみた体験談を共有させていただきます。なお、至極簡単な相性チェックプログラムを初心者が作成してみたという記事になりますので、プログラミング経験者の方は温かい目でご覧いただければと思います。
それではいってみましょう。
そもそもGeminiとは、という部分についておさらいとなります。
Geminiはもともと「Bard」と呼ばれる2023年3月に運用を開始したサービスで、Google社のAIを利用しており、2023年5月に日本語での利用も可能となっています。その後、2024年2月に名称を当初のBardからGeminiに変更し今に至っています。
こちらはサービス名と同じくGeminiというGoogle社の開発した言語モデルを利用しており、テキストや画像、コードの生成など多様なタスクを実行できる生成AIとなっています。
今回はこのGeminiを利用してプログラムを作ってみようという試みになります。
今回は相性チェックプログラムを作ってみるというところで、特にwebサーバーや独自ツールなどの特殊な環境を必要とせず、ローカルで機能するプログラムの作成をする前提でGeminiに以下のようにお願いをしてみました。
相性チェックのプログラムを作ってみたいです。
なお、私はプログラミングの専門知識やwebサイトはもっていないためローカル環境で動く簡易的なものでお願いいたします。
また、Pythonの利用はできません。
そうすると以下のようなやり取りが発生しました。


このように依頼した内容に合わせて、このようにやるとよいという指示をもらえます。
今回でいうと、メモ帳にこのコードを貼り付けてbatファイルとして保存してね、そうすると黒い画面が開くからそこで相性チェックできるよ、とのことでした。
言われた通りメモ帳に貼り付けて保存してみました。
保存されたbatファイルを実行しようとしたもののできませんでした。正確には一瞬開くのですがすぐに消えるようなイメージです。これではいけません。
開かなかったことを素直に伝えてみました。
batファイルをダブルクリックしても展開できません。
内容を添削してください。
そうすると以下のような回答がありました。

無事プログラムを実行し、相性の診断もすることができました!(ちなみに一瞬開いて消えてしまうのはローカル環境のセキュリティの問題でしたので、コードのミスとは別枠の問題でした)
このプログラムを使ってみたのですが一回相性診断で結果が出た後になにかキー入力をした場合は画面が閉じてしまう仕様となっていたため、画面を閉じずに繰り返し入力できるように改良を加えることにしました。
毎回閉じてしまうのはあまりにも利便性が低いので、改良を加えるため以下の調整依頼をかけました。
入力した後に、プロンプトを消さず、別の人の相性を入力できるようにできますか?
そうすると、Geminiからループ処理かければいいんじゃない?とのことで以下の回答がありました。まさに、おんぶに抱っこ状態です。

無事ループ設定をすることができまして、診断後続けて入力することができるようになりました。(正確には最初の画面に戻るイメージです)
ただ、上記の通り一部文字化けや適切でない表現が発生してしまう状況となってしまいましたので、更に改良を加えます。
文字化けをどう伝えるべきか悩んだため、実際の画面のスクリーンショットを添付し確認してもらうことにしました。

文字コードが問題な可能性があるから、「ANSI」形式で保存をしてみてほしいとのことでした。言われた通りに設定をかけ保存。
すると…
無事文字化けが解消され、ループもするようになりました!
今回はこれで完成としました。
おおよそ最後まで行くのにかかった所要時間は1時間未満です。本筋とは関係のないローカル環境のセキュリティ問題が気付くのに一番時間がかかってしまいましたので、プログラム作成時間でいうと30分もかかっていないかと思います。
もちろんプログラミングに詳しい方からすれば大した作業ではないでしょうし、もっと見栄え良く作れるものと思います。しかし、初心者が一から勉強してここまで表現するには30分では時間が足りないと思いますので、やはり生成AIの力はすごいなと思った次第です。
また、日本語で「こうしたい」と伝えるだけでほしい機能を作ってくれ、エラーが出た際も、動かない理由を尋ねるだけで修正案を提示してくれるのもありがたいポイントです。
加えて今回の「相性チェックプログラム」のように、頭の中でぼんやり考えていたアイデアをすぐに形にすることができるため、目的に向かって調整していく楽しさを感じることができるのではないでしょうか。そこから「こうするためにはどうすればよいのか」という部分で勉強をすることでプログラミングの知識もつけていくことができるものかと思います。
プログラミングってやってみたいけどなにをしたらよいのかわからないから手をつけられない、という最初のハードルが低くなるのはありがたい部分です。
では懸念点がないかと言われるとそんなことはないと思います。
たとえば、生成コードの精度についてですが、生成されたものが問題なく動くとは限りません。そして動かなかった場合に修正をしなければいけないのですが、修正者がプログラムの文法や構造をわかっていないとエラーの特定すら困難になるため、簡易な修正すらAI任せになってしまう可能性があります。(今回の私のように)
そうなるとAIでも発見できない修正点があった場合には手詰まりになってしまうため注意が必要です。
また、AIが容易にコードを生成してくれるばかりに、自己学習がおろそかになり、このコードが「なぜ動くのか」「どういう仕組みなのか」というプログラミングの基礎知識が身につきにくい傾向もあるかもしれません。
やはりこういった背景も踏まえると、しっかりと活用するためには自分の力も必要になるものだと思います。
いかがだったでしょうか。
プログラミング未経験の私でも、Geminiを利用することで、複雑な環境構築や専門知識なしに、簡易的ながらも「すぐに動くプログラム」を作ることができました。
個人的な感想にはなってしまいますが、Geminiはうまく利用できれば「プログラミングを始めるというハードル」を大きく引き下げてくれ、「まずは試してみよう」「うまく動いた」という初動の成功体験に良いツールだと感じました。
また、私のような初心者ではなくベテランの方でも生成AI活用により作業効率が改善したという話もよく聞くところです。
初心者の方でも、まずは「こんなものを作ってみたい」という素敵なアイデアを生成AIに伝えてみることから、プログラミングの世界に一歩足を踏み入れてみてはいかがでしょうか。
ここまでご覧いただき、ありがとうございました。
▽Google および Gemini は Google LLC の商標です。