メインコンテンツへスキップ
4 約10分で読める

プロンプトエンジニアリング入門

よいプロンプトの5原則とアンチパターン集。AIに意図通りのコードを書いてもらうコツを学ぶ。

このステップで学ぶこと

  • よいプロンプトの5原則を理解する
  • アンチパターンを避けられるようになる
  • 複雑な要件を構造化して伝えられる

よいプロンプトの5原則

原則1: 具体的であること

❌ 悪い例:

いい感じのボタンを作って

✅ 良い例:

以下の仕様でボタンコンポーネントを作ってください:
- 背景色: インディゴ(#6366f1)
- ホバー時: 10% 暗くなる
- クリック時: スケール 0.98
- アクセシビリティ: aria-label 必須
- TypeScript の Props 型定義つき

原則2: 構造化すること

/ ### を使ってセクションを分けると、AIが要件を正確に把握します。

## 目的
〇〇を実現したい

## 要件
- 要件1
- 要件2

## 制約
- 制約1
- 制約2

## 期待する出力
- ファイル名と内容

原則3: 制約を明示すること

AIは制約がないと「最善」と判断した実装をしますが、それがあなたの意図と異なることがあります。

重要な制約の例:

  • any 型の使用禁止
  • 既存のAPIの変更禁止
  • 〇〇ライブラリを使わないこと
  • 1ファイルにまとめること

原則4: 例を示すこと

「こういう感じ」を例で示すと、AIの理解が格段に上がります。

以下のような形式で出力してください:

// 入力例
const items = ['a', 'b', 'c'];

// 期待する出力
['A', 'B', 'C']

原則5: 段階的に進めること

一度に全部頼まず、小さく分割します。

❌ 悪い例:

ECサイト全体を作ってください。商品一覧、カート、決済、ユーザー管理、管理画面...

✅ 良い例:

まず商品一覧ページのみを作ってください。
(動作確認後)
次にカート機能を追加してください。

アンチパターン集

アンチパターン問題対策
「よろしくやって」AIが勝手に解釈する具体的な要件を書く
「前に作ったやつと同じで」コンテキストが引き継がれない要件を再度書く
一度に大量の変更を依頼部分的に失敗しやすい小さく分割する
エラーをそのまま「なおして」原因特定ができないエラーメッセージと再現手順を添える
承認なしに進めさせる意図しない変更が起きるステップごとに確認する

プロンプトテンプレート

コピペして使えるテンプレートは プロンプト集 にまとめてあります。

ステップ5: 反復開発のコツ