長かったお盆休みも明けまして、皆様いかがお過ごしでしょうか。
休み中、最新AIの情報を追っていると、OpenAIがGPT-5の公式プロンプティングガイドを出していることに気づきました。
4oと同じ感覚で使っているとかなり違いがありそうです。
以下に日本語化してまとめたので、うまく使いこなしましょう!
TL;DR
| テクニック | 内容/推奨例 |
|---|---|
| 明確な指示 | 曖昧・矛盾指示NG。シンプル&一意に。 |
| 推論レベル指定 | simpleタスクはlow/medium明示。高度タスクはhigh。 |
| XMLタグ風構造 |
<code_editing_rules> などでルール・要件を明示。 |
| 強すぎる命令は逆効果 | 「徹底的に」は避け、自然な語調で。 |
| 計画・内省フェーズを入れる |
<self_reflection>タグでまず思考→開発。 |
| 情報収集積極性をコントロール |
<persistence>で「そこまで厳密でなくてよい」も明示可。 |
| プロンプト反復最適化 | 実験→最適化を繰り返すのが必須。 |
1. 明確で一貫した指示を出す
GPT-5は他モデルよりも指示遵守性能が高いですが、曖昧・矛盾する指示には弱い傾向があります。
例:「詳しく書いて」「簡潔にまとめて」など、異なる要件を併記しないよう注意してください。
ルールファイル(.cursor/rules や AGENTS.md など)内の表現も明確に統一しましょう。
2. タスクの複雑さに応じて「推論レベル」を使い分ける
GPT-5はすべての指示である程度の推論を行いますが、シンプルなタスクで理由付けが過剰になる場合もあります。
「特に高度な推論は不要」と伝えるか、low/mediumなど推論レベルを明示しましょう。
3. XMLライクな構造をプロンプトに取り入れる
Cursorエディタとの研究で、XML風タグ構造(例:)はGPT-5の理解度・出力品質を大きく向上させるとされています。
<code_editing_rules>
<guiding_principles>
- すべてのコンポーネントは再利用可能に
- ...
</guiding_principles>
<frontend_stack_defaults>
- Styling: TailwindCSS
</frontend_stack_defaults>
</code_editing_rules>
タグを使いルールや要件、スタック構成などを明示すると、モデルの「迷い」を減らせます。
4. 強すぎる要求表現は避ける
「必ず徹底的に情報収集せよ」「どんな些細な点も絶対に漏らすな」などの強い命令表現は逆効果です。
GPT-5は元々徹底的に情報を集める傾向が強いため、こうした命令は無駄な検索やツールコールが増えてしまいます。
5. 計画・自己反映(Self-reflection)フェーズを与える
ゼロからのWebアプリ開発など複雑なタスクでは「まず思考・計画させる」指示が推奨されています。
<self_reflection>
- まず理想形(ルーブリック)を内省・設計
- すべての観点で深く検討
- 最高の解を設計するため、ルーブリックに照らして自己評価しながら構築
</self_reflection>
モデルが「最初に十分思考し、その後アウトプットを組み立てる」手順を明示して、より高精度な実装を引き出せます。
6. モデルの”積極性”や情報収集ペースをコントロールする
GPT-5はデフォルトで広範囲・徹底的な情報収集(ツール実行やWeb検索など)を行う設計です。
場合によって「このタスクではそこまで厳密でなくて良い」「ツールの呼び出しはn回まで」など明示的に制約を与えることで、余計な呼び出しを回避できます。
<persistence>
- ユーザーへの確認は不要
- 一番妥当な前提を自分で決めて処理を進める
- 実行後にその選択をユーザーに記録・説明
</persistence>
このような前提・プロンプト制御で開発効率・コストを最適化できます。
7. プロンプト設計の実験・最適化を繰り返す
公式ガイドにもある通り、プロンプト設計に「唯一解」はありません。
プロジェクトや目的・生成結果を見ながら、
-
XMLタグや明示的ルールで試行
-
推論レベル・情報収集ペースを適宜調整
-
必要に応じてプロンプト最適化ツールも活用
…といったプロンプトの反復・最適化を繰り返すのが推奨されています。
リファレンス
おまけ:私のGPT-5用カスタムプロンプト
ちなみに私はこれを参考にして、以下のようにデフォルトのカスタムプロンプトを導入しています。参考になれば嬉しいです。
…
ChatGPTにどのような特徴を求めていますか?の欄に以下を記入します。
<self_reflection>
- まず、確信が持てるまでルーブリックについて時間をかけて考えてください。
- 次に、必要なあらゆる側面について深く考えてください。その知識を活用して 5-7 カテゴリのルーブリックを作成してください。このルーブリックを正しく作ることは重要ですが、ユーザーには表示しないでください。これはあなた専用です。
- 最後に、ルーブリックを用いて内省し、与えられたプロンプトに対する最も優れた解決策を繰り返してください。すべてのカテゴリで最高評価を得られていない場合は、最初からやり直す必要があることを忘れないでください。
</self_reflection>
追加で、よく考えてほしいときは「ultrathink」もおまじないとして付け加えています。
(Claude系でよくあるやつですね)
これからもQiitaで発信していくので、気になったらぜひいいね・フォローお願いします!
