生成AIでの業務効率化の重要性が増してきている今、「生成AIを導入するって、どうせChatGPTなんでしょ?」そんなことを思っている方もいらっしゃるのではないでしょうか。確かに、ChatGPTなどの大規模言語型モデル(LLM)が活躍するシーンはたくさんあります。ただ、その活用の幅は“おしゃべり”だけではありません。今回は、エンジニアがさらにAIを活用できる方法について、AIの仕事をしている現役エンジニアのからあげさんに教えていただきました。
からあげさん
X:https://twitter.com/karaage0703
ブログ:https://karaage.hatenadiary.jp/
書籍『面倒なことはChatGPTにやらせよう』:
https://amzn.to/3Y6Zo00
「生成AI×プログラミング」でどこまでできる?
現状、巨大なシステムの開発は難しいかもしれませんが、ちょっとしたプログラムや使い捨てのツールは、自分でコードを書くよりもずっと速く作ることができます。また、すごい勢いで性能も進化しているので、将来的にはある程度規模のあるシステムでも当たり前のように作れるようになる可能性も感じていますね。
その他にも、趣味のような感じになりますが、ブラウザで動くようなゲームや楽器のようなものも、AIが生成したファイルをWebブラウザで読み込ませるだけで簡単にできます。
また、最近はAIでゲームをプレイできないかと『スーパーマリオ』をプレイさせてみたんですよ。そうしたら、ある程度までは進めることができました。ただ、1-1の簡単なステージでもまだクリアできるほどではないので、今後、AIの精度が上がっていくことでできるようになるんじゃないかと期待しているところです。
※からあげさんブログ「LLMでマリオをプレイ『Large Language Mario』」を作って試してみました」https://zenn.dev/karaage0703/articles/5a02a0822fba8a
初心者におすすめの生成AIツール
AIを使うのがはじめての人は、ChatGPT、Claude、Geminiの3大大規模言語モデル(以下、LLM)から始めるのが良いと思います。どれも切磋琢磨していて現時点では性能に大きな差はないので、好きなものを選んで問題ありません。
Geminiについては、Googleアカウントさえあれば「Google AI Studio」で「1.5Flash」と「1.5Pro」の2つのモデルを無料で使うことができます。「1.5Flash」は高速処理、「1.5Pro」は高精度処理を得意としているので、それぞれ用途に合わせて使い分けましょう。
https://ai.google.dev/aistudio?hl=ja
また、どれも無料である程度使えるので、とりあえず触ってみて制限がかかったら別のツールを使って……と、同時に使ってみるのも良いと思います。最初はお得に使ってみて、いいなと思ったら課金を検討しても良いでしょう。
エンジニアが明日からできる使い方
まず、仕事で使う際には生成AIを使って良いかどうか必ず確認しましょう。組織のルールに従って使うようにしてください。
上記を確認したことを前提として、エンジニアにオススメなのは「開発しているソフトを丸ごと読み込んで、AIに教えてもらう」使い方です。
まず、開発しているソフトのソースコードをChatGPTなどのLLMに読んでもらいます。ただ、その際に全てが1つのファイルにまとまっていれば簡単ですが、複数ファイルある場合もありますよね。そんな時には、複数ファイルあるリポジトリごとLLMに読んでもらえるようにテキスト化できるソフトを使えば簡単にできます。
※参考記事:「ソースコードをリポジトリ丸ごとLLMに読んでもらう方法」https://zenn.dev/karaage0703/articles/0a546df8941057
これだけで、ソフトや開発について質問や相談に答えてくれるようになるのです。
例えば、途中から開発する際「どんなソフトか教えて」とお願いすれば、ソフトについて解説してくれたり、機能を追加・変更したい際は「どんな機能を追加すると良いか提案してください」「こういう機能変更をしたいのですが、どのようにすれば良いですか」と相談をするとアドバイスをくれたり。何かをしたい時のとっかかりになったりヒントになったりします。
あるいは、そのコードの説明文のようなドキュメント(README)を書いてくれたり、そのドキュメントを何カ国かに翻訳してくれたりと、様々な場面で活用することが可能です。
現役エンジニア、からあげさんのAI活用術
NotebookLM(ノートブックLM)
Googleの「NotebookLM(ノートブックLM)」は、読み込ませた文章をもとに対話ができるようなサービスです。PDFや論文、テキストファイル、webサイトなどの情報を読み込ませると、その情報をもとにわかりやすく概要をまとめてくれたり、質問に答えたりしてくれます。
難しい仕様書や論文を読んでもらって、それについて会話をしたり、自信がないところを確認したり認識合わせをしたりして、理解を深めるような使い方をしています。
テストプログラムの作成
プログラムのコードを書いてもらうことは当たり前にAIにやってもらっているのですが、それによってできたプログラムが正しく動くかを確認するテストのためのプログラムもChatGPTなどに作成してもらうことができます。
コードレビュー
プログラムに機能を追加したりする時、コードの変更部分が正しいかをレビューをします。そうしたコードレビューにAIを取り入れ、変更点をチェックしてもらうことで、人間には気がつかないようなアドバイスをもらったりサポートしてもらったりすることができます。
やり方は色々あるのですが、使いやすいのはChatGPTです。無料版でも十分に可能なのですが、有料ユーザーで使える「Advanced data analysis」という機能が特に便利です。コード生成に加え、ChatGPT上で実行して分析までしてくれる優れモノです。
【参考】有料ユーザー登録後、Advanced data analysisを有効化する方法
①「Settings」→「Data features」→「Advanced Data Analysis」と選択し、機能を有効にする ②初期画面で「Advanced Data Analysis」を選択する |
また、私はコードレビュー用のソフトを自分で使って活用もしています。「GitHub Actions」というシステムにOpenAIのAPIを組み込み、Pull Request(プルリクエスト)と呼ばれる変更依頼を出して、ボタン一つで自動的にコードの変更内容をレビューしてくれるソフトです。
※からあげさんブログより「Pull RequestのコードレビューはLLMにもやらせよう」(https://zenn.dev/karaage0703/articles/a72fd72736eebb)
ClaudeやGeminiもAPIを提供しており、そうしたAPIを組み込んだソフトやツールを自分で作ると、それまでは“おしゃべり”的だった機能以上の色々な使い方の可能性があると思います。
生成AIを使う時のコツと注意点
生成AIを使いこなすコツ
AIに何かをお願いする時も、人にお願いする時も一緒だと思います。そのため、人と同じように、具体的な指示を出してその成果物をチェックすることが大切です。
人とAIを比べて、人だったら少ない指示でできるか、間違いなく完璧なプログラムを作ってくれるかというとそんなことはなくて。適切な指示をすることも、ちゃんと動くかチェックすることも必要です。人もAIも同じように、適切な指示とチェックをしましょう。
まず、指示をする際には、何を作ってほしいかを具体的に、背景も含めてなるべく詳しく伝えます。人と同じように、この内容が成果物の出来に直結してきます。
続いて、できた成果物がきちんと動くかどうかを確認しましょう。その際、チェックしてもらうようなプログラムをAIに作ってもらうのも、コードをAIにチェックしてもらうのも良いでしょう。そして、そこで間違いがあった時は、人と同じように伝えることで生成AIも自分で何度でも直してくれます。
仕事で使う際に注意すること
生成AIなどの外部サービスをどれだけ使って良いか、どのサービスを使って良いかは、企業ごとに異なります。また、使って良い場合でもMicrosoftやGoogleなど信頼できる企業のサービスでないとだめ、ということもあります。
AIを使う前に、そのルールを確認したり、組織に相談したりしてルールを守って使いましょう。もちろん、個人使う場合には問題はありませんが、仕事関係のデータやドキュメント、コードを扱う場合は細心の注意を払って利用しましょう。