「あと少し、実装時間が短ければ…」
「このバグの原因調査に、もう3時間も費やしている…」
日々の開発業務において、こうした焦りや疲労を感じることはありませんか。
もし、優秀なベテランエンジニアが24時間365日、あなたの隣でコードを書き、レビューし、ドキュメントまで作成してくれるとしたらどうでしょう。
生成AI(人工知能)は、今や単なる「おしゃべり相手」ではありません。開発の現場においては、最強の「ペアプログラマー」となり得ます。しかし、その能力を引き出せるかどうかは、あなたの「指示(プロンプト)」次第です。
本記事では、要件定義からコーディング、テスト、そして運用まで、開発ライフサイクルのあらゆる場面で使える実践的なプロンプトテンプレートを厳選してご紹介します。これをコピペして辞書登録しておくだけで、あなたの開発スピードは劇的に向上するはずです。
なぜ「プロンプト」で開発効率が変わるのか?
具体的なテンプレートに入る前に、一つだけ重要な前提を共有させてください。AIは「察することが苦手な超優秀な新人」です。
大規模言語モデル(LLM)と呼ばれるAIは、膨大なコードの知識を持っていますが、指示があいまいだと、ありきたりなコードや、要件を満たさない回答を出力します。開発現場で使える回答を引き出すには、以下の3要素が不可欠です。
- 役割の付与: 「あなたはシニアエンジニアです」と定義する
- 文脈の提示: どの言語で、何のために、どのような制約で作るのか
- 出力形式の指定: コードだけ欲しいのか、解説も必要なのか
これらを踏まえた「開発現場で即戦力となる」テンプレートを、フェーズ別に紹介していきます。
【フェーズ1】要件定義・設計・アイデア出し
開発の初期段階では、AIを「壁打ち相手」として使うことで、考慮漏れを防ぎ、仕様を強固にすることができます。
要件の抜け漏れチェック
要件定義書やメモ書きを入力し、不足している視点を洗い出します。
命令書
あなたは経験豊富なプロジェクトマネージャー兼システムアーキテクトです。以下の【要件概要】に基づき、開発時にリスクとなりうる「考慮不足な点」や「曖昧な点」をリストアップしてください。
制約条件
- 技術的な実現可能性の観点を含める
- セキュリティリスクの観点を含める
- ユーザー体験(UX)の観点を含める
要件概要
(ここに要件やメモを貼り付け)
データベース設計の提案
作りたいアプリの概要から、テーブル設計のたたき台を作成させます。
命令書
以下のシステムを作成するための、最適なデータベースのテーブル設計(ER図の構成要素)を提案してください。
システム概要
(例:CtoCのマッチングアプリ、社内在庫管理システムなど)
出力形式
- テーブル名
- カラム名とデータ型
- 主キー・外部キーの関係性
- その設計にした理由(正規化の観点など)
技術選定の比較検討
使用する言語やフレームワークに迷った際、メリット・デメリットを整理させます。
命令書
【プロジェクト要件】を実現するために、最適な技術スタック(言語・フレームワーク)の候補を3つ提案し、比較表を作成してください。
プロジェクト要件
- 開発スピードを最優先
- 将来的に月間100万アクセスを想定
- チームメンバーはPythonが得意
比較項目
- 開発効率
- パフォーマンス
- スケーラビリティ(拡張性)
- 学習コスト
【フェーズ2】コーディング・実装(基本編)
ここからは実際のコード生成です。「ボイラープレート(お決まりの定型コード)」の作成や、基本的な関数の実装を自動化します。
基本的な関数の生成
処理内容を言葉で伝えて、関数を作成させます。エラーハンドリング(例外処理)を含めるのがコツです。
命令書
【言語】Python
【タスク】指定されたURLリストから、スクレイピングでタイトルとH1タグを取得する関数を作成してください。
要件
requestsとBeautifulSoupライブラリを使用すること- タイムアウト処理を入れること
- エラー発生時はログを出力し、処理を継続すること(スキップする)
- 型ヒント(Type Hinting)を付与すること
正規表現(RegEx)の生成
人間が書くと間違いやすい正規表現は、AIに任せるのが正解です。
命令書
以下の条件に合致する正規表現(Regular Expression)を作成し、その正規表現が正しいことを確認するためのテストケースも合わせて提示してください。
条件
- 日本の電話番号(固定電話および携帯電話)
- ハイフンあり・なし両方に対応
- 市外局番の括弧あり・なし両方に対応
ダミーデータの生成
開発テストに必要なJSONやCSVデータを大量生成します。
命令書
以下のJSONフォーマットに従い、テスト用のダミーデータを20件生成してください。
フォーマット
{
“id”: UUID,
“username”: 英数字8文字以上,
“email”: ランダムなメールアドレス,
“created_at”: 過去1年以内のランダムな日時
}
【フェーズ3】コーディング・実装(応用編)
より複雑なロジックや、既存コードの変換などに使えるテンプレートです。
別の言語への書き換え(移植)
古いコードや、別のプラットフォーム用のコードを変換します。
命令書
以下の【Javaコード】を、機能的に等価な【TypeScriptコード】に書き換えてください。
要件
- クラスベースではなく、関数型プログラミングのスタイルを優先する
- 変数名はキャメルケースに統一する
- 最新のES6+の構文を使用する
Javaコード
(ここにコードを貼り付け)
SQLクエリの作成
複雑な結合(JOIN)や集計を含むSQLを作成させます。
命令書
以下のテーブル構造において、【目的】を達成するための最適化されたSQLクエリを作成してください。
テーブル構造
- Users (id, name, created_at)
- Orders (id, user_id, amount, created_at)
目的
- 直近3ヶ月以内に購入履歴があり、かつ購入総額が5万円以上のユーザーリストを抽出する
- 購入総額の多い順に並べる
APIクライアントの実装
外部APIのドキュメントを読み込ませ(または概要を伝え)、接続用コードを書かせます。
命令書
【API名】Stripe API
【言語】Node.js
上記APIを使用して、クレジットカード決済を実行する最小限のサンプルコードを作成してください。
- 非同期処理(async/await)を使用すること
- 必須パラメータは
tokenとamountとする- エラーハンドリングを含めること
【フェーズ4】コードレビュー・リファクタリング
書いたコードの品質を高めるフェーズです。自分では気づかないバグや、可読性の低いコードを指摘してもらいましょう。
コードの改善点レビュー
AIを「辛口のレビュアー」に設定し、容赦ない指摘をもらいます。
命令書
あなたはGoogleのコーディング規約に精通したシニアエンジニアです。以下のコードをレビューし、改善点を3点挙げてください。
レビューの観点
- パフォーマンス(計算量など)
- 可読性と保守性
- セキュリティ上の脆弱性
- 変数名の命名規則
対象コード
(ここにコードを貼り付け)
リファクタリング(コードの整理)
動作を変えずに、コードをきれいに書き直させます。
命令書
以下のコードは動作しますが、ネストが深く可読性が低いです。
早期リターン(Early Return)パターンを使用して、読みやすくリファクタリングしてください。また、各処理に適切なコメントを追加してください。
対象コード
(ここにコードを貼り付け)
セキュリティチェック
SQLインジェクションやXSS(クロスサイトスクリプティング)などの脆弱性がないか確認します。
命令書
以下のコードに、セキュリティ上の脆弱性(OWASP Top 10に基づく)が含まれていないか診断してください。もし脆弱性がある場合は、具体的な修正案と修正後のコードを提示してください。
対象コード
(ここにコードを貼り付け)
【フェーズ5】テスト・デバッグ・エラー解決
開発時間の多くを占める「なぜ動かない?」を解消するためのプロンプトです。
単体テストコードの生成
面倒なテストコードの作成を自動化します。
命令書
【テストフレームワーク】Jest (TypeScript)
以下の関数に対する単体テストコードを作成してください。
正常系だけでなく、異常系(nullが渡された場合など)や境界値のテストケースを網羅してください。
テスト対象関数
(ここにコードを貼り付け)
エラーログの解析
意味不明なエラーメッセージを貼り付けて、原因と解決策を聞きます。
命令書
以下のエラーログが発生しました。
原因として考えられる可能性を高い順に3つ挙げ、それぞれの解決策を提示してください。初心者にもわかるように、どのファイルをどう修正すべきか具体的に教えてください。
環境
- React 18
- Next.js 14
エラーログ
(ここにエラーログを貼り付け)
コードの解説(理解補助)
他人が書いた複雑なコードや、レガシーコードの意味を解説させます。
命令書
以下のコードの処理フローを、非エンジニアでもわかるようにステップバイステップで解説してください。
特に、map関数の中で何が行われているか詳しく説明してください。
対象コード
(ここにコードを貼り付け)
【フェーズ6】ドキュメント作成・その他
最後は、エンジニアが最も後回しにしがちなドキュメント作成です。
README.mdの作成
リポジトリの顔となるREADMEを作成します。
命令書
以下のソースコードとプロジェクト概要に基づき、GitHub用の
README.mdを作成してください。構成要素
- プロジェクトタイトルと概要
- インストール方法(コマンド)
- 使い方(Usage)
- 技術スタックのバッジ
- ライセンス情報
プロジェクト概要
(概要を記述)
コミットメッセージの生成
変更内容から、適切なコミットメッセージを提案させます。
命令書
以下の
git diffの内容に基づいて、Conventional Commitsの記法(例:feat:,fix:,docs:)に従ったコミットメッセージを3つ提案してください。変更内容
(diffまたは変更箇所の説明を貼り付け)
変数名・関数名の命名
名前付けに迷った時のアイデア出しです。
命令書
「ユーザーが最後にログインした日時を保持する変数」の英語での命名案を5つ挙げてください。
条件
- キャメルケースを使用
- boolean型ではなくDate型であることがわかるように
- 略語は避ける
使い方のコツ:AIを「育てる」意識を持つ
ここまで多数のテンプレートを紹介してきましたが、一度で完璧な回答が返ってこないこともあります。その場合は、以下のように追加で指示を出して調整してください。
- 「もう少し行数を減らして簡潔に書いて」
- 「初心者向けにコメントを多めに入れて」
- 「ライブラリXは使わずに、標準ライブラリだけで実装して」
AIとの対話は、キャッチボールです。最初のプロンプトは「第一球」に過ぎません。返ってきたコードを実行し、エラーが出たらそのエラーをまたAIに投げる。このサイクルを回すことで、開発効率は加速度的に向上します。
まとめ
本記事では、開発現場ですぐに使えるプロンプトテンプレートを紹介しました。
これらは単なる「時短テクニック」ではありません。AIにコーディングの「作業」部分を任せることで、私たちエンジニアは「どのようなアーキテクチャにするか」「ユーザーにどんな価値を提供するか」といった、より本質的でクリエイティブな業務に集中できるようになります。
まずは、次に書く関数の実装から、これらのプロンプトを試してみてください。「あ、これなら楽だわ」と感じた瞬間、あなたのエンジニアとしての働き方は大きく変わり始めているはずです。