ショートQ&Aコーナー
- Q:生成AIとは?
A:膨大な学習データをもとに新しいコンテンツを創出する人工知能のこと。 - Q:生成AIの開発での活用事例は?
A:コードの生成やデバッグ、テストケース作成などさまざま。 - Q:生成AIを開発に活用するメリットは?
A:開発スピードの向上や開発者の負担軽減など。 - Q:生成AIを開発に活用する際の注意点は?
A:個人情報や機密情報を入力しないことや出力される情報が正確か確認することなど。 - Q:生成AIを開発に活用するコツは?
A:具体的なプロンプトを記述することや最終的な判断は人間が行うことなど。
「生成AIを開発に活用したいけど、具体的にどう使えばいいかわからない……」
そんな悩みを抱えていませんか?
本記事では、コード生成やデバッグなど、明日から使える生成AIの活用事例を5つ厳選して紹介します。
また、具体的なプロンプト例から、導入のメリット、失敗しないための注意点まで網羅的に解説。
最後まで読めば、自社の開発プロセスを革新するヒントが見つかるはずです。
それでは、生成AIの概要からチェックしていきましょう。
目次
生成AIとは
生成AI(ジェネレーティブAI)とは、膨大な学習データをもとに新しいコンテンツを創出する人工知能のことです。
従来のAIは、データの識別や分類が主な役割でした。
それに対して生成AIは、文章や画像、音声やプログラムコードなどを作り出します。
この能力が、IT業界のさまざまな分野で注目されているのです。
特にソフトウェア開発の領域では、その活用によって業務が大きく変わる可能性を秘めています。
.png)
生成AIの開発での活用事例5選
生成AIは、開発の現場において非常に有効なツールです。
単純作業の自動化から、複雑な問題の解決支援まで、その活用範囲は多岐にわたります。
ここでは、具体的な5つの活用事例を紹介します。
生成AIの開発での活用事例
- コードを生成する
- コードをレビューする
- エラーを解消する(デバッグ)
- テストケースを作成する
- 仕様書やマニュアルを作成する
これらの事例を知ることで、自社の開発プロセスに生成AIをどう活かせるか、イメージが湧くはずです。
順番にみていきましょう。
活用事例1:コードを生成する
生成AIの開発での活用事例1つ目は、コードの生成です。
実現したい機能や要件を指示すると、AIが適切なコードを提案してくれます。
これにより、開発者はタイピングの手間を大幅に削減できるでしょう。
特に、定型的なコードや汎用的な関数の作成で効果を発揮します。
そのため、開発者はより創造的な作業に時間を割けるようになります。
.png)
活用事例2:コードをレビューする
生成AIの開発での活用事例2つ目は、コードのレビューです。
生成AIは、第三者の視点でコードレビューを実施する際にも活用できます。
AIは、記述されたコードに潜むバグや脆弱性を指摘してくれます。
また、より効率的な書き方や、可読性を高めるための改善案も提示可能です。
人間のレビューと組み合わせることで、コードのさらなる品質向上につながります。
.png)
活用事例3:エラーを解消する(デバッグ)
生成AIの開発での活用事例3つ目は、エラーの解消です。
開発において、エラーの解消(デバッグ)は時間のかかる作業です。
生成AIにエラーメッセージと関連コードを提示することで、原因の特定や解決策の提案を受けられます。
これまで解決に何時間もかかっていた問題が、AIの活用で瞬時に解決できるケースも少なくありません。
結果として、開発者はデバッグ作業の負担を大きく軽減できます。
.png)
活用事例4:テストケースを作成する
生成AIの開発での活用事例4つ目は、テストケースの作成です。
仕様書やコードをAIに読み込ませることで、網羅的なテストケースを自動で生成します。
人間では見落としがちな境界値や異常系のテストも作成してくれる点が強みです。
この活用事例は、テスト工数の削減とソフトウェア品質の向上を両立させます。
.png)
活用事例5:仕様書やマニュアルを作成する
生成AIの開発での活用事例5つ目は、仕様書やマニュアルの作成です。
生成AIは、プログラムコードから仕様書やマニュアルといったドキュメントを自動生成できます。
コードの構造やコメントをAIが解析し、自然な日本語で機能説明や使い方をまとめてくれるのです。
この機能を活用すれば、開発者がドキュメント作成に費やす時間を削減できます。
結果的に、常に最新のドキュメントを維持しやすくなるでしょう。
.png)
【事例別】生成AIを開発で活用する際のプロンプト例5選
生成AIを開発で最大限に活用するには、的確な指示(プロンプト)が不可欠です。
プロンプトが具体的であるほど、AIから得られる回答の質は高まります。
ここでは、先ほどの活用事例に対応した、質の高い出力を引き出すためのプロンプト例を紹介します。
生成AIのプロンプト例
- コード生成
- コードレビュー
- デバッグ
- テストケース作成
- ドキュメント作成
順番にチェックしていきましょう。
注意ポイント
本記事で紹介するプロンプト例には、コードレビューやデバッグのためにソースコードを入力する例が含まれます。
企業のソースコードは重要な知的財産です。
一般的な外部の生成AIサービスに機密情報を含むコードをそのまま入力すると、情報漏えいにつながる重大なリスクがあります。
実際の業務で試す際は、プロンプト例のように機能を再現できる最小限のサンプルコードに書き換える(抽象化・単純化する)か、入力データを学習に使用されないよう設定してください。
プロンプト例1:コード生成
まずは、関数のコードを生成させる際のプロンプトです。
ここでは、ECサイトでよく使われる送料計算の機能を例にします。
AIに詳細な要件を伝えることがポイントです。
# 命令書
あなたは優秀なPythonエンジニアです。以下の要件を満たす関数を作成してください。
# 要件
- 関数名: `calculate_shipping_fee`
- 引数: `total_price` (商品の合計金額), `prefecture` (都道府県名)
- 処理内容:
1. 商品の合計金額が10,000円以上の場合は、送料を無料(0円)とする。
2. 合計金額が10,000円未満の場合、都道府県に応じて送料を決定する。
- "沖縄県": 1,500円
- "北海道": 1,200円
- その他の都道府県: 800円
- 返り値: 計算された送料(整数)
- コードスタイル: PEP 8に準拠すること。型ヒントを必ず付与してください。
このように、要件を細かく指定することが重要です。
これにより、AIは書き手の意図を正確に理解し、質の高いコードを生成します。
.png)
プロンプト例2:コードレビュー
次に、既存のコードの品質をチェックしてもらうプロンプトを紹介します。
AIに特定の観点を与えることで、レビューの精度が高まります。
# 命令書
あなたは経験豊富なソフトウェアアーキテクトです。以下のJavaコードをレビューしてください。
# レビューの観点
- パフォーマンス: より効率的に改善できる箇所がないか。
- セキュリティ: 潜在的な脆弱性がないか。
- 可読性: 変数名やメソッド名が分かりやすいか。コメントは適切か。
- ベストプラクティス: よりモダンで推奨される書き方がないか。
# レビュー対象コード
// 商品アイテムを表すクラス(可読性に課題があるサンプル)
public class Item {
String s; // 商品名
int i; // 価格
public Item(String s, int i) {
this.s = s;
this.i = i;
}
public void printData() {
System.out.println("商品名: " + s);
System.out.println("価格: " + i + "円");
}
}
//
# 出力形式
- 問題点を指摘し、その理由と具体的な修正案を提示してください。
- 問題がない場合は、「特に問題は見つかりませんでした」と回答してください。
レビューの観点を具体的に示すことで、網羅的で的確なフィードバックが期待できます。
これはAIを優秀なレビュアーとして活用するコツです。
注意
実際の業務で試す際は、個人情報や機密情報を含まないように機能を再現できる最小限のサンプルコードに書き換える(抽象化・単純化する)か、入力データを学習に使用されないよう設定してください。
.png)
プロンプト例3:デバッグ
開発で頻繁に発生するエラーの解決をAIに依頼する際のプロンプトです。
エラーの状況を正確に伝えることが、解決への近道となります。
# 命令書
あなたはデバッグを専門とするシニアプログラマです。以下のエラーの解決を手伝ってください。
# 状況
- 開発言語: JavaScript (React)
- 発生しているエラーメッセージ:
`TypeError: Cannot read properties of undefined (reading 'map')`
- 目的: APIから取得した商品リストを画面に表示させたい。
# 関連コード
import React, { useState, useEffect } from 'react';
function ProductList({ userId }) {
const [products, setProducts] = useState(); // 初期値がundefined
useEffect(() => {
// APIからデータを非同期で取得する処理(ダミーデータで代替)
const dummyData = [{ id: 1, name: '商品A' }, { id: 2, name: '商品B' }];
setProducts(dummyData);
}, [userId]);
return (
<div>
<h1>商品一覧</h1>
<ul>
{/* productsがundefinedの時にmapを呼び出してエラーが発生する */}
{products.map(product => (
<li key={product.id}>{product.name}</li>
))}
</ul>
</div>
);
}
//
# 質問
1. このエラーの根本的な原因は何ですか?
2. どのように修正すればエラーを解消できますか?具体的な修正コードを提示してください。
エラーメッセージだけでなく、関連コードと目的をセットで伝えることがポイントです。
これにより、AIは文脈を理解し、より的確な解決策を提示できます。
注意
実際の業務で試す際は、個人情報や機密情報を含まないように機能を再現できる最小限のサンプルコードに書き換える(抽象化・単純化する)か、入力データを学習に使用されないよう設定してください。
.png)
プロンプト例4:テストケース作成
テストケース作成に使えるプロンプトです。
ソフトウェアの品質を担保するためのテストケース作成も、生成AIが得意な作業の一つです。
ここではログイン機能の仕様をもとに依頼します。
# 命令書
あなたは品質保証(QA)の専門家です。以下の仕様を持つログイン機能のテストケースを作成してください。
# 機能仕様
- 入力項目: メールアドレス、パスワード
- バリデーションルール:
- メールアドレス: 必須入力、形式が正しいこと。
- パスワード: 必須入力、8文字以上32文字以下であること。
- 正常系:
- 正しい認証情報でログインできる。
- 異常系:
- どちらかの入力項目が空だとエラーメッセージを表示する。
- メールアドレスの形式が不正な場合にエラーメッセージを表示する。
- パスワードが短い、または長い場合にエラーメッセージを表示する。
- 認証情報が間違っている場合にエラーメッセージを表示する。
# 作成するテストケース
- 正常系と異常系の両方を網羅したテストケースを、表形式で作成してください。
- 表の項目: `テストID`, `テスト内容`, `事前条件`, `手順`, `期待結果`
機能仕様を明確に定義し、出力形式を指定することが重要です。
AIは仕様に基づき、人間では見落としがちなケースまで網羅してくれるでしょう。
.png)
プロンプト例5:ドキュメント作成
最後に、既存のソースコードから開発者向けの仕様書を作成させるプロンプトです。
属人化しがちなドキュメント整備を効率化します。
# 命令書
あなたはテクニカルライターです。以下のRuby on Railsのソースコードを解析し、開発者向けの仕様書(マークダウン形式)を作成してください。
# ソースコード
# app/controllers/products_controller.rb (商品情報を扱うコントローラーのサンプル)
class ProductsController < ApplicationController
# 商品一覧を表示
def index
@products = Product.all
end
# 個別の商品を表示
def show
@product = Product.find(params[:id])
end
end
#
# 仕様書に含める項目
- このコントローラーの概要と責務
- 各アクション(index, show)の役割
- 各アクションが受け付けるパラメータとその説明
- 各アクションの処理フロー
- 返却されるレスポンス(成功時、失敗時)
# 注意点
- 専門用語は避け、誰が読んでも分かりやすい平易な日本語で記述してください。
AIに役割を与え、含めるべき項目をリストアップすることで、質の高いドキュメントが完成します。
コードを書いた本人以外でも、仕様の理解が容易になります。
注意
実際の業務で試す際は、個人情報や機密情報を含まないように機能を再現できる最小限のサンプルコードに書き換える(抽象化・単純化する)か、入力データを学習に使用されないよう設定してください。
.png)
生成AIを開発に活用するメリット3選
生成AIを開発プロセスに導入すると、企業や開発者は多くの恩恵を受けられます。
業務の効率化はもちろん、成果物の品質向上にも大きく貢献するためです。
ここでは、生成AIを開発に活用することで得られる代表的な3つのメリットを解説します。
生成AIを開発に活用するメリット
- 開発スピードを向上させる
- コードの品質を高める
- 開発者の負担を軽減する
それぞれチェックしていきましょう。
メリット1:開発スピードを向上させる
生成AIを開発に活用するメリット1つ目は、開発スピードを向上させられることです。
なぜなら、単純なコーディングやテストコードの作成といった時間を要する作業をAIに任せられるためです。
例えば、データモデルに対応するAPIの雛形コードをAIに生成させられます。
これにより、開発者はより高度で複雑なロジックの実装に集中できるようになるのです。
.png)
メリット2:コードの品質を高める
生成AIを開発に活用するメリット2つ目は、コードの品質を高められることです。
AIは、人間が見落としがちな細かなバグや潜在的な脆弱性を発見する能力に長けています。
具体例として、AIがコードレビューでセキュリティリスクを指摘することが挙げられます。
このような客観的なフィードバックを開発プロセスに組み込むことで、より堅牢なソフトウェアを開発できるでしょう。
.png)
メリット3:開発者の負担を軽減する
生成AIを開発に活用するメリット3つ目は、開発者の負担を軽減できることです。
特に、エラーの原因調査やドキュメント作成といった付随的な業務を効率化できる点が大きいでしょう。
開発者はこれまで多くの時間を費やしてきた定型業務から解放されます。
その結果、新しい技術の学習や創造的な機能開発など、より付加価値の高い仕事に集中できる環境が整います。
.png)
生成AIを開発に活用する際の注意点3選
生成AIは開発の強力な味方ですが、その活用には注意すべき点も存在します。
生成AIを開発に活用する際の注意点
- 個人情報や機密情報を入力しない
- 出力される情報が正確か確認する
- AIの学習データや知識の限界を理解する
リスクを理解せずに利用すると、思わぬトラブルにつながる可能性があります。
安全かつ効果的に生成AIを活用するため、特に重要となる3つの注意点をしっかりと押さえておきましょう。
注意点1:個人情報や機密情報は入力しない
生成AIを開発に活用する際の注意点1つ目は、個人情報や機密情報は入力しないことです。
入力したデータが、AIモデルの学習に利用されてしまうリスクがあるためです。
万が一、顧客情報や社外秘のソースコードが学習データに含まれると、情報漏えいにつながる恐れがあります。
そのため、生成AIに渡す情報は、必ず公開されても問題ないものに限定すべきです。
.png)
注意点2:出力される情報が正確か確認する
生成AIを開発に活用する際の注意点2つ目は、出力される情報が正確か確認することです。
生成AIが生成したコードや情報は、必ずしも正確であるとは限りません。
AIは、時にもっともらしい嘘の情報を出力することがあり、これはハルシネーションとして知られています。
例えば、存在しない関数や古いバージョンのライブラリを使ったコードを提案するかもしれません。
したがって、AIの出力は鵜呑みにせず、必ず人間の目でファクトチェックや動作検証を行う必要があります。
.png)
注意点3:AIの学習データや知識の限界を理解する
生成AIを開発に活用する際の注意点3つ目は、AIの学習データや知識の限界を理解することです。
生成AIの能力は、その基盤となる学習データに依存します。
学習データが古ければ、最新の技術やフレームワークに関する知識は持っていません。
例えば、最近リリースされたばかりのプログラミング言語の機能について質問しても、AIは答えられないでしょう。
このため、生成AIを活用する際は、その知識には限界があることを常に意識しておくことが重要です。
.png)
生成AIを開発に活用するコツ3選
生成AIのポテンシャルを最大限に引き出すためには、いくつかのコツを押さえておくことが有効です。
生成AIを開発に活用するコツ
- 具体的なプロンプトを記述する
- 複数の生成AIを使い分ける
- 最終的な判断は人間が行う
単にツールとして使うだけでなく、パートナーとして上手に関わる意識が求められます。
これから紹介する3つのコツを実践することで、生成AI活用の効果をさらに高められるでしょう。
コツ1:具体的なプロンプトを記述する
生成AIを開発に活用するコツ1つ目は、具体的なプロンプトを記述することです。
AIは、与えられた指示の範囲内でしか回答を生成できないためです。
「いいコードを書いて」のような曖昧な指示では、意図した通りの結果は得られません。
プログラミング言語、フレームワーク、期待する動作などを詳細に伝えることで、出力の精度は格段に向上します。
ただし、個人情報や機密情報は決して入力しないよう注意してください。
.png)
コツ2:複数の生成AIを使い分ける
生成AIを開発に活用するコツ2つ目は、複数の生成AIを使い分けることです。
生成AIにはさまざまな種類があり、それぞれに得意なことと不得意なことがあります。
例えば、コーディングに特化したAIもあれば、ドキュメント作成や翻訳が得意なAIも存在します。
一つのAIに固執せず、目的に応じて複数のサービスを使い分けることが賢明です。
それぞれのAIの特性を理解し、適材適所で活用することで、開発全体の生産性が向上します。
.png)
コツ3:最終的な判断は人間が行う
生成AIを開発に活用するコツ3つ目は、最終的な判断は人間が行うことです。
生成AIはあくまで開発を支援するツールであり、最終的な意思決定は人間が行うべきです。
AIの提案が、常にプロジェクトの要件や目標に合致するとは限りません。
AIが生成したコードを採用するかどうか、提案された設計が適切かどうかは、開発者が責任を持って判断します。
AIを便利なアシスタントと位置づけ、主体性を持って活用することが成功の鍵です。
.png)
生成AIの本格的な活用は専門家へ相談するのもおすすめ
生成AIの開発への活用は、自社だけで進めるには多くの課題が伴います。
特に、セキュリティの確保や、全社的な活用ルールの策定には専門的な知識が必要です。
もし本格的な導入で悩んでいるなら、一度専門家へ相談するのもおすすめです。
AI活用の第一相談所を担う「クラベルAI」では、AIの活用を考えている方と専門家とのマッチングサービスを展開しています。
AI活用における「誰に・何を・どう聞けばいいの?」というところからAIを使った大規模開発まで、何度でも無料で相談可能。
AI活用のことで何か気になることがある方は今すぐ無料相談をご活用ください。
なお、電話相談(03-6826-0562)も可能です。
.png)
事例を参考に生成AIを開発に活用しよう
生成AIは、開発スピードの向上やコード品質の改善に大きく貢献する強力なツールです。
一方で、情報漏えいのリスクや出力の不正確さといった注意点も存在します。
紹介した活用事例やプロンプト例を参考にしながら、まずは小規模なタスクから生成AIの活用を始めてみてはいかがでしょうか。
そして、もし生成AIを本格的に活用したいなら、専門家への相談もおすすめです。
クラベルAIでは、AI活用に関する無料相談を受け付けています。
「誰に・何を・どう聞けばいいの?」というところからAIを使った大規模開発まで、何度でも無料で相談できるので、AI活用をお考えの方はぜひ一度お問い合わせください。
\AIの導入・開発・相談なら【クラベルAI】に相談しよう!/