「Gemini、これ追加して」で終わる機能追加対応。AI駆動開発のリアルな感想

こんにちは、青木です。

今回はお客様とGoogle CloudでGeminiを利用したアプリ開発を経験したので、その感想を書いていこうと思います。

難しいことは行っていないですが、コーディングの知識がない自分でもAIを用いることでアプリ開発が思ったよりも簡単にできたので興味がある方はぜひご一読ください。

 

勉強会の内容

今回の勉強会ですが、1日目にGoogle Cloudのハンズオン、2日目、3日目で既存のアプリを改善する課題、成果発表を行う流れでした。
ハンズオンの内容をもとに課題を実施しているため、今回はハンズオンの内容は省略します。

勉強会の課題

今回の課題は「会議情報から会議調整AIアプリ」を作成するという課題でした。
(他のチームは「スキルマップ作成AIアプリ」が課題となっていました)

課題となっているアプリは以下になります。
(運営の方が課題で作ったアプリもGeminiで作成したよとのことでした)

■課題のアプリ

■アプリの動き
Cloud Storageにカレンダーアプリからエクスポートしたcsvやicsファイルを格納し、内容を読み取ってGeminiが考えて空き時間を返す

■システム構成

実際の開発

「実装したい内容、改善したい内容の整理→Gemini CLIにプロンプトを投げる→Geminiがhtmlやpythonのファイルを書き換える」サイクルを行うことで結果としてアジャイル開発っぽく機能を追加、改善していきました。

また、エラーが発生してもGeminiに聞けばGeminiに自身が修正をしてくれるので、エラー対応も時間がかからず楽にすることができました。

■Gemini CLI

■変更後のアプリ

Geminiにお願いして、ファイルアップロード、アップロードしたファイルの削除、

検索期間を追加してもらいました。

 

開発を通して気づいたこと

今回はGeminiに任せっきりで開発をしてみて簡単にアプリ開発ができることはわかりましたが、以下のことにも気づきました。

  • 空き時間をGeminiに検索をしてもらっていたが、検索に時間がかかっていたため、Pythonでロジックを組んで検索した方が効率的ではと疑問が残った。
  • Geminiにコーディングしてもらっていたので、実際にどんな処理を変更したのか、どんな処理がされているのかわからない状態で開発を進めていた。

コーディングの知識がないと、ベストな選択肢、実際のコードの内容がわからないため、
 AIにコーディングは任せても最低限のコーディングの知識を持っていないと業務に活用できない

  • 要件整理をして、その結果をGeminiにプロンプトとして投げることで開発が行われる

要件整理と開発工程の境目が曖昧になり、ウォーターフォールの気持ちで実施はしているがアジャイル開発っぽくなる

 

感想

今回は最終発表を含め2日間という限られた時間でしたが、Geminiの力を借りることで、自力でコーディングするよりも遥かに多くの機能を実装できることを経験できました。

ただ、開発を進める中で、AIの提案を鵜呑みにすることの危うさを感じました。コーディングの知識が不十分だと、AIが生成したコードの中身が理解できないまま修正を繰り返してしまい、気づけば自分のコントロールを離れたプログラムが出来上がってしまいます。

ツールに「流される」のではなく、AIが提示したコードを自ら解釈し、良し悪しを判断できる基礎知識が不可欠だと強く学びました。

皆様もAIを活用する際は、その便利さに身を任せきりにせず、「なぜこのコードが動くのか」を自問自答しながら、自分の頭で理解することを忘れないでください。

最後までよんでいただきありがとうございます。

おまけ

今回の課題でほかに実装したかった機能や改善点を紹介します。

  • プロンプト指示内容を英語化することでプロンプトの精度を向上
    →空き時間の検索が日本語だったため、英語にすることで精度が向上できたのかなーと考えてます
  • 予定が更新された場合のリアルタイム同期(ファイルアップロードを使用しないインプット方法)
    →実際の現場ではわざわざファイルをエクスポートすることはないので、直接GoogleカレンダーやOutlookと連携できたらなーと考えています
  • 作業などの打合せ以外の予定を内容を見て判定(件名に【調整可】の記載がある)
    →人によっては自分のタスクや調整可能な予定が入っていることもあるので、その時間の調整も提案してくれたらいいなーと考えています
タイトルとURLをコピーしました