IoT・AI
IT人材の不足には「AIコーディングツール」を活用しよう!
掲載日:2024/10/08
企業規模を問わず、DXや業務効率化を推進するうえで自社に適したシステム開発の必要性を感じている企業は多いはずだ。ただ、特に中小企業にとってはシステム開発における専門人材の育成や資金調達はハードルが高いのが現状だろう。そこで期待されているのが、生成AIを用いた「AIコーディングツール」である。生成AIを用いることで、専門知識が乏しい初心者でもソースコードの自動生成や自動補完が可能になり、開発業務のスピード向上と人手不足の解消につながることが期待されている。
AIコーディングでできること
AIコーディングツールには、Webページ制作に用いられるHTMLやCSSをはじめ、アプリ作成やデータ処理などの高度なシステム構築の際に用いられるPythonやJava、C言語などに対応するツールもある。これらのプログラミング言語は習得に時間がかかるが、AIコーディングツールを用いることで、プログラミング知識が少ない人でも短時間でWebサイトやシステムの構築が可能なため、専門人材がいなくともある程度の開発業務の内製化が望める。
また、作成したコードをAIコーディングツールに読み込ませることで、AIがコードの改善点や修正方法を提案してくれるため、プログラミング知識がある人にとっても有用だ。
構文の誤りやソースコードをプログラミング言語へ変更する際に起きるエラーであれば、ログに出力されるため対策方法を見つけるのは難しくない。ただ、分かりにくいのが実行時のエラーの原因だ。そこでAIコーディングツールを活用すれば、不具合を発見して解決方法を提案してくれるため、効率的に開発業務を進めることができる。
AIコーディングの仕組み
AIコーディングツールは大規模言語モデル(以降、LLMモデル)を用いて開発されている。そのためユーザーはChatGPTなどの生成AIと同様に、実装したい機能などをプロンプトで指示するか、コードにコメントすることでコード生成あるいは補完が行われる。
AIコーディングで気を付けるべきこと
便利なAIコーディングだが、著作権やセキュリティの問題には注意が必要だ。LLMモデルは、ユーザーが入力した内容やインターネット上に公開されているソースコードを学習対象としているため、生成されたコードをそのまま公開すると、意図せず著作権侵害になるリスクがある。
実際に、生成AI上にソースコードや社内会議の録音をテキスト化した内容を入力したところ、機密情報が漏えいした事故も発生している。生成AIと同じLLMモデルを利用しているAIコーディングでも、入力されたコードが繰り返し学習に用いられるため、機密情報が漏えいするリスクは十分に考えられる。このように利用するツールの学習方法や入力する内容の機密性などは、セキュリティリスクとして事前に認識しておくべきだ。
代表的なAIコーディングツール
それでは実際にAIコーディングツールには、どのようなものがあるのだろうか。
GitHub Copilot
GitHub Copilotは、Microsoft社とOpenAI社が共同開発したAIコーディングアシスタントだ。プロンプトによるコード生成はできないが、コーディング中にAIが最適なコードを提案してくれるため、コーディング作業の時間短縮と開発の効率化を実現できる。コードの文脈やほかのコード行を分析し、最適なコードを自動で補完することで、コードの冗長性の削除や構造の改善、コードの命名規則の統一、エラー修正なども可能だ。
GitHub Copilotは独立したサービスではなく、コードエディターの拡張機能として提供されており、料金は月10ドル(または年間100ドル)からと低コストでの導入が可能だ。プログラミング言語はHTMLやCSSをはじめPython、JavaScriptなどにも対応しており、幅広い作業でAIによるサポートを受けられるのも特長である。
Amazon Q Developer
Amazon Q DeveloperはAmazon Web Services(AWS)社が提供するAIコーディングアシスタントで、GitHub Copilotと同様に対応するコードエディターに拡張機能をインストールすることで、チャット形式でアシストしてくれる。具体的には、コードに関するチャットサポートや入力されたコードの補完、新たなコードの提案、セキュリティ脆弱(ぜいじゃく)性のスキャン、言語の更新などができる。
Amazon Q Developerは無料利用枠と、機能の制限が緩和された月額19ドルのAmazon Q Developer Proの2種類がある。
Code Llama
Code LlamaはMetaが提供するプログラミングコードの生成や解釈に特化したLLMモデルである。また、前述の二つのツールでは対応していなかった、プロンプトからのプログラミングも可能である。そのほか、プログラムの補完やプログラミング関連のサポートにも対応。作成したい機能を入力すればAIがコードを生成してくれるため、プログラミング初心者でも扱いやすい。またPythonやC++、JavaScriptなど、一般的なプログラミング言語の多くがサポートされている。
Code Llamaには以下の三つのモデルがある。
Code LlamaとCode Llama Pythonはコードの解析や補完などに強いモデルとされており、コードの部分的な生成などにも活用できるだろう。一方でCode Llama Instructは自然言語で入力したプロンプトの理解に特化しており、プログラミング知識が少ない人向けのプログラミング関連の質問への回答やコードの補完といった活用方法に最適と言える。
AIコーディングツールは、最新モデルが次々とリリースされており、処理能力などの進化のスピードも著しい。ツールを効果的に活用するには、新しい技術をキャッチアップし続けていく姿勢が必要である。
また、専門知識が乏しい人でも開発業務ができる手段として「ノーコードツール」がある。AIコーディングツールと併せて、最新情報をチェックしておきたい。
関連記事:ノーコードツールの活用方法