コード生成AI、サポートAI比較!AI利用でエンジニアの業務効率が大きく変わった!
みなさんこんにちはネッコスの井口です!
以前から弊社でもエンジニア含め業務でいろいろとAIを取り入れて対応を行っていることを書いていますが
今回は実際にエンジニアが利用しているコードの記述やレビューなどに利用しているAIについていろいろ話を聞いたのでそちらの比較、現場で使いやすいものについて紹介をしていければと思います!
実際にコードを描くときに利用するならベストがどれになるのか、利用するときの観点で聞いたけどうまく伝えられるかがちょっと不安ですがひたすらにまとめてみようと思います!
コード生成・レビューAIに使えるAI
まずはコード生成やレビューに使えるAIの種類について紹介していきます。
Chat-GPT3.5
無料利用ができますし、言語とやりたいことを伝えると簡単なコードも出力してくれます。また、同じようにコードを渡すことでレビューもしてくれます。
現在だとGPT3.5 TURBOになっているので生成速度はかなり早く、気軽に利用することが可能ですね。データについてもそこまで最新のフレームワークを利用とかでなければ問題ない感じです。
割と速度も大事だって思う、無料で利用できるといった利点が大きい場合にはこれで解決できると思います。
それと有料プランで利用していればソースコードを描くのに便利なプラグインもいくつかあります。Githubのコードを会話形式で探して教えてくれるプラグインなどもあるのでWEB上でさっと使う分には便利です。
実際に書いたコードをそのまま実行してみてくれるとか、
Github copilot X &Github copilot chat
こちらもエンジニアさんがよく利用している、Github copilotとGithub copilot chatになります。
Visual Studio Codeの利用が必要ですが、これのためにVSCodeを利用しているエンジニアさんが弊社では多いです。元モデルはGPT3.5および有料プランではGPT-4なのでGPTを使うのと変わりはありませんが
コードに特化していることと(特Github copilot chatにPython、JavaScript、TypeScript、Ruby、Go、C#、C++)
オートコンプリートがあることと
コードの提案がしてもらえる
コードを書きながらチャットで修正やレビューをしてもらえることなど
実際に手を動かしてるときにあると便利な機能が満載です。
やっぱり普段使用しているにエディタ上で利用できるので、弊社エンジニアも重点的に利用しているものになります。Github copilotの利用が前提なのでチームで使う場合有料で一人当たり年$44かかりますが作業効率を考えたら出さない方がもったいない価格ですね。
CODE LLAMA
Github copilot chatが出るまではコード生成AIと言えばCODE LLAMAが一番有名だった気がします。今でも並行して利用、そして正しいか確認といった流れで利用しているメンバーもいるそうです。
学習に利用したデータ量が豊富、コードに特化させたモデルというのが売りでした。
日本語での入力に対応してくれますがたまに英語で返事が来るのでブラウザにDEEPLのプラグインなどを入れてさっと日本語で読めるようにもしています。
対応言語はPython、C++、Java、PHP、Typescript(Javascript)、C#、Bash、GOなど一般的な言語の多くに対応している、コード特化の名に恥じない内容です。また、ウェブでの利用はPythonにさらに特化したCODE LLAMA Pythonというモデルもあります。
オープンソースでDLしてローカルで動かすこともできますが、エンジニアさんはMAC使いが多いので外付けGPUを用いないといけないというのもなかなか大変なのであんまりローカル運用はしないかもしれません。
WEBで利用するのであれば問題はないですしGoogleCOLABOあたりで動かすことも可能です。サポート的に利用するならWEBでも問題ないでしょう。
IntelliCode by Microsoft
こちらはMicrosoftがVSCODEに標準で載せているAIによるコーディング補助ツールになります。GitHUBのコードを利用して学習されているので、本当にコード特化している、サポートツールになります。
Github copilotと同様の利用方法ですが、やはり現状ではGithub copilotの方が利用者は多そうです。利用している言語によるのかもしれませんがネッコスのエンジニアでも実際ほぼ使っていなかったのであまり多くの情報を聞くことができませんでした。
対応言語が
C#
XAML
C++
JavaScript と TypeScript (TypeScript 3.4.2 以降が必要)
Visual Basic
となっており、弊社の開発言語とあっていない事も原因かと思います。
Amazon CodeWhisperer
AmazonAWSの中にある一つのサービスで対応言語が幅広Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、シェルスクリプト、SQL、Scala、JSON、YAML、HCLなどに対応しています。
自然言語でのコード生成がちらもいろいろなエディタでのプラグイン提供があり、コメントに沿ってどんどん提案をしてくれるのでコードを書く手間の削減ができます。もちろんこのコメントも日本語で問題なく書いていってくれます。
そしてAWSのサービスなのでセキュリティ的にも安心して利用しやすい、優れたサービスだと思います。プロンプトでコード生成もすごいと思っていましたが、コメントを書くだけでコード生成してくれるとは本当にすごい時代になりましたよね。
しかも個人利用ならAmazon CodeWhispererは無料で利用できるというのもすごいです。
おかげでシステム開発の現場はどんどんと変わってきてると思います。
こちらも何人か利用しているメンバーはいました、最適なコードを探してさらにほかのAIを通してみてもらって洗練していく、のような作業になっていくみたいです。
Tabnine
こちらは生成AIというよりAIアシスタントメインのツール、コードのオートコンプリートなどを行ってくれるものでこちらもいくつかのエディタで利用が可能です。
1人だけなら無料でも利用できるので他のツールを利用していなければまずは入れてみてもいいかもしれません。
ただ、自動でコードを書いてもらったりレビューやデバッグチェックをしてくれたりという事はないので今回はいったん番外でしょうか。
コード生成サポートAIの進歩
さて、実際エンジニアメンバーの利用している、利用したことがあるサポートAIについて聞いた事をまとめてみましたが
エンジニアの作業効率を上げるためならためらわず有料プランを利用して、開発スピードを上げていくべきだと思うので基本的にネッコスでは申請があったサービスの支払いは経費でOKにしています。
GPT-4はそれで各自清算ですしGithub Copilotはエンジニアチーム全体で利用してもらっています。少人数で効率よく開発案件を回していくのに、すでにAIアシスタントは手放せないものとなっています。
社内の比較ではこの2つの利用者が圧倒的に多く、支持を得ています。
BardやClaude2も利用者はいますがどちらかというとエンジニアではなく情報収集の目的でマーケチームが利用しています。いくつかの生成AIを横断して情報の正確性を高める、みたいな目的のようです。
そしてもちろんプロンプトの使い方についても入ったばかりのメンバーにはアドバイスをしていたり、以前に私が書いた記事なんかも読んでもらったりしてて、手前味噌でちょっと恥ずかしいですがしっかりと活用できるように学んでもらっています。
エンジニアチームは主に言語精製やコード生成のAIを利用していますがCTOは画像生成AIなどにも明るく、AIを利用したi2iなどで面白いことができるのではないかと日々考えています。
ネッコス社内でもAIが出てきてから大きく仕事の仕方が変わり、若いエンジニアメンバーの話を聞いてると今後ももっともっとAIを活用していけるようにならねばと思いました!
よろしければサポートをお願いします!いただいたサポートは、制作会社としての活動費やおやつ購入に使わせていただきます❤