OpenAIのモデルから意図通りの出力を引き出すには、適切なプロンプト設計が不可欠です。
この記事では、公式ドキュメントで示されている効果的なプロンプト作成のベストプラクティスを解説します。
前半の7つのコツは指示文の作り方、後半のパラメータはOpenAI APIを利用する開発者向けの説明です。
ChatGPTで文章を依頼する場合は、まず目的・材料・出力形式を指定し、APIの設定名をそのまま入力すれば設定が変わるとは考えないでください。
なぜプロンプトエンジニアリングが重要なのか
OpenAIのモデルは学習データや対話形式の構造に基づいて応答を生成するため、プロンプトの指示方法によって回答の精度が左右されます。
指示の形式や背景情報を明確に与えることで、誤認を防ぎ、目的に合った実用的な回答を得やすくなります。
実践的なテクニック
具体的な改善例を交えて解説します。
例の{テキスト}や{確認済みの説明文}は、実際に処理したい文章へ置き換えてから送信します。
まず短い文章で試し、指定した形式と長さになっているか、材料にない内容を加えていないかを確認してください。
直したい点を1つずつ指示へ加え、同じ材料で出力を比べます。
1. 用途に合うモデルを選び、結果を比較する
新しいモデルを候補にしつつ、必要な正確さ、応答時間、費用、利用できる機能を比較します。新しいという理由だけで、すべての作業に最適とは限りません。
代表的な入力で回答を確かめ、用途に合うモデルを選びます。
モデルによって、推論の設定や推奨される指示の書き方は異なります。利用するモデルの公式ガイドに合わせ、モデルを変更したときも同じ入力で結果を比較してください。
2. 指示とコンテキストを明確に分離する
区切り文字(###や""")を用いて、指示部分と処理対象のテキストを構造的に明確化します。
改善前:
以下のテキストを要約してください。
{テキスト}改善後:
以下のテキストを箇条書きで要約してください。
Text: """
{テキスト}
"""3. 具体的かつ詳細に記述する
曖昧な表現を避け、求める出力の長さ・形式・トーンを明確に指定します。
改善前:
OpenAIについて詩を書いてください。改善後:
次の資料に書かれた画像生成機能を題材に、4行の短い詩を書いてください。
専門用語を避け、明るい語調にしてください。資料にない製品名や機能は加えないでください。
資料:{確認済みの説明文}4. 出力形式を例示する
期待する出力形式を具体例(フォーマット)で提示することで、出力の形をそろえやすくなります。ただし、例を示すだけで形式の遵守を保証できるわけではありません。APIで厳密な構造が必要な場合は、対応モデルのStructured Outputsと、受け取った値の検証を組み合わせます。
テキストから重要なエンティティを抽出してください。
出力形式:
会社名: <カンマ区切りリスト>
人物名: <カンマ区切りリスト>
トピック: <カンマ区切りリスト>
テーマ: <カンマ区切りリスト>
Text: {テキスト}5. 段階的にアプローチする
まずは具体例を含まないゼロショットで指示を出し、期待通りの結果が得られない場合は数件の具体例を与えるフューショット(Few-shot)を試します。
元の案内にある微調整(fine-tuning)は、追加の指示文とは別のモデル学習工程です。
ゼロショット:
以下のテキストからキーワードを抽出してください。
Text: {テキスト}
Keywords:具体例を1件示す場合:
以下のテキストからキーワードを抽出してください。
Text 1: Stripeは決済処理をウェブサイトに統合するAPIを提供しています。
Keywords 1: Stripe, 決済処理, API, ウェブサイト
##
Text 2: {テキスト}
Keywords 2:6. 禁止事項に加えて代わりの行動を伝える
禁止事項に加えて、代わりに何をするかを具体的に伝えます。必要な禁止事項まで省く必要はありません。
改善前:
ユーザー名やパスワードを聞かないでください。改善後:
個人情報に関する質問は避け、代わりにヘルプページ(www.example.com/help)を案内してください。7. コードの言語・処理・出力条件を指定する
importやSELECTのようなコードの開始キーワードをあらかじめ提示する方法は、元の公式記事にある例です。ChatGPTでは、まず言語、入力と出力、必要な処理、説明文を付けるかを指定します。先頭の単語だけで正しいコードが生成されるとは限りません。
Pythonで miles_to_km(miles) 関数を作成してください。
入力は0以上の数値、出力はキロメートルの数値です。
1マイル = 1.609344キロメートルとして計算し、外部ライブラリは使いません。
関数と、0・1・10マイルの確認例をコードブロックで示してください。API利用時の主要パラメータ
以下はChat Completions APIのパラメータ例で、利用できる項目はモデルやAPIによって異なります。
送信前に、利用するモデルの対応項目を公式APIリファレンスで確認してください。
- model: 利用するモデルの指定。品質・費用・応答時間はモデルと作業によって異なるため、代表例で比較する
- temperature: 対応モデルで出力のランダムさを調整する値。低い値は出力のばらつきを抑える方向に働くが、完全一致を保証する設定ではない
- max_completion_tokens: 表示される出力と推論トークンを含めた生成量の上限。指定値と回答の文字数は一致しない
- stop: 対応モデルで、指定した文字列を終了の目印にする項目。すべての推論モデルで使えるわけではない
低いtemperatureは、事実の正しさを保証するものではありません。
事実確認では出典と回答を照合し、データ抽出では必要な項目がそろっているかを確認します。
同じ入力で毎回完全に同じ回答が返るとは限らないため、複数の代表例で出力を確かめてください。
この節は2026年10月8日に公式のテキスト生成ガイドとAPIリファレンスを確認して訂正した説明で、新たなAPI実行による比較結果ではありません。
関連するコード資料は、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。
AIの使い方の記事は、ほかにもあります。




まとめ
目的・材料・出力形式を明確にし、実際の回答が要件を満たすかを確認しながら指示を調整します。
まずは紹介した7つのポイントを意識してプロンプトを作成してみてください。
公式資料を読むときの注意
- 公式資料に登場するPlaygroundとChatGPTでは、利用できる画面や設定が異なります。指示文の例と、特定の画面で使う機能を分けて読んでください。
- APIのパラメータは指示文とは別に指定します。利用するAPIとモデルのリファレンスで対応項目を確認してください。
よくある質問:OpenAIのプロンプトエンジニアリング
この記事のコツは、ChatGPTで文章を頼むときにも使えますか?
前半の7つのコツは指示文の作り方で、後半のパラメータはOpenAI APIを使う開発者向けの説明だと整理しています。
ChatGPTで文章を頼む場合は、まず目的・材料・出力形式を指定します。
APIの設定名をそのまま入力すれば設定が変わる、とは考えないでください。
プロンプトの精度が、なぜ回答の質を左右するのですか?
OpenAIのモデルは、学習データや対話形式の構造に基づいて応答を生成するため、プロンプトの指示方法によって回答の精度が左右されます。
指示の形式や背景情報を明確に与えることで、誤認を防ぎ、目的に合った実用的な回答を得やすくなります。
指示と、処理してほしい文章は、どう分ければよいですか?
区切り文字(###や""")を使って、指示部分と処理対象のテキストを構造的に分けます。
記事に、改善前と改善後の例が載っています。
「具体的に書く」とは、何を書けばよいのですか?
曖昧な表現を避け、求める出力の長さ・形式・トーンを明確に指定します。
期待する形式を具体例で示すと、出力をそろえやすくなります。形式や値の正しさは別途確認し、APIで厳密な構造が必要なら対応モデルのStructured Outputsを検討します。
ゼロショットとフューショットは、どう使い分けますか?
まず具体例を含まないゼロショットで指示を出し、期待通りの結果が得られない場合に、数件の具体例を与えるフューショット(Few-shot)を試す、という順序を紹介しています。
元の案内にある微調整(fine-tuning)は、追加の指示文とは別のモデル学習工程です。
「〜しないでください」と書くのは、避けたほうがよいですか?
必要な禁止事項は残し、その代わりに何をするかも具体的に伝えます。
コード生成では、言語・入力と出力・処理内容・説明文の要否を指定し、生成されたコードを確認用の入力で試します。importやSELECTだけを示しても、正しさは保証されません。
temperatureを下げれば、毎回同じ正しい回答になりますか?
なりません。
低いtemperatureは出力のばらつきを抑える方向に働きますが、完全一致を保証する設定ではなく、事実の正しさを保証するものでもないと説明しています。
事実確認では出典と回答を照合し、データ抽出では必要な項目がそろっているかを確認し、複数の代表例で出力を確かめてください。
APIのパラメータは、どのモデルでも同じように使えますか? 記事の内容は今も最新ですか?
記事のパラメータはChat Completions APIの例で、利用できる項目はモデルやAPIによって異なります。
stopのように、すべての推論モデルで使えるとは限らない項目もあります。
この節は2026年10月8日に公式のテキスト生成ガイドとAPIリファレンスを確認した内容で、仕様は変わることがあるため、送信前に利用するモデルの対応項目を公式APIリファレンスで確認してください。
