AIによるコーディング支援とは?概要とともに実際の開発ツールを紹介
thumb_aicoding_01
AIによるコーディング支援とは?概要とともに実際の開発ツールを紹介
アンドエンジニア編集部
2023.09.24
この記事でわかること
生成AIの自然言語処理はプログラミングにも活用でき、開発ツールに続々と実装されています
メリットは開発労力を低減し、ビジネスの創出や活用を手助けすることです
デメリットもありますが、成果物のヒューマンチェックなどでリスク低減することもできます

AIによるコーディング支援

img_aicoding_01

生成AIが脚光を浴びており、自然言語処理が多方面で活用されています。言語処理はプログラミングにも活用できるため、AIによるコーディング支援機能がいくつか発表されています。ここでは、ソフトウェア開発環境を提供するメジャーなAIコーディング支援機能のリリース状況を整理し、解説していきます。

自然言語処理とは?注目される理由やできることをわかりやすく解説

AIによるコーディング支援のメリット

従来からコーディングの自動化の取り組みが行われています。AIによるコーディング支援は、その取り組みを一気に加速させるものです。具体的には、開発工数の低減、開発期間の短縮、開発品質の向上に効果があります。また、自身が知らないプログラミング言語にも対応できるメリットもあります。

分かりやすく言うとAIコーディング支援は、大変な開発の労力を減らして俊敏なビジネス利用を手助けする、アシスタントのような役割を担ってくれると考えると良いでしょう。

AIによるコーディング支援のデメリット

AIによるコーディング支援のデメリットは、ないわけではありません。具体的には、生成AIの種類によっては想定した動作を行わない架空のコードを生成する恐れもあります。同様に多くのコードから学習したコードでは、場合によってはコードライセンスに抵触するリスクもあります。

その他、作成したコードが要件定義に合致しているかはやはり人手での確認が求められます。場合によっては、コードデザイナーやプログラマーの評価に影響を及ぼす場合もありますので、デバッグやコード品質も厳密に行う必要も出てきます。

このようなリスクを低減するためには、コードのチェックなどのスキルを持つエンジニアが行い、AIに丸投げせずに補助的に活用することも方法の1つです。

代表的なAIコーディング支援ツール

img_aicoding_02

プログラム開発環境は多くありますが、ここではAIコーディング支援機能を搭載する開発ツールやサイトを紹介していきます。特にソフトウェアデベロッパーが良く活用する開発環境を中心に紹介し、動向を交えて解説していきます。

GitHub Copilot

GitHub Copilotは、コード生成のモデルであるOpenAIのCodexをベースに開発された開発支援ツールです。2021年には、GPT-3ベースのコード生成に対応しており、統合開発環境(IDE)でのコード補完機能の提供を開始しています。

2023年3月には、「GitHub Copilot X」を発表し、GPT-4をプログラミング用に採用することを公表しています。チャット形式でプログラムコードを生成することができます。「GitHub Copilot X」は、テクニカルプレビューとして提供が開始され、料金体系についてはまだ発表されていません。

【参考】:GitHub ブログ GitHub Copilot X:AIを搭載した開発者体験 【参考】:GitHub Copilot 【参考】:GitHub Copilot X

AIペアプログラマー「GitHub Copilot」の使い方や導入メリットを徹底解説!

Visual Studio IntelliCode

Visual Studio IntelliCodeは、Visual StudioとVisual Studio Code(VSCode)で利用できるAIコード入力補完機能です。補完する仕組みは、実装されているIntelliSenseを用います。「GitHub」の公開リポジトリを機械学習でトレーニングし、リコメンデーションは質の高いコード作成を支援します。

Visual Studioは統合開発環境(IDE)、VSCodeはコードエディタとして非常に人気があります。その環境でAIコーディング支援が実装されるため、試してみる機会が増えるでしょう。

【参考】:Visual Studio IntelliCode 【参考】:Visual Studio IntelliCode の概要 【参考】:Visual Studio での IntelliSense

IDEとは?詳細やメリット、おすすめのIDEを紹介します!

Amazon CodeWhisperer

Amazon CodeWhispererは、この4月から一般提供を開始したサービスで「AIコーディングコンパニオン」と呼ばれています。従来はプレビュー版として限定公開していましたが、生成AIの進歩と活用方法を検討し、AWS利用者に一般提供を開始しました。

PythonやJava・JavaScript・TypeScript・C#など、15の言語に対応します。

VS CodeやIntelliJ IDEA・AWS Cloud9などから利用できるほか、AWS Toolkit IDE extensionsから多くのIDEに対応することができます。Lambdaコンソールからも利用可能です。同社は、Amazonのコードについても十分に学習しているため、Amazon EC2やAWS Lambda・Amazon S3などのコード生成が最も正確だとしています。

【参考】:Amazon CodeWhisperer 【参考】:AWS Machine Learning Blog: Announcing New Tools for Building with Generative AI on AWS

Pythonのよく使うライブラリ一覧!一段上の開発を目指そう
JavaScriptとJavaの違いは?質問されたときの説明方法
TypeScript入門編として利用する際に覚えておくポイント

Google Colaboratory

2023年5月17日、Google Colaboratory(Google Colab)にAIコーディング支援機能の搭載が発表されました。先日開催された「Google I/O 2023」で発表された、PaLM2をベースとするCodeyが用いられます。

CodeyはGoogle Colab向けにチューニングされており、得意とするPythonのコード補完やコード生成に役立てられます。AIコーディング支援機能は統合されており、チャットボットに相談しながら進めることも可能です。Pythonと機械学習は相性が良く、Google Colabはインターネットから誰でも無償で利用することができます。

機能のロールアウトは、今後数ヶ月の間に徐々に展開され米国から他の地域へ拡大を予定しています。

【参考】:Colaboratory へようこそ 【参考】:Google DEVELOPERS: AI-powered coding, free of charge with Colab

AIチャットシステムからコードを生成する

img_aicoding_03

生成AIをベースとするAIチャットシステムにおいても、コード生成の機能が備わっています。ここでは、AIチャットシステムやAIベースの検索エンジンを活用して、コーディング支援機能を解説していきます。

Microsoft Bing

Microsoftの「新しいBing」は、Open AIのGPT-4を検索エンジンに採用したAIベースの検索システムです。チャット エクスペリエンスが追加された検索が可能です。質問カテゴリーに掲載されている通り、コーディング支援にも対応します。

【参考】:新しいBing 【参考】:新しいBing よくあるご質問

新しいBingのリリース!AIを活用した検索サービスの登場

OpenAI ChatGPT

OpenAIのChatGPTは、2023年に入りAIチャットシステムとしてニュースや話題になっています。特に2023年3月にGPT-4が発表されると、その自然な言語応対や認識・生成能力に注目が集まっています。従来のGPT-3.5はどなたでも無料で利用できます。

GPT-4はChatGPT Plusという有料のサブスクリプションに登録するか、Microsoftの新しいBingを使用するなどで利用することができます。

【参考】:OpenAI ChatGPT 【参考】:OpenAI Introducing ChatGPT Plus

OpenAIのGPT-4とは?ChatGPTの進化版について解説!

Google Bard

GoogleのBardは、2023年3月に試験運用を開始した会話型AIシステムです。5月には大規模言語モデルを従来のLaMDA・PaLMからPaLM2へと更新し、機能と性能向上により5月からは日本語に対応しています。

BardのFAQを見ると、コーディング支援に活用できることが明らかにされています。試験運用中のため、ある程度自己責任が求められます。コードを引用している場合やライセンス条項については、Bardから提供されることがあります。

【参考】:Google Bard 【参考】:Google Bard に関するよくある質問 【参考】:Google Japan Blog: PaLM 2 のご紹介

AIコーディング支援は初心者にも役立ちます

img_aicoding_04

AIコーディング支援では、開発の工数削減や期間短縮、品質向上に役立てられるために、評価段階から実際の利用段階に移りつつあると考えられます。コードの自動生成は簡単なものから複雑なものまで様々な用途で活用できます。

初心者においても、学習用コードの生成やコードレビューを依頼することも可能ですので、学習ツールの活用の幅も広がるでしょう。

コーディング規約とは?メリットやデメリット定めるべき内容を紹介
気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT