プロンプトエンジニアリングは、生成AIから正確に欲しい結果を得るための明確な指示を作成する技術です。開発者である必要はありません。この10の技法を使えば、曖昧なプロンプトを正確な指示に変え、実際に使える結果を得られます。リクエストの構造化、有用なコンテキストの提供、AIを必要な答えへ導く方法を学びます。これらの方法はClaude、ChatGPT、Gemini、そして現在のすべての言語モデルで機能します。
ロール技法:AIに役割を与える
AIに特定の役割を与えると、Anthropicの研究によると回答の関連性が40%向上します。 AIに特定の分野の専門家として行動するよう求めると、語彙、詳細レベル、参考資料を調整します。
「SEOについて説明してください」と書く代わりに、「あなたは小規模企業と協力するSEOコンサルタントです。初めてオンラインストアを開いた人にSEOを説明してください」と書きます。
違いは何でしょうか?最初のバージョンはWikipediaから引き出した一般的な定義を与えます。2番目のバージョンは、商品ページを最適化する方法、キーワードを選択する方法、ページを構造化する方法を実践的に説明します。
最も効果的なロールは具体的です:「データサイエンス専門のシニアPython開発者」、「高校物理の教師」、「起業家向けの時間管理コーチ」。ロールが詳しいほど、回答はあなたのニーズに合致します。
「専門家」や「プロフェッショナル」のような曖昧なロールは避けてください。分野、専門知識レベル、関連する場合はターゲットオーディエンスを明確にしてください。
構造化されたコンテキスト:重要な情報を提供する
コンテキストを明確に識別されたセクションに構造化すると、得られる回答の品質が3倍になります。 AIはあなたが誰で、何をしていて、何を達成したいのかを知る必要があり、適切な回答を提供します。
良い構造化されたコンテキストは次のようなものです:
現在の状況: 初心者向けのコード学習ポッドキャストを立ち上げています。 制約: 予算が限られており、オーディオの経験がありません。 目標: 各15分の10エピソードを作成します。 ターゲットオーディエンス: コードを学んだことのない転職中の成人。
この構造により、AIはあなたのレベル、制限、期待を理解できます。プロフェッショナル機器や数年の経験があると想定する一般的な回答を避けます。
最も有用なセクションは:現在の状況、具体的な目標、制約(時間、予算、スキル)、ターゲットオーディエンス、期待される形式です。毎回すべてを含める必要はなく、実際に回答を変える場合のみです。
コンテキストを提供するときは、事実に基づいてください。「Pythonを始めたばかりです」は「プログラミングが苦手です」より有用です。AIは判断よりも事実に適応します。
具体的な例:欲しい結果を示す
期待される結果の2~3の例を提供すると、やり取りが60%削減されます。 欲しいものを説明する代わりに、直接示します。
AIにブログ記事のタイトルを生成させたい場合、好きなタイトルの例を与えます:
「これらのタイトルがうまく機能しています:
- Pythonを30日で学ぶ方法(ゼロから始めても)
- JavaScriptの初心者をブロックする7つの間違い
- 最初のサイトを作りたいですか?これから始めてください
コード学習に関する記事のこのスタイルで10個のタイトルを生成してください。」
例はトーン、長さ、構造、形式の明確なモデルを提供します。AIは各基準を説明する必要なく、あなたに何が機能するかを理解します。
この技法は特に以下に効果的です:タイトル、導入文、商品説明、メール、ソーシャルメディア投稿。スタイルが内容と同じくらい重要な場所。
多様な例を選んで、受け入れられるものの範囲を示してください。すべての例が同じ場合、AIはわずかなバリエーションでそれらをコピーするだけです。
形式制約:出力構造を定義する
出力形式を正確に指定すると、回答の利用可能性が75%向上します。 情報をどのように受け取りたいかを正確に言うと、再フォーマットの時間を節約できます。
「Pythonの利点をリストアップしてください」と言う代わりに、以下を要求します:
「初心者向けのPythonの5つの主な利点をリストアップしてください。形式:
- 利点 :1文での説明
- 具体例 :実際の使用例
- 対象者 :適切なプロジェクトタイプ」
構造化された、読みやすく、ドキュメント、プレゼンテーション、記事で直接使用できる回答を取得します。
最も要求される形式:箇条書きリスト、比較表、構造化データ用JSON、記事用マークダウン、チュートリアル用の番号付きステップ。
表の場合は、必要な列を指定してください。リストの場合は、サブポイントが必要かどうかを示してください。ステップの場合は、推定時間または難易度を指定してください。
コードを扱う場合は、フランス語でのコメント、エラー処理、使用例を要求してください。AIはすべてを一度に生成できます。
ステップ分割:複雑なタスクを分割する
複雑なリクエストを3~5の異なるステップに分解すると、結果の一貫性が50%向上します。 AIは1つの大きなタスクより複数の小さなタスクをより良く処理します。
「Webアプリケーションを作成するのを手伝ってください」と言う代わりに、分解します:
「ステップ1:シンプルなTODOリストの必須機能をリストアップしてください。 ステップ2:初心者に最適なテクノロジースタックを選択してください。 ステップ3:プロジェクトのファイル構造を作成してください。 ステップ4:コメント付きの基本的なHTMLコードを生成してください。」
各ステップは次に進む前に検証可能な結果を生成します。最後にすべてやり直す代わりに、途中で軌道修正できます。
このアプローチは特に以下に効果的です:長いコンテンツの作成、アプリケーション開発、プロジェクト計画、新しい概念の学習。
ステップに番号を付け、開始する前にAIが理解したことを確認するよう要求してください。AIに自分でステップ分割を提案するよう求めることもできます。
ネガティブ制約:欲しくないものを言う
2~3のネガティブ制約を追加すると、不適切な回答が45%削減されます。 時々、欲しいものを説明するより、欲しくないものを言う方が効果的です。
コード学習のプロジェクトアイデアを要求するとき:
「初心者向けの5つのPythonプロジェクトを提案してください。 提案しないでください: 電卓、単位変換、推測ゲーム(よく見かけます)。 避けてください: 有料APIが必要なプロジェクトや高度な数学知識が必要なプロジェクト。」
AIはあなたの制限と好みを理解します。とにかく拒否したであろう提案を避けます。
最も有用なネガティブ制約は以下に関するものです:複雑さレベル(「高度な概念なし」)、ツール(「重いフレームワークなし」)、時間(「2時間以内に実現可能」)、予算(「無料ツールのみ」)。
可能な場合は制約を肯定的に表現してください。「標準ライブラリのみを使用してください」は「外部依存関係を使用しないでください」より明確です。
推論リクエスト:AIに声を出して考えさせる
AIに回答する前に推論を説明するよう求めると、OpenAIの研究によると回答の品質が35%向上します。 この技法はAIに思考を構造化するよう強制します。
「最初に学ぶべきプログラミング言語は何ですか?」と言う代わりに、以下を要求します:
「プログラミング言語を推奨する前に、以下を分析してください:
- 初心者に適した言語を作る基準
- 現在の職業的見通し
- 各オプションの学習曲線
その後、理由を述べて最良の選択肢を推奨してください。」
AIは問題を分解し、オプションを検討し、一般的なアドバイスではなく根拠のある回答を提供します。なぜそうなのかだけでなく、何かを理解します。
このアプローチは特に以下に有用です:重要な決定、技術的選択、バグ修正、複雑な概念の理解。
AIに複数のアプローチを比較してから選択するよう求めることもできます。または各オプションの利点と欠点をリストアップするよう求めてください。思考プロセスは結論と同じくらい重要です。
ガイド付き反復:結果を段階的に改善する
2~3の的を絞った反復で結果を改善すると、すべてやり直すより良い結果が得られます。 不完全な最初の回答を拒否する代わりに、本当に欲しいものへAIをガイドします。
最初のリクエスト:「コード学習に関する記事の導入文を書いてください。」
最初の回答を受け取ります。その後:「良いですが、もっと具体的にしてください。誰かが3ヶ月で作成できるプロジェクトの例を追加してください。」
2番目の回答。その後:「完璧です。今、100語以下に短縮して、質問で始めてください。」
各反復は特定の側面を洗練させます:トーン、長さ、例、構造。理想的な結果を段階的に構築します。
最も効果的な改善基準:「より短く」、「より具体的に」、「数字を含めて」、「専門用語なし」、「より直接的に」、「例を含めて」。
会話履歴を保持してください。AIはコンテキストと以前のバージョンを覚えており、各反復がより速く正確になります。
変数とパラメータ:プロンプトを再利用可能にする
変数を持つプロンプトを作成すると、反復的なタスクで70%の時間を節約できます。 1回プロンプトを作成し、何十回も再利用します。
プロンプトテンプレートを作成します:
「あなたは[ロール]です。[タイプ_コンテンツ]を[トピック]について[ターゲット_オーディエンス]向けに作成してください。形式:[形式]。トーン:[トーン]。長さ:[長さ]。」
その後、必要に応じて変数を入力します:
「あなたはプログラミング講師です。Pythonのループに関するチュートリアルを完全な初心者向けに作成してください。形式:コード例を含む番号付きステップ。トーン:教育的で励ましの。長さ:500語。」
ドキュメントに最良のテンプレートを保存し、数秒で適応させます。毎回プロンプトを書き直す必要はありません。
最も有用な変数:ロール、トピック、ターゲットオーディエンス、出力形式、トーン、長さ、特定の制約、従うべき例。
[Skilzy](/)では、この技法を使用して個人化されたコード演習を生成します。テンプレートは同じままで、学習者のレベルに応じてパラメータのみが変わります。
統合検証:AIに自分を修正するよう求める
検証ステップを追加すると、事実上の誤りが40%削減されます。 明示的に求めれば、AIは独自の矛盾を検出できます。
コードを要求した後:
「このコードを検証してください:
- 構文エラーはありますか?
- 変数名は明確ですか?
- エラー処理が不足していますか?
- コードはPythonのベストプラクティスに従っていますか?
見つかった問題をリストアップし、修正されたバージョンを提案してください。」
AIは独自の成果物を批判的に分析し、最初のパスで見落とした可能性のある欠陥を修正します。
この技法は以下に機能します:コード(バグ、最適化)、テキスト(一貫性、スペル)、計算(数字の検証)、論理的推論。
AIに選択肢を正当化するよう求めることもできます:「ここでなぜリストではなく辞書を使用したのですか?」。回答により論理を理解し、悪い決定を検出できます。
重要なタスクについては、異なるアプローチを複数提案し、比較するよう求めてください。AIは3つのソリューションを提案し、それぞれの利点を説明できます。
これらの技法を組み合わせて最適な結果を得る
あなたが発見した10のプロンプトエンジニアリング技法は、組み合わせるとさらに効果的に機能します。ロールを与え、構造化されたコンテキストを提供し、例を示し、出力形式を指定するプロンプトは、すぐに利用可能な結果を生成します。日常的なユースケースで2~3の技法をマスターすることから始め、その後、他の技法を段階的に追加してください。プロンプトエンジニアリングは正確な科学ではありません:テストして調整し、あなたに機能するものを保持してください。プロンプトエンジニアリング完全ガイドでより多くの具体例を見つけ、学習プログラムでこれらの技法を直接練習できます。