ソフトウェア開発に生成 AI を使用してみました
始めに
今回開発したソフトウェアには新規機能の実装も含まれていたため
実装にあたって不明点がかなり多く、従来通りに地道に調べていると納期に間に合わない可能性がありました。
そのため生成 AI を使用して「実装方法を調べる」時間を短縮したことで、
無事納期までに機能を実装することができました。
実際の使用フローイメージ
生成 AI を使用するメリット
作業時間の短縮
まず一番にメリットとして感じたのが、作業時間の短縮です。
従来通り検索サイトで「[言語名] [動作イメージ]」などと検索すると膨大な量の Web サイトが出てきます。
1つのサイトに全ての情報が載っていればいいですが、実際にはそうもいかず、
追加で必要なオプションについては改めて使用方法を検索するなど
何度か検索を重ねてやっと意図した情報にたどり着く、ということが多いです。
しかし、生成 AI を使用すると同様のワードを使用して検索した場合に必要なオプションの情報から、
実装方法(ソースコードのサンプルも含む)までまとめて提示してくれます。
これにより、ネットから必要な情報を探し出すという手間が大幅に省けたと感じます。
考えの整理
「わからないことを人に尋ねようと言語化した際に考えが整理されて自己解決する」
という経験をしたことはないでしょうか。
従来の検索サイトでの検索では単語と単語を掛け合わせての検索となっており、言語化を意識することは少ないと思います。
しかし、AI に対して質問するときは「最終的な目標は何か」「現在はどこまで開発できているか」
「今からどんな機能を追加したいのか」等、現状を詳細に伝える必要があります。
その際に、「あれ、まとめるとこんなに簡単なことだったのか」と 生成 AI に尋ねるまでもないような、
小さな気づきを得ることがありました。
「検索して適用する」という作業だけでなく、自分が何をしているのか見直すことで、
その後の開発や動作確認でも何が足りていないのか明確に理解できるなどのメリットがあったように感じます。
また、AI は情報を出力する際に「目標」と「過程」を簡潔に表示してくれます。
さらに、「よりよくするには」を出力してくれたり、最終目標を伝えている場合には「目標に向かって次のステップはこれ」等
次に何をすべきかまで出力することもあります。
常に第3者と会話しているような感覚で、開発の道筋を立てることができます。
求めている機能に最適化した検索が可能
従来の検索方法ですと、最新バージョンで実装した方法や
逆にマイナーな言語で実装した方法などはなかなか見つかりません。
見つかって、実際に使用しようとしても、少しの前提が違うだけで試行錯誤しながら調整が必要になります。
この工程もまた、開発が遅くなる要因と感じています。
しかし、生成 AI を使用するとそのような試行錯誤はほとんど必要なくなりました。
生成 AI に「OS は ○○ のバージョン XX」「開発言語は□□」「ミドルウェアは△△」と言ったように、
実装環境を事前に教えておくだけで最適化された(そのままコピーペーストで動かせるような)プログラムを出力してくれます。
納期の短い開発ですと、こういった時間を短縮できるのはかなりのメリットと言えると思います。
前提の引継ぎが可能
チャット型の AI に限った話かもしれませんが、私が使用した AI は一つの対話セッション内であれば
以前の対話内容もある程度引き継いでいるようでした。
例えば、先述したような開発環境の前提情報など、何度も書いていたら長くなるような情報も記憶しているので
その後も「さらに●●も追加したい」などと送るだけで環境にあったソースコードやコマンドを出力してくれます。
この点もまた、開発をする際にストレスなく情報を得られる点と考えます。
生成 AI を使用するデメリット・注意する点
セキュリティ的な注意
生成 AI が登場したころからずっと話題になっていますが、仕事で使う上ではやはり最重要事項でしょう。
AI は大量の情報を収集し、それらを解析していくものです。
使用する AI によっては、対話者が発した情報もまた、学習データとして取り込んでいる可能性があります。
さらに、取り込んだ情報を今度は別の対話者に発信する可能性もあります。
その点を常に頭に置きながら、機密情報は伏字にするなどの工夫が必要です。
出力された情報は信じすぎない
こちらもまた生成 AI が登場したころからずっと話題になっておりますが、やはり重要です。
使えば使うほどに顕著になると思うのですが、意外と AI は適当なことを言ってきます。
「AI が出力したソースコードを組み込んで動かしたらこんなエラーが出た」みたいなことを伝えると、
「原因としてはここが悪いですね!」と、数分前に自分で出力したソースコードを訂正し始めたりします。
そのまま AI との対話で出力されたソースコードのコピーペーストとエラーを伝えるだけの作業をしていても泥沼です。
AI のことをどこまで信じるか、どこで見切りをつけるかの見極めが必要です。
まとめ
実際に使ってみて、AI はかなり便利でした。
1年前までは私も「AI が出力する情報は制度が低い」と思い込み、敬遠していました。
しかし、昨今の AI は驚くほどに進化しており、情報もある程度は正確になってきています。
(特に、プログラム面ではかなり制度が良いとの噂も聞きます。)
膨大な情報が溢れているインターネットの情報をまとめた辞書というイメージが近いかもしれません。
辞書の中に載っていないことは答えられないし、載っている情報に嘘も混じっている可能性があることを念頭に、
うまく活用すれば仕事の効率化を図れるツールだと考えます。
年末年始休業について
年末年始休業について
年末年始休業日:2024年12月28日(土)~2025年1月5日(日)
年始営業開始日:2025年1月6日(月)
※休業期間中の緊急のご連絡は、各担当者へお願いいたします。
2024年度冬季インターンシップ開催について
2024年度冬季インターンシップ開催
開催日(時間:10時30分~17時30分)
1回目: 2024年11月28日(木)、29日(金)
2回目: 2025年 1月23日(木)、24日(金)
大学図書館システム E-CatsLibraryに触れ業務経験できます。
IT知識必要ありません。気軽にご参加ください。
えるぼし認定取得
厚生労働省 えるぼし認定(認定段階3)取得しました。
2023年度冬季インターンシップ開催について
2023年度冬季インターンシップ開催
開催日(時間:13時~17時)
・2024年1月25日(木)、26日(金)
・2024年2月 8日(木)、 9日(金)
・2024年2月19日(月)、20日(火)
大学図書館システム E-CatsLibraryに触れ業務経験できます。
IT知識必要ありません。気軽にご参加ください。