プログラミングは私たちの生活のあらゆる面で重要な役割を果たしています。
AIの進歩により、コンピューターは私たちの日常業務を支援するために、ますます複雑なタスクを実行することができるようになりました。
「ジェネレーティブAI」は、その一つであり、プログラミング業務にも大きな変化をもたらそうとしています。
この記事では、プログラム自動生成・修正に関するジェネレーティブAIのサービスに焦点を当てて紹介します。
コード生成AI・自動バグ修正AIとは
「コード生成AI」とは、入力時に与えられた仕様に基づいて、自動的にプログラムを生成する技術です。与えられたタスクに対して、自動的に適切なコードを生成することで、開発者の作業負担を軽減し、生産性の向上が期待できます。
一方、「自動バグ修正AI」は、ソフトウェア開発者が書いたプログラムのバグを自動的に検出し、修正する技術です。ソフトウェアの品質向上や、開発時間の短縮を期待できます。
「コード生成AI」や「自動バグ修正AI」は、現在も研究が進められており、今後の技術進化によってますます発展していくことが期待されています。
ただし、完全に自律的なプログラム生成・バグ修正を任せるには、まだ大きな課題も多いと言えます。
エンジニアとAIが協力して作業を進めることで、より効率的なソフトウェア開発が実現すると言えるでしょう。
「コード生成AI」や「自動バグ修正AI」のサービスは、今のところまだあまり多くはありませんが、以下のようなものがあります。
コード生成AI
ChatGPTで知られる「OpenAI」が提供|OpenAI Codex
出典:https://openai.com/blog/openai-codex
最も有名なプログラミング生成AIであり、Pythonを始めとする複数のプログラミング言語のコードを生成できます。GitHubユーザーはこのサービスを利用してコードを生成できます。
サービス概要 | プログラム生成AI技術を利用して、自動的にプログラムコードを生成するサービス。
Pythonをはじめ複数のプログラミング言語に対応、開発者は手作業でのコーディング作業を大幅に短縮できる。 |
提供企業・団体 | ChatGPTで知られる「OpenAI」 |
利用料金 | APIキー取得により利用可能。
(OpenAIのAPIページの申請フォームから申し込みが必要) APIの利用頻度による従量課金制と見られる。 |
日本語対応 | 不可。英語推奨。 |
得意なこと | 自動コード生成に特化 |
苦手なこと | 自律的に完璧なコードを生成することはできない。
生成されたコードには、バグやセキュリティ上の問題が含まれる場合があるため、開発者は生成されたコードを慎重に確認する必要あり。 また、Codexはプログラムの仕様を正確に理解できないため、適切なコードを生成するためには、開発者が仕様を明確にする必要がある。 |
URL | https://openai.com/blog/openai-codex |
自動コード補完が得意|TabNine
「TabNine」は、ソースコード自動補完エンジンで、コードを自動的に生成することもできます。AIが学習した多数のライブラリやフレームワークを使用して、コード生成を行います。
サービス概要 | ソースコードの自動補完エンジン。
コードの自動生成も可能。 |
提供企業・団体 | イスラエルの企業「Codota」 |
利用料金 | 無料プランあり。
より高度な機能やサポートを利用するためには、有料のライセンスを購入する必要あり |
日本語対応 | 可。 |
得意なこと | AI技術を活用した、高度な自動コード補完や自動コード生成。
多数のライブラリやフレームワークを学習しているため、開発者は、手作業でのコーディング作業を大幅に短縮することができる。 |
苦手なこと | プログラムの仕様を正確に理解することができないため、開発者がコードの意図を明確にする必要がある。
また、生成されたコードには、バグやセキュリティ上の問題が含まれる場合があるため、開発者は生成されたコードを慎重に確認する必要がある。 |
URL | https://www.tabnine.com/ |
自動でコードの補完・生成ができる機能を提供|Hugging Face
AIに関するコミュニティで、GPT-3モデルに基づく「コード補完」機能を提供しています。
サービス概要 | PyTorchとTensorFlow(深層学習のフレームワーク)のライブラリを提供するAIコミュニティ。
自然言語処理などのAIモデルやツールも提供。 GPT-3モデルに基づく「コード補完」機能を提供している。 |
提供企業・団体 | アメリカの企業「Hugging Face Inc.」 |
利用料金 | 基本的には無料。
一部の機能やサポートを利用するためには、有料プランに加入する必要あり。 |
日本語対応 | サイト内は英語中心(一部日本語)
提供するライブラリの中には日本語対応のものもある。 |
得意なこと | 自動的にコードの補完や生成ができる。 |
苦手なこと | 生成されたコードには、バグやセキュリティ上の問題が含まれる場合があるため、開発者は生成されたコードを慎重に確認する必要がある。
また、GPT-3モデルは、大量のデータを学習することで高度な自然言語処理を行うが、データの品質や量によっては、不適切な補完や生成が行われる場合があることに注意が必要。 |
URL | https://huggingface.co/ |
Microsoftが提供|IntelliCode
出典:https://visualstudio.microsoft.com/ja/services/intellicode/
「Visual Studio」や「Visual Studio Code」に統合されている、Microsoftのプログラミング支援ツールで、AIによるコード補完機能を提供しています。
サービス概要 | Microsoftのプログラミング支援ツール。
「Visual Studio」や「Visual Studio Code」に統合、AIによるコード補完機能を提供。 過去のコードやGitHub上のオープンソースプロジェクトのパターンから学習し、プログラマーが使用するライブラリ、フレームワーク、およびAPIに基づいてコード補完を提供する。 |
提供企業・団体 | Microsoft |
利用料金 | 無料
(Visual StudioやVisual Studio Codeの最新バージョンに統合されている) |
日本語対応 | サイト内は日本語に対応。 |
得意なこと | AIによるコード補完機能。
特定のフレームワークやライブラリに関する知識がある場合、IntelliCodeはその知識を学習して、より正確な補完を提供することができる。 |
苦手なこと | プログラマーの入力を基にしてコード補完を行うため、プログラマーが入力しなければ補完を提供できない。
また、プログラマーの意図を完全に理解することはできないため、プログラムの意図と異なる補完を提供することがある。 |
URL | https://visualstudio.microsoft.com/ja/services/intellicode/ |
自動バグ修正AI
自動バグ修正に関しては、以下のようなサービスがあります。
コードの潜在的な問題を特定|DeepCode
GitHubのオープンソースコードに対して、AIによるバグ検出および修正を行うサービスです。コードの潜在的な問題を特定します。
サービス概要 | AIによるバグ検出および修正を行うサービス |
提供企業・団体 | アメリカの企業「Snyk」 |
利用料金 | 無料 |
日本語対応 | 不可 |
得意なこと | AIアルゴリズムとプログラミング知識を組み合わせて、コードの潜在的な問題を特定。
GitHubのオープンソースコードを分析し、バグの原因を特定し、修正方法を提供できる。 |
苦手なこと | オープンソースコードに対してのみ動作、プライベートコードには適用できない。
また、完全な自動修正を提供するわけではなく、修正案を提供するにとどまる。 修正案に基づいてコードを修正する前に、常に人間が確認する必要あり。 |
URL | https://www.deepcode.ai/ |
まとめ
ジェネレーティブAIの登場によってエンジニアは、自動コード生成や自動バグ修正などの機能を利用できるようになっています。作業の自動化、より効率的な開発、時間と労力の節約、生産性向上が期待できます。
ただしその一方で、現状では人間の知見や判断力には及ばない部分もあります。今後、ジェネレーティブAIの技術がどのように発展していくか、引き続き要注目です。
IT業界に身を置くビジネスパーソンにとって、この記事がジェネレーティブAIの基礎知識となり、今後の業務に役立てていただければ幸いです。