前回は、「GPT-5」の主な進化を紹介しました。GPT-5の特徴としては、開発者向けのAPIパラメータによって出力の調整が可能になり、プロンプト設計の工夫で応答の精度も高められるようになったことや、エージェント型ワークフローや外部ツールとの連携にも対応したことなどが挙げられます。

今回は、実際にGPT-5を使いながら、その進化した機能や活用方法について説明します。最新モデルの実力を、ゲーム開発のサンプルやAPI連携を通じて確かめていきましょう。

簡単なプロンプトのみでゲームを作ってみる

OpenAIの公式サイトにあるGPT‑5の紹介ページ「GPT-5が登場」には、ゲームアプリの作り方が紹介されています。ここでは、その中で取り上げられている横スクロール型ジャンプゲーム「Jumping Ball Runner」を実際に作ってみましょう。なお、筆者の環境はMacで「ChatGPT Plus」を契約しています。

まず、ChatGPTで以下を入力します。

Create a single-page app in a single HTML file with the following requirements:
- Name: Jumping Ball Runner
- Goal: Jump over obstacles to survive as long as possible.
- Features: Increasing speed, high score tracking, retry button, and funny sounds for actions and events.
- The UI should be colorful, with parallax scrolling backgrounds.
- The characters should look cartoonish and be fun to watch.
- The game should be enjoyable for everyone.

すると、以下のようにコードが生成されます。右上にある「Preview」ボタンを押して実行してみましょう。

  • Jumping Ball Runner

    Jumping Ball Runner

次のようなゲーム画面が表示され、実際にプレイできます。「Stop」ボタンを押すと、停止します。

ゲームを停止した状態で、画面右下のアイコンを押下すると現れる以下のメニューから「Code Review」アイコンをクリックします。

コードレビューが始まり、修正点の提示と反映を行うことができます。

このように、GPT‑5では10行未満のプロンプトを書くだけで、シンプルながらもゲームを実装し、それを動作させる、といったことが可能になっています。さらに、中身のコードをレビューして、修正まで自動的に行えるのです。

プロンプトを改善するためのテクニック

GPT-5には、エージェント型ワークフローに適した機能や推論深度の調整機能があります。プロンプトを工夫することで、出力品質やレイテンシを柔軟にコントロールできるようになりました。

GPT-5を活用する際の推奨プロンプト設計手法を体感するには、GPT-5プロンプトガイドを参考にしながら、さまざまなプロンプトを試してみると良いでしょう。

GPT-5 Prompt Optimizerを使ってプロンプトを最適化する

GPT-5 Prompt Optimizerを使うと、プロンプトの改善内容を提案してくれます。

例えば、「GPT-5について技術レポートを書きたいです。市場、技術動向、スタートアップなどの状況を踏まえて記載してください。」というプロンプトを入力し、「Optimize」ボタンをクリックします。

  • GPT-5 Prompt Optimizer

    GPT-5 Prompt Optimizer

すると以下のように、さまざまな条件を追加した構造的なプロンプトを生成することができます。

エージェント型ワークフローの予測性向上

GPT-3.5やGPT-4で使われていた「Chat Completions API」では、モデルに文脈を理解させるには、プロンプト内に「過去の会話履歴」をすべて含める必要がありました。一方、新たに登場した「Responses API」では「previous_response_id」を指定することで、過去の応答や推論(Chain-of-Thought)を自動的に参照し、再利用することができます。これにより、ツール呼び出しをまたいだコンテキスト共有が可能になり、効率が向上すると共に、一貫性のある推論が実現されます。

「agentic eagerness(自律性)」の調整

GPT-5では、「agentic eagerness(自律性)」を調整することができます。例えば、推論深度を制御するAPIパラメータ「reasoning_effort」の値を「low」や「minimal」に設定し、プロンプト内で「簡潔な説明」「明確なツール指示」「早期終了条件」といった指示を明示することで、無駄な探索を抑えつつ安定した出力を得ることができます。

以下は、推論深度を下げて効率的な応答を得るプロンプトの例です。

あなたはタスク指向のアシスタントです。以下の条件を守ってください。
- 必要最小限の推論のみ行い、無駄な探索や説明は省いてください。
- 指示されたツールのみを使い、計画や進捗を簡潔に説明してください。
- 条件を満たした時点で速やかに終了してください。

質問: 最新の天気情報を取得し、簡潔にまとめてください。

APIパラメータでreasoning_effortをlowやminimalに設定した上で、上記のようなプロンプトを実行すると、応答の安定性やタスク完遂率を高めつつ、レイテンシも短縮できます。

また、ツール呼び出しや外部API連携を含むエージェント型ワークフローでも、計画(目的、ステップの構成など)や終了条件を明示することで、効率的な処理が可能になります。

ツールプレアンブル(tool preamble)の活用

ツール実行の前後に処理の計画や進捗状況をわかりやすく記述した「プレアンブル」を入れることで、複雑なワークフローの見通しがよくなります。

<tool_preambles>
- ユーザーの目的を、ツールを呼び出す前に、親しみやすく、明確で簡潔な言葉で言い換えて始める。  
- その後すぐに、実行する各論理ステップを詳細に説明した構造化された計画を提示する。  
- ファイル編集を実行する際には、各ステップを簡潔かつ順序立てて説明し、進捗を明確に示す。  
- 完了した作業を、最初に提示した計画とは区別してまとめる。  
</tool_preambles>

メタプロンプト(promptの改良補助)

GPT‑5自身に対して「このプロンプトのどこをどう改善すべきか?」を尋ねると、より良いプロンプトへの修正案を得られます。

メタプロンプトのテンプレートとして、Open AIの技術ガイド「OpenAI Cookbook」のGPT-5 prompting guideでは以下が示されています(文面はChatGPTで翻訳したものです)。[PROMPT]には改善したいプロンプトを、[DO DESIRED BEHAVIOR]、[DOES UNDESIRED BEHAVIOR]にはそれぞれ望ましい振る舞いと望ましくない振る舞いを入力します。

プロンプトを最適化するよう求められた場合、自分自身の視点から回答してください。
このプロンプトから望ましい動作をより一貫して引き出すため、または望ましくない動作を防ぐために、どの具体的なフレーズを追加・削除すべきかを説明してください。

⸻

プロンプト: [PROMPT]

このプロンプトで期待される動作は、エージェントが [DO DESIRED BEHAVIOR] を行うことですが、実際には [DOES UNDESIRED BEHAVIOR] をしてしまいます。
既存のプロンプトをできるだけ維持しつつ、これらの問題をより一貫して改善するために、最小限の編集または追加を行うとすればどのようにしますか?

API経由で利用してみる

API経由では、reasoning_effortや新設された「verbosity」などのパラメータによって応答の長さと推論の深さを調整可能です。また、Function Calling機能による外部ツール呼び出しやRAG(Retrieval-Augmented Generation)との連携も安定しています。長文処理では、テキストの分割・要約・再ランキングを経て推論する設計が推奨されており、結果に引用元情報を必須とすることで事実性の担保にもつながります。さらに、ストリーミングAPIも強化されているので、音声アシストやリアルタイムUI更新のような低遅延が求められる用途にも対応が可能です。

GPT-5のAPIの新たなパラメータなどの詳細は、OpenAI CookbookのGPT-5 New Params and Toolsの章を参照してください。

それでは早速、verbosityやreasoning_effortを使ってGPT-5を実行してみましょう。

ターミナルで事前準備として以下を実行します。

pip install --upgrade openai
export OPENAI_API_KEY="あなたのキー"

以下の内容でgpt5.pyを作成します。このスクリプトは、「GPT-5のAPIの新しいインタフェースを教えて」とGPT-5に問い合わせる簡易なpythonコードです。なお、どの程度詳しく応答するかを指定するverbosityには「low」を指定しています。reasoning_effortについては最低レベルの「minimal」も指定できるようになりましたが、外部情報を検索して回答に反映する「web_search_preview」の機能と併用するとエラーとなったため、こちらも「low」にしています。

from openai import OpenAI
client = OpenAI()
result = client.responses.create(
    model="gpt-5",
    input="GPT-5のAPIの新しいインタフェースを教えて",
    tools=[{"type": "web_search_preview"}], # Web検索。なお、reasoning.effortにminimalを指定する場合はコメントアウトする
    reasoning={ "effort": "low" }, # 推論の深さ
    text={ "verbosity": "low" }, # 応答の長さ
)
print(result.output_text)

ターミナルでgpt5.pyを実行すると、GPT-5のAPIの新しいインタフェースに関する回答が得られます。

要点だけ。

- 新パラメータ
  - verbosity: low / medium(既定) / high で応答の長さを制御。 ([openai.com](https://openai.com/index/introducing-gpt-5-for-developers?utm_source=chatgpt.com))
  - reasoning_effort: minimal / low / medium(既定) / high で推論時間と品質のトレードオフを制御。 ([openai.com](https://openai.com/index/introducing-gpt-5-for-developers?utm_source=chatgpt.com))
- カスタムツール
  - JSONではなくプレーンテキストでツール呼び出し可。開発者が正規表現や文脈自由文法で出力形式を拘束可能。 ([openai.com](https://openai.com/index/introducing-gpt-5-for-developers?utm_source=chatgpt.com))
- 可視化されたツール呼び出し前メッセージ
  - ツール実行の意図や進捗をユーザーに示す前置きメッセージを出力可能。 ([openai.com](https://openai.com/ja-JP/index/introducing-gpt-5-for-developers/?utm_source=chatgpt.com))
- エンドポイント/対応
  - Responses API・Chat Completions API で利用可。並列ツール呼び出し、組み込みツール、Structured Outputs、ストリーミング、プロンプトキャッシュ、Batch API などに対応。 ([openai.com](https://openai.com/index/introducing-gpt-5-for-developers?utm_source=chatgpt.com))
- モデル指定
  - gpt-5 / gpt-5-mini / gpt-5-nano。ChatGPT向け非リーズニング版は gpt-5-chat-latest。 ([openai.com](https://openai.com/index/introducing-gpt-5-for-developers?utm_source=chatgpt.com))

必要なら、具体的なAPI呼び出し例も出しますか?

* * *

GPT-5は、従来モデルと比較してプロンプト設計やAPIパラメータの柔軟性が大きく向上し、開発者が出力の品質やレイテンシを細かく制御できるようになりました。reasoning_effortやverbosityといった新パラメータによって、用途や要件に応じた応答を生成できることがお分かりいただけたかと思います。また、Responses APIやFunction Calling、RAGとの連携によって、エージェント型のワークフロー構築や外部ツールとの統合も容易になっています。

GPT-5の高い柔軟性と実用性は、実際にAPIやChatGPT上で触れてみることで体感できるはずです。今後も新機能やベストプラクティスが追加されていく見込みなので、公式ドキュメントやOpenAI Cookbookを参考にしながら、積極的に活用していくことをお薦めします。