2022年11月の「ChatGPT」のリリースを皮切りに、各種LLM・ツールが誕生するなど、生成AIブームが到来しています。そんななか、システム開発にも生成AIを活用する「AI駆動開発」が浸透しています。
「具体的にどう生成AIを活用すべきなのか」「AI駆動開発によってどんなメリットがあるのか」などの疑問を持つ方も多いことでしょう。
そこで今回は「AI駆動開発」について、特徴やメリット、具体的に使えるツールを紹介します。AIの使い方などに悩んでいるエンジニア、企業の方は参考にしてみてください。
監修者
竹村貴也
株式会社ファンリピートCEO
著書:「ChatGPTによるPythonプログラミング入門. AI駆動開発で実現する社内業務の自動化」
AI駆動開発とは
AI駆動開発とは、システム開発をAIファーストで進める手法の総称です。言い換えると、AIを取り入れながら、工数を削減しつつ質の高い開発を実現することを指します。生成AIを開発に取り入れる手法とメリットは主に以下です。
手法 | メリット |
解決すべき課題を投げかけ、適切な要件定義の案を出してもらう。 | 開発前の要件定義について、壁打ちをしながら漏れがないように設定できる。 |
生成AIを使用して、特定の要件や仕様に基づいたコードを自動生成する。 | コーディング作業の時間を短縮し、人為的なミスを減らせる。 |
AIを用いてコードレビューを自動化し、潜在的なバグやセキュリティホールを検出する。 | コードの品質を高め、リリース前のテスト期間を短縮できる。 |
UI・UXのプロトタイプを生成AIで迅速に作成する。 | デザインの作成・検証を加速し、ユーザーフィードバックを早期に反映できる。 |
生成AIを用いて、多様なテストケースやシナリオを自動生成する。 | テスト範囲を広げ、システムの信頼性を高められる。 |
生成AIを用いて、コードのドキュメントやユーザーマニュアルを自動生成・更新する。 | ドキュメント作成工数を削減し、常に最新の情報を提供できる。 |
このように、開発前の要件定義から、実際のコードの生成、テスト・検証、実装、レビューなど、開発における各工程で生成AIは活躍してくれます。
AI駆動開発の特徴
ここからはAI駆動開発の主な特徴を3つ解説します。
自動化
AI駆動開発によって、開発の一部工程を自動化できます。例えば「コード生成」を自動化できます。希望の要件をプロンプト化してAiツールに投げかけることで、対象のコードを生成してくれます。
また単体・統合テストなどのテストケースも自動生成してくれます。テストに基づいたスクリプトも考えてくれるため、手作業でいちから用意する必要がありません。
検証フェーズでは、コードレビューの自動化も可能です。コードをAIツールにレビューさせたうえで、スタイルをチェックしてもらったり、セキュリティホールをチェックしてもらえたりします。
そのほかビルド、テスト、デプロイを自動で実行することが可能です。ただし、こうしたAI駆動開発では、まだ人間の目で最終レビューする必要がある点は留意しておきましょう。そのため、現状では「半自動化」が正しいです。
効率化
開発作業を自動化することで、開発作業を効率化できます。経営側としてはエンジニアの人件費を削減できるため、積極的に活用すべきです。
特にコード生成の機能は業務上インパクトがあります。これまでは、いちから記述する必要があり、ノウハウがないものはWeb上で調べる必要がありました。
その点、AIツールで「要件を元にコードを生成してください」と命令するだけで、すぐに最適なコードを提案してくれます。
精度向上
開発自体の精度が向上することもAI駆動開発の特徴の一つです。いちからコーディングする場合、ヒューマンエラーが発生する可能性があります。またデバッグ作業などの検証を手作業で行う場合、見落としなどミスが出ることがあります。
その点、生成AIにいちからコードを生成してもらうことで、記述ミスがなくなります。また検証フェーズにおいても、定型的にレビューしてくれるため、ミスの確率が減ります。
システム開発をAI駆動開発で進めるメリット
つづいて、AI駆動開発でシステムを開発する際のメリットを3つ紹介します。
開発スピードの向上
ひとつめは開発スピードの向上です。従来のようにいちからコーディングする必要がないため、高速で実装できます。
また、システム企画や要件定義の工程についても、AIに提案してもらい、壁打ちしながらブラッシュアップすることで早く進みます。
品質担保のためのテストの効率化
単体・統合テストなどのテストケースも自動生成してくれます。手作業でいちから用意する必要がありません。テスト仕様書の作成はもちろん、テスト後のログデータを共有することで、検証を効率化できます。
また本番リリース前のMVP(顧客ニーズを満たす最小限のプロダクト)も効率化できます。MVPは一般的にユーザーのリアクションを収集する必要があります。この質問項目についてアイディアを出してくれたり、ユーザーの声を読ませることで、改善策を提案してくれたりします。
保守運用のメンテナンスコストの低減
リリース後もAIを活用することで、保守運用のメンテナンスコストを低減できます。リリース後は必ずと言っていいほどバグが発生します。改修についてもコードを生成してくれたり、レビューしてくれたりします。従来のエンジニア工数を削減することが可能です。
またユーザーの問い合わせを管理するドキュメントを作ってくれたり、ユーザーの声を読み込ませることで、改善策を提案してくれたりします。
AI駆動開発で使える主要なツール12選
具体的に開発時に使える主要なツールを「汎用的」「コーディング特化型」「テスト特化型」に分けて紹介します。効率化・高品質化のためにも積極的に取り入れてみてください。
汎用的なツール
まずは汎用的に使えるAIチャット型のツールを3つ紹介します。
ChatGPT
ChatGPTはMicrosoft傘下のOpenAI社が開発したチャット型AIです。GPT-3.5、GPT-4、GPT4oといったLLMを用いて、回答を生成しています。
ChatGPTはマルチモーダルに対応しており、テキスト化をもとに画像を生成できたり、画像を参考にUIのコードを生成できたりします。
また「GPTs」の機能が非常に優秀です。GPTsとはユーザー自身で開発して第三者に展開できるものです。ノーコードで開発できます。
例えば「Code Copilot」というGPTsは、高いプログラミング知識を持つAIがサポートしてくれるツールです。従来のChatGPTよりも高品質なコ―ドレビュー、デバッグなどが期待できます。
詳しくは以下の記事で紹介していますので参考にしてみてください。
Gemini
GeminiはGoogle社が提供するチャット型AIツールです。プランごとに「Gemini Ultra」「Gemini Pro」「Gemini Nano」の3つのLLMを備えています。Geminiでもコード生成、コードレビューといった基礎的な開発サポート機能を利用できます。
Geminiならではの魅力は、Googleのアセットを利用できることです。特に開発やデータ分析などの際にはSpreadsheetと連携できる点が魅力だといえます。
複数のSpreadsheetをアップロードすると分析でき、かつ出力してくれます。また開発においてガントチャート作成、工数管理などでも利用できます。
詳しくは以下の記事で紹介していますので参考にしてみてください。
Claude
ClaudeはAnthropic社が提供するチャット型AIです。Anthropic社は、もともとOpenAIでLLM開発をしていたアモデイ兄妹によって設立されました。「Opus」「Sonnet」「Haiku」と呼ばれる3つのLLMを備えています。
Claudeでもコード生成、レビューなど、エンジニアリング全体の基本的なサポート機能を兼ね備えています。なかでも最高モデル・Claude3は発表当時、ChatGPT、Geminiの性能を上回るコードの理解度を示していました。非常に品質の高い回答をしてくれます。
詳しくは以下の記事で紹介していますので参考にしてみてください。
コーディングに特化したツール
続いて、エンジニアにとって多くの工数がかかる「コーディング作業」にフォーカスしたAIツールを紹介します。
GitHub Copilot
チーム開発を推進するうえで欠かせないツールとなっているGitHubにも、AIツールが備わっています。自身のGitHubの環境下に拡張機能をインストールすることで、GitHub Copilotを使えるようになります。
コーディングの際にAIからサポートを受けながら作業できるため便利です。例えばコードの一部を入力すると、続きをAIが予測して提案してくれます。すべてを記述する必要がないため、工数を大きく削減できるのが魅力です。
そのほか、自動でエラーコードを検出し改善策を考えてくれたり、最適化のアドバイスをくれたりします。初心者の方でも、無駄のないコードを書きやすくなりました。
Cursor
Cursor(カーソル)はAnysphere社がリリースしたAIエディタです。AI活用に特化します。エディタ業界で高いシェアを誇るMicrosoft AzureのVS Codeをフォークして開発されており、VS Codeからの移行が楽です。
エディタ画面の下部にはチャット画面が用意されており、自然言語で命令をするだけでAIがコーディングを進めてくれます。生成されたコードに適宜、手動で記述を足すことも可能です。
またエラーコードを見つけて修正してくれます。エディタ画面上でコードの一部を選択したうえでチャットを送れるのも魅力です。特定の範囲について指示を出せます。
詳しくは以下の記事で紹介していますので参考にしてみてください。
TabNine
TabNineは人工知能を活用したコード補完ツールです。開発者が書いたコードの文脈をAIが理解し、次に打つべきコードを予測・提案します機械学習に基づいており、多様なプログラミング言語やフレームワークに対応しています。
なかでも、TabNineの最大の特徴は、高速かつ正確な補完能力です。性能が高いため、エラーの確認・改善の工数が少なく済みます。また、多くの開発環境に対応しており、幅広いユーザーに利用されているのも魅力です。
詳しくは以下の記事で紹介していますので参考にしてみてください。
テストに特化したツール
続いてテストの際に使えるAIツールを紹介します。
Testim
TestimはTricentis社が提供する、AIを利用したUIテスト自動化ツールです。フリープランも提供しています。
以下のように、テストを効率的に進めるための機能が複数備わっています。
- 画面要素が変わった際に自動的にテストケースを更新してくれる
- 手すお失敗時に詳細なレポート画面を提供してくれる
- 画面要素について、複数の属性を使って要素を特定するため、信頼度の高いテストをができる
このような機能により、テストにかかる工数を削減し、品質を高めてくれます。
Applitools
Applitools社ではAI搭載コンピュータビジョン「Visual AI」が先立ってリリースされていました。このVisual AIを用いて機能テストやビジュアルテストの自動化ツールとしてリリースされたのが「Applitools」です。
ビジュアルテストのサポートもできるのが大きな魅力です。例えば完成したUIの画面を視覚的に確認したうえで問題がある部分を特定・報告してくれます。あらゆるブラウザに対応可能です。見つけにくいバグも発見しやすいです。
Mabl
Mabl(メイブル)はAIを活用できる統合型テスト自動化プラットフォームです。AIだけでなくローコードツールも兼ね備えています。またクラウド上で利用できるのも魅力です。
必要なエンドツーエンドテストの実装はローコードでできます。またそれに加えてAIを活用することでテストを自動で修正しつつ進められます。
運用に特化したツール
続いて、リリース後の運用に特化したツールを紹介します。
Datadog
DatadogはSaaS型の運用監視ツールです。インフラの監視をはじめ、ネットワーク・インシデント・セキュリティの監視、データベースの管理など、運用フェーズで必要な機能を兼ね備えています。
Datadogには「Bits AI」というAI機能が搭載されています。これにより、データベースをもとに改修すべきポイントを提案してくれます。運用フェーズでの対応策を自動で示してくれるので、工数削減になります。
Splunk
Splunk(スプランク)を使えば、アプリケーション、サーバ、ネットワーク機器のデータにインデックスをつけられます。ITインフラは常に何かしらのイベントが発生しますが、Splunkを導入することでリアルタイムに検索・分析ができるのが魅力です。
Splunk AIを導入することでデータをもとにイベントの重要度をお知らせできるようになります。エンジニアとしては対応の優先度を付けやすくなります。
Dynatrace
Dynatrace(ダイナトレース)はAIを搭載したシステム運用のサポートツールです。面倒な監視作業を自動化できます。
例えばシステム環境構成と依存関係を自動で識別できるため、エンジニアとしては管理しやすい状況を保てます。またトランザクションの監視も自動化できるため、トラブルに対して迅速に対応できます。
ツールの比較
AI駆動開発に使える上記ツールの比較をします。
比較表
AI駆動開発の費用、概要は以下の通りです。
名称 | 費用 | |
汎用的なツール | ChatGPT | ChatGPT Plus:月額20ドル |
Gemini | Gemini Advanced:月額2,900円 | |
Claude | Claude3 Opus:月額20ドル | |
コーディング | GitHub Copilot | GitHub Copilot Individual:月額10ドル |
Cursor | Pro:月額20ドルBusiness:月額40ドル | |
TabNine | Pro:月額12ドルenterprise:月額39ドル | |
テスト | Testim | 月額450ドル |
Applitools | 要問い合わせ | |
Mabl | 要問い合わせ | |
運用 | Datadog | ※機能ごとに個別課金(例)インフラストラクチャー Pro:月額1,650円インフラストラクチャー Enterprise:月額2,530 円 |
Splunk | 要問い合わせ | |
Dynatrace | ※機能ごとに個別課金(例)フルスタック監視:1時間0.08ドル |
ツール選定のガイドライン
上記のツールのうち、何を導入するかは、事前に以下の点を整理しておきましょう。
- ニーズ(課題)を解消できるか
- 既存システムとの互換性はあるか
- メンバーがきちんと使いこなせるか
- 初期のサポート体制は整っているか
- プロダクトの将来像に対応できるスケーラビリティはあるか
- 価格は予算内に収まるか
- セキュリティ対策はできているか
- ユーザーレビューは高評価か
以上の点はすべてを満たしておく必要があります。不安であれば事前にトライアルやデモ機能を利用したうえで性能を検証しましょう。
AI駆動開発の今後の展望
最後にAI駆動開発の今後の展望を紹介します。結論として、今後はさらにAIを用いた開発が進むことが予想されます。この数年間で膨大な量のAIツールがリリースされました。またLLMの精度もどんどん高まっている状況です。いずれはAIを用いた開発が一般的になるでしょう。
今後は研究が進むとともに、オープンソースAIツールも増えていくことが予想されます。すると、より広い産業でAI活用が進むようになりますし、消費者もAIツールを軸にアクションすることも増えます。
企業・エンジニアとしてはAI駆動開発の環境を早めに導入しつつ、潮流に乗っていくことがおすすめです。
まとめ
今回はAI駆動開発について紹介しました。現在はまだAI活用の黎明期であり、各企業も徐々にAIを活用した開発をはじめた段階といえます。
しかし今後は業務フローにAIツールが組み込まれ、AI駆動開発が一般的になるでしょう。企業としては早めに導入することで、他社に遅れることなく業務効率化を実現できます。
「どんなツールをどの用途で取り入れるべき?」と疑問を持っている方は、この記事を参考に開発に組み込んでみてください。
弊社・ファンリピートでは、お客様の課題に対して「ローコードxAI駆動開発」で高速にシステムを開発し、提供しています。代表の竹村はChatGPTを用いたPythonプログラミングについて書籍を刊行している有識者です。
https://item.rakuten.co.jp/hmvjapan/14961710
AI駆動開発に興味があるが導入方法が分からない方は、お気軽にファンリピートまでご相談ください。