エンジニアやプロジェクトマネージャーの皆さん、日々の開発業務で「時間が足りない」「もっと効率的にコードを書きたい」と感じることはありませんか。
AI技術の進化は、まさに開発現場に産業革命をもたらしています。特にChatGPTやClaudeといった生成AIは、単なるチャットボットではなく、優秀な「ペアプログラマー」であり、疲れを知らない「アシスタント」です。
しかし、AIの性能を最大限に引き出すには、適切な指示、つまり「プロンプト」が不可欠です。指示の出し方一つで、AIは天才エンジニアにも、的外れな回答をする新人にもなります。
この記事では、要件定義から設計、実装、テスト、そしてドキュメント作成に至るまで、開発ライフサイクルのあらゆる場面ですぐに使える実用的なプロンプトを厳選しました。これらを活用すれば、これまで3日かかっていた作業が数時間で終わることも夢ではありません。
さあ、AIという最強の武器を手に、開発のスピードと品質を劇的に向上させましょう。
第1章:AI開発活用の基礎知識とプロンプトのコツ
具体的なプロンプト集に入る前に、AIから最高のアウトプットを引き出すための基本を押さえておきましょう。
AIを優秀な同僚にする「役割定義」
AIに対して「あなたはGoogleのシニアエンジニアです」や「熟練のセキュリティスペシャリストとして振る舞ってください」と役割(ペルソナ)を与えることで、回答の精度と専門性が格段に上がります。
明確な「制約条件」を与える
ただ「コードを書いて」と頼むのではなく、以下のような制約を加えることが重要です。
- 使用する言語やフレームワーク(例:React、Python 3.10以降)
- 命名規則(例:キャメルケース、スネークケース)
- 禁止事項(例:外部ライブラリは使用しない)
- エラーハンドリングの有無
これから紹介するプロンプトは、これらの要素を組み込んだ実践的なものです。状況に合わせて[ ]の部分を書き換えてコピペしてください。
第2章:要件定義・アイデア出し(Planning)
開発の初期段階、何を作るか、どう作るかを決めるフェーズで使えるプロンプトです。PM(プロジェクトマネージャー)やディレクターにもおすすめです。
新規アプリのアイデア壁打ち
開発の方向性が定まっていない時、AIは最高のブレインストーミング相手になります。
- プロのプロダクトマネージャーとして振る舞ってください。
[ターゲットユーザー:20代の社会人]向けの[ジャンル:タスク管理]アプリのアイデアを10個提案してください。市場の競合と差別化できるユニークな機能を重視してください。
[アプリの概要]というアプリを開発しようとしています。このアプリに必要な主要機能のリスト(Feature List)を作成してください。MVP(必要最小限の機能)としてリリースすべき機能には「必須」とマークしてください。
[解決したい課題]を解決するためのWebサービスのコンセプトを考えています。リーンキャンバスの形式(課題、顧客セグメント、独自の価値提案、解決策など)で出力してください。
ユーザー要件の具体化
[機能名:ログイン機能]のユーザーカレインストーリー(User Story)を5つ作成してください。「ユーザーは〜できる、なぜなら〜だからだ」という形式で記述してください。
- 以下の
[要件概要]に基づき、開発チームに渡すための詳細な要件定義書のドラフトを作成してください。機能要件と非機能要件(セキュリティ、パフォーマンスなど)に分けて記述してください。
- このサービスのターゲットペルソナを3人設定してください。それぞれの名前、年齢、職業、ITリテラシー、抱えている悩み、このサービスを使う動機を詳細に描写してください。
[機能]を実装する際のユースケースを、正常系だけでなく、異常系(エラー発生時など)も含めて網羅的にリストアップしてください。
データベース・システム設計
[アプリの種類:ECサイト]を作成します。必要なデータベースのテーブル設計を行ってください。各テーブルのカラム名、データ型、外部キー制約、インデックスを貼るべきカラムを提示し、Mermaid記法でER図のコードも出力してください。
- AWSを使用して
[アプリの要件]を満たすシステムアーキテクチャ図を設計してください。スケーラビリティとコスト効率を重視し、使用するサービス(EC2, RDS, S3, Lambdaなど)とその役割を解説してください。
[言語:Go]と[フレームワーク:Gin]を使用したRESTful APIの設計を行います。[リソース名:User]に関するCRUD操作(作成、読み取り、更新、削除)のエンドポイント定義、リクエスト/レスポンスのJSON構造を定義してください。
第3章:コーディング・実装(Implementation)
エンジニアにとって最も時間を費やす実装フェーズ。ここでは、単なるコード生成だけでなく、品質を高めるためのプロンプトを紹介します。
基本的なコード生成
[言語:Python]で、[タスク:CSVファイルを読み込んで特定の列を集計する]スクリプトを作成してください。エラーハンドリングを含め、コードには詳細なコメントを付けてください。
[言語:JavaScript]で、[機能:メールアドレスのバリデーション]を行う関数を作成してください。正規表現を使用し、一般的なエッジケース(ドメインなし、@なしなど)を考慮してください。
[フレームワーク:React]を使用して、[コンポーネント:再利用可能なボタンコンポーネント]を作成してください。Propsで色、サイズ、ラベル、クリック時のイベントハンドラを受け取れるようにしてください。Tailwind CSSでスタイリングしてください。
- HTMLとCSSを使用して、レスポンシブな
[UIパーツ:ナビゲーションバー]を作成してください。スマホ表示時はハンバーガーメニューになるように実装してください。
アルゴリズムとロジック
[言語:C++]で、[問題:クイックソート]のアルゴリズムを実装してください。時間計算量と空間計算量についても解説してください。
- 2つの日付(文字列形式)を受け取り、その日数の差分を計算する関数を
[言語:PHP]で書いてください。うるう年やタイムゾーンを考慮する必要があります。
- 配列内の重複した要素を削除し、ソートして返す関数を
[言語:Ruby]で可能な限り短く、効率的に書いてください。
正規表現(Regex)の生成
正規表現は人間が書くには複雑すぎることがあります。AIに任せるのが正解です。
- 日本の携帯電話番号(ハイフンあり・なし両対応)にマッチする正規表現を作成してください。
- パスワードの強度チェックを行う正規表現を作ってください。条件は「8文字以上、大文字・小文字・数字・記号をそれぞれ1つ以上含む」です。
- 文字列からHTMLタグをすべて除去するための正規表現と、それを使用する
[言語:Java]のコードを提示してください。
SQLクエリの作成
[テーブル名:orders]から、月ごとの売上合計を計算し、売上が高い順に並べるSQLクエリを作成してください。方言はPostgreSQLです。
[テーブルA]と[テーブルB]を内部結合し、[条件]に一致するレコードを抽出するクエリを書いてください。パフォーマンスを考慮して必要なインデックスについても助言してください。
- 複雑なネストされたJSONデータを含むカラムから、特定のキーの値を抽出するSQLクエリを書いてください(BigQuery向け)。
第4章:デバッグ・リファクタリング・レビュー
書いたコードが動かない、汚い、遅い。そんな時に役立つプロンプトです。
エラーの原因特定
エラーログをそのまま貼り付けるのが最も効果的です。
- 以下のエラーが発生しました。原因と修正方法を教えてください。[エラーログをここに貼り付け][関連するコードをここに貼り付け]
- このコードを実行すると
[具体的な不具合:画面が真っ白になる]という問題が起きます。コードのロジックから考えられる原因を3つ挙げてください。
コードの最適化・リファクタリング
「リファクタリング」とは、外から見た挙動を変えずに、中身のコードを整理・改善することです。
- 以下のコードは動作しますが、可読性が低いです。Clean Codeの原則に従って、変数名の変更や関数の分割を行い、読みやすくリファクタリングしてください。[コード貼り付け]
- このコードのパフォーマンスを改善してください。計算量を減らす、またはメモリ使用量を抑えるための具体的な修正案をコードで示してください。[コード貼り付け]
- この
[言語:Python]のコードを、より現代的な書き方(Pythonicな書き方)に修正してください。リスト内包表記やジェネレータなどが使える場合は積極的に採用してください。
セキュリティチェック
- シニアセキュリティエンジニアとして、以下のコードにセキュリティ上の脆弱性(SQLインジェクション、XSSなど)がないかレビューしてください。問題がある場合は修正コードを提示してください。[コード貼り付け]
- ユーザーの入力データを受け取るこの処理において、サニタイズ(無害化)が不十分な箇所を指摘してください。
第5章:テストコード・ドキュメント作成
エンジニアが「面倒だ」と感じがちな作業こそ、AIの得意分野です。
テストコードの自動生成
- 以下の関数に対するユニットテスト(単体テスト)を作成してください。テストフレームワークは[Jest/Pytest/RSpecなど]を使用してください。正常系だけでなく、境界値分析を用いた異常系のテストケースも網羅してください。[テスト対象のコード]
- このAPIエンドポイントに対する結合テストのシナリオを作成してください。リクエストパラメータのバリデーションエラーのパターンも含めてください。
- E2Eテストツールの
[Cypress/Playwright]を使用して、ログインから商品購入までの一連の流れをテストするスクリプトを作成してください。
ドキュメント・コメント作成
- 以下のコードの機能を説明するドキュメンテーションコメント(JSDoc/Docstring形式)を作成してください。引数、戻り値、例外について詳しく記述してください。
- このプロジェクトのREADME.mdを作成してください。以下の情報を含めてください:プロジェクトの概要、インストール手順、使い方の例、貢献のガイドライン。[プロジェクト概要などのメモ]
- 非エンジニアのクライアント向けに、この機能の仕様書を作成してください。専門用語は使わず、平易な言葉で「何ができる機能なのか」を説明してください。
- 以下の複雑なSQLクエリが何をしているのか、一行ずつ日本語で解説してください。
第6章:学習・スキルアップ・言語変換
新しい技術のキャッチアップや、未経験の言語での開発をサポートするプロンプトです。
概念の理解
- 「Docker」と「Kubernetes」の違いについて、IT初心者の小学生でもわかるように、身近なもの(例:お弁当箱、港、配送センターなど)に例えて解説してください。
[概念:非同期処理]について、メリットとデメリット、具体的な使用例を挙げて説明してください。
- Reactの
useEffectフックの正しい使い方と、よくある間違い(無限ループなど)について解説してください。
プログラミング言語の変換(トランスパイル)
- 以下の[Java]で書かれたコードを、同等の機能を持つ[Python]のコードに書き換えてください。言語特有のイディオム(慣用句)を使用して最適化してください。[コード貼り付け]
- このjQueryを使用したコードを、ライブラリを使用しない純粋なJavaScript(Vanilla JS)に書き換えてください。
第7章:実務で使える「短い」便利プロンプト集(43〜100)
ここからは、日々の細かいタスクを瞬殺するためのショートプロンプトを一挙に紹介します。状況に合わせて使い分けてください。
コマンドライン・Git操作
- 「直前のコミットメッセージを修正するGitコマンドを教えて」
- 「特定のファイルだけを前のコミットの状態に戻すGitコマンドは?」
- 「リモートブランチをローカルに追跡しながらチェックアウトするコマンド」
- 「Linuxで特定のポート(例:8080)を使っているプロセスを特定し、強制終了するコマンド」
- 「大量のログファイルから、”Error”という文字列を含む行だけを抽出して新しいファイルに保存するgrepコマンド」
- 「Dockerコンテナ内のシェルにログインするコマンド」
- 「現在いるディレクトリ以下のファイルサイズ合計を表示するコマンド」
- 「SSH鍵を生成して、公開鍵をクリップボードにコピーするまでの手順」
Excel・スプレッドシート・データ処理
- 「Excelで、A列とB列の値が同じなら”OK”、違うなら”NG”と表示する数式」
- 「VLOOKUP関数で#N/Aエラーが出た時に、”データなし”と表示させる方法」
- 「スプレッドシートで、重複した行をハイライトする条件付き書式のルール」
- 「Google Apps Script(GAS)で、毎日決まった時間にSlackにメッセージを送るスクリプト」
- 「CSVデータをJSON形式に変換するPythonワンライナー」
- 「ランダムなダミーデータ(名前、メアド、電話番号)を100件生成してCSV形式で出力して」
テキスト処理・整形
- 「以下のJSONデータを、人間が読みやすいようにインデントをつけて整形して」
- 「この変数名リストを、すべてスネークケースからキャメルケースに変換して」
- 「以下の箇条書きテキストを、HTMLの
<ul><li>タグ形式に変換して」 - 「この英語のエラーメッセージを日本語に翻訳し、対処法を3行で要約して」
- 「Markdown形式の表を、CSV形式に変換して」
デザイン・CSS
- 「Flexboxを使って要素を上下左右中央揃えにするCSSコード」
- 「CSS Gridを使って、3カラムのカードレイアウトを作成するコード」
- 「モダンで目に優しい配色のカラーパレットを3パターン提案して(HEXコード付き)」
- 「ボタンにマウスを乗せた時に、ふわっと浮き上がるようなアニメーションのCSS」
- 「モバイルファーストでレスポンシブ対応するためのCSSメディアクエリのテンプレート」
- 「背景画像の上に文字を載せる際、文字を読みやすくするためのCSSテクニック(オーバーレイなど)」
ショートカット・ツール活用
- 「VS Codeで、同じ単語を一度に全選択して編集するショートカット(Mac/Win)」
- 「Chromeのデベロッパーツールで、スマホ表示をシミュレーションする方法」
- 「Macでスクリーンショットを撮って、すぐにクリップボードに保存するショートカット」
- 「VS Codeのおすすめ拡張機能トップ5(Web開発向け)を教えて」
メンタル・仕事術
- 「ポモドーロ・テクニックを使って開発に集中するための、25分の作業用プレイリストのジャンルを提案して」
- 「解決できないバグにハマってイライラしています。エンジニア向けの気分転換方法を教えて」
- 「技術的負債が増えていく状況を、上司に分かりやすく説明してリファクタリングの時間を確保するための説得文面」
その他、特定の技術スタック向け
- (Python) 「
requirements.txtを作成するコマンド」 - (Python) 「
virtualenvで仮想環境を作成し、有効化する手順」 - (JavaScript) 「
map、filter、reduceの違いと使い分けをコード例で示して」 - (JavaScript) 「非同期処理の
Promiseとasync/awaitの書き換え例」 - (React) 「
useStateで配列を更新する際の注意点と正しいコード」 - (Vue) 「Vue 2からVue 3への移行で気をつけるべき主な変更点」
- (SQL) 「
GROUP BYとHAVING句の使い方の違い」 - (SQL) 「テーブル定義を変更せずにデータをバックアップするクエリ」
- (AWS) 「S3バケットを公開設定にする際のJSONポリシー例」
- (Git) 「
.gitignoreファイルに含めるべき一般的な除外ファイルリスト(Node.jsプロジェクト用)」 - (Docker) 「軽量なPython環境を作るためのDockerfileのベストプラクティス」
バグ報告・コミュニケーション
- 「GitHubのIssueテンプレート(バグ報告用)を作成して。再現手順、環境、期待値などの項目を含めて」
- 「プルリクエスト(PR)の説明文テンプレート。レビュアーが見るべきポイントを明確にする構成で」
- 「チャットでエンジニアに質問する際の、回答しやすい質問のテンプレート(何をしたか、どうなったか等)」
- 「仕様変更により納期が遅れることをクライアントに伝える丁寧なメール文面」
応用・発展
- 「このコードをクラスベースから関数型プログラミングのスタイルに書き換えて」
- 「SOLID原則(単一責任、開放閉鎖など)のうち、このコードが違反している原則はある?」
- 「マイクロサービスアーキテクチャを採用するメリットとデメリットを、モノリシックと比較して表にまとめて」
- 「SPA(シングルページアプリケーション)とSSR(サーバーサイドレンダリング)の使い分け基準は?」
- 「OAuth 2.0の認証フローをシーケンス図(Mermaid記法)で描いて」
- 「GraphQLとREST APIのどちらを採用すべきか、判断基準をリストアップして」
最後に笑ってリラックス
- 「プログラマーあるあるジョークを1つ教えて」
- 「バグが直ったと思ったら別のバグが出た時の気持ちを俳句で詠んで」
- 「AIが世界を支配したら、プログラマーの仕事はどうなると予測する?SF風に語って」
- 「徹夜続きのエンジニアを励ます、松岡修造風のメッセージを書いて」
- 「『Hello World』をプログラミング言語を使わずに、詩的に表現して」
注意点:AIプロンプトを使用する際のリスク管理
プロンプトは魔法の杖ですが、使い方を誤ると火傷をします。以下の3点は必ず守ってください。
- 機密情報は絶対に入力しない
- APIキー、パスワード、顧客の個人情報、社外秘のプロジェクトコードなどをそのままChatGPTに入力してはいけません。ダミーデータ(例:「hogehoge」や「000-0000-0000」)に置き換えてから入力しましょう。
- 出力されたコードは必ず検証する
- AIは堂々と嘘をつくことがあります(ハルシネーション)。生成されたコードは必ず自分で読み、テスト環境で動作確認を行ってから本番環境に適用してください。特にセキュリティ関連のコードは要注意です。
- 著作権への配慮
- 生成されたコードが既存のオープンソースソフトウェアのライセンスを侵害していないか、念のため注意を払う必要があります(現状ではグレーゾーンも多いですが、大規模なコードブロックの生成には慎重になりましょう)。
まとめ:プロンプトエンジニアリングで「開発」を再定義しよう
今回紹介した100個のプロンプト(およびその応用)は、あなたの開発者としての能力を拡張するツールです。
これらをコピペして使いこなすだけで、コーディングの速度が上がるだけでなく、設計の品質が上がり、ドキュメント作成のストレスから解放されます。空いた時間は、よりクリエイティブな「どのような価値をユーザーに届けるか」という思考に使うことができます。
AIは、あなたの仕事を奪う敵ではありません。最強のパートナーです。
まずは今日、気になったプロンプトを1つ試してみてください。その一歩が、あなたのエンジニアライフを劇的に変えるはずです。