1. はじめに:GPT-5.2とは何か
OpenAIの最新フラッグシップモデル「GPT-5.2」が登場しました。このモデルは、企業向けワークフローやAIエージェント開発に特化して設計されており、前世代のGPT-5.1と比較して、精度、指示への忠実性、そして複雑なタスクの実行能力が大幅に向上しています。
1.1 GPT-5.2の主な特徴
GPT-5.2は以下の点で優れています:
- 高い信頼性:本番環境のエージェントシステムで安定した動作を実現
- トークン効率の向上:中程度から複雑なタスクで、より少ないトークンで高品質な出力を生成
- 構造化された推論:論理的な思考プロセスを明確に示す
- マルチモーダル理解の強化:文書、画像、PDFなど多様な入力形式に対応
ただし、GPT-5.2は「プロンプトに敏感」という特性も持っています。つまり、適切なプロンプト設計によって、その性能を最大限に引き出すことができるのです。
2. GPT-5.1からの主な変更点
2.1 動作の違いを理解する
GPT-5.2は前世代モデルと比較して、以下のような特徴的な変化があります:
計画性の向上
- より明確な実行計画を自動的に構築
- 明示的なスコープと冗長性の制約が効果的
簡潔性の向上
- デフォルトでより簡潔でタスクに集中した出力
- プロンプトで好みを明示する必要あり
指示への忠実性
- ユーザーの意図からの逸脱が減少
- フォーマットと論理展開の改善
ツール利用の特性
- 対話的なフローでより多くのツールアクションを実行
- プロンプトによる最適化が可能
3. 実践的なプロンプティングパターン
3.1 出力の冗長性をコントロールする
GPT-5.2で最も重要なのは、出力の長さと形式を明確に指定することです。以下のようなテンプレートが効果的です:
<output_verbosity_spec>
- デフォルト:3〜6文、または5つ以内の箇条書き
- はい/いいえ質問:2文以内
- 複雑なタスク:
- 1段落の概要
- 5つ以内の箇条書き(変更内容、場所、リスク、次のステップ、未解決の質問)
- 長い段落は避け、コンパクトな箇条書きを優先
</output_verbosity_spec>
なぜこれが重要か:GPT-5.2は賢くなった分、説明が詳しくなりすぎる傾向があります。明確な長さ制約を設けることで、必要な情報だけを簡潔に得られます。
3.2 スコープの拡大を防ぐ
特にフロントエンド開発やUI設計のタスクで、GPT-5.2は要求以上の機能を追加しがちです。これを防ぐには:
<design_and_scope_constraints>
- 既存のデザインシステムを深く理解する
- ユーザーが要求したことだけを実装
- 追加機能、コンポーネント、UXの装飾は一切なし
- デザインシステムに準拠したスタイル
- 色、影、トークン、アニメーション、UI要素を勝手に追加しない
- 指示が曖昧な場合は、最もシンプルな解釈を選択
</design_and_scope_constraints>
実務での活用例:「ログインフォームを作って」と依頼した際、パスワード強度メーター、ソーシャルログイン、リマインダー機能などを勝手に追加されるのを防げます。
3.3 長文コンテキストの処理
1万トークン以上の長文(複数のPDF、長いスレッドなど)を扱う場合、以下のアプローチが効果的です:
<long_context_handling>
- 長文入力の場合:
- まず、ユーザーの要求に関連する主要セクションの概要を作成
- 制約条件を明示的に再確認(管轄、日付範囲、製品、チームなど)
- 回答では、主張をセクションに紐付ける(「データ保持」セクションでは...)
- 詳細な情報(日付、閾値、条項)に依存する場合は、引用または要約
</long_context_handling>
3.4 曖昧さとハルシネーションへの対策
GPT-5.2でも、不明確な質問に対して過度に自信を持った回答をする可能性があります。以下の指示で緩和できます:
<uncertainty_and_ambiguity>
- 質問が曖昧または不十分な場合:
- 1〜3つの明確な質問をする、または
- 2〜3つの妥当な解釈を前提条件とともに提示
- 外部情報が変化している可能性がある場合(ツールが利用できない時):
- 一般的な回答を提供し、詳細が変更されている可能性を明記
- 不確実な場合は、正確な数字や外部参照を捏造しない
- 「提供された文脈に基づくと...」のような表現を使用
</uncertainty_and_ambiguity>
4. コンパクション機能:コンテキストウィンドウの拡張
4.1 コンパクションとは
長時間にわたる複雑なワークフローでは、会話履歴がコンテキストウィンドウの上限に達することがあります。GPT-5.2の「コンパクション」機能は、過去の会話を圧縮しながらタスクに関連する情報を保持する仕組みです。
4.2 使用すべき場面
- 多数のツール呼び出しを伴う複数ステップのエージェントフロー
- 以前のやり取りを保持する必要がある長い会話
- 最大コンテキストウィンドウを超える反復的な推論
4.3 実装例
from openai import OpenAI
import json
client = OpenAI()
# 元のリクエスト
response = client.responses.create(
model="gpt-5.2",
input=[
{
"role": "user",
"content": "犬についての長い詩を書いて。",
},
]
)
output_json = [msg.model_dump() for msg in response.output]
# コンパクション実行
compacted_response = client.responses.compact(
model="gpt-5.2",
input=[
{
"role": "user",
"content": "犬についての長い詩を書いて。",
},
output_json[0]
]
)
ポイント:コンパクション後のデータは暗号化された不透明なアイテムとして扱われ、内部構造に依存すべきではありません。
5. AIエージェント開発での活用
5.1 ユーザー更新の最適化
GPT-5.2はエージェント型のタスクに強力ですが、進捗報告を簡潔にするための工夫が必要です:
<user_updates_spec>
- 簡潔な更新(1〜2文)を送信するタイミング:
- 新しい主要フェーズを開始する時
- 計画を変更する何かを発見した時
- ルーチンのツール呼び出しを説明しない(「ファイルを読んでいます...」など)
- 各更新には具体的な成果を含める(「Xを発見」「Yを確認」「Zを更新」)
- ユーザーが要求した範囲を超えて拡大しない
</user_updates_spec>
5.2 ツール呼び出しと並列処理
複数のツールを効率的に使うためのベストプラクティス:
<tool_usage_rules>
- 以下の場合、内部知識よりツールを優先:
- 最新またはユーザー固有のデータが必要(チケット、注文、設定、ログ)
- 特定のID、URL、文書タイトルを参照
- 独立した読み取り操作は並列化(read_file、fetch_record、search_docs)
- 書き込み/更新ツール呼び出し後は、以下を簡潔に再確認:
- 変更内容
- 場所(IDまたはパス)
- 実施した検証
</tool_usage_rules>
6. 構造化データ抽出とドキュメント処理
6.1 PDFやExcelからのデータ抽出
GPT-5.2はこの分野で顕著な改善を示しています。最大限活用するには:
<extraction_spec>
テーブル/PDF/メールから構造化データをJSONに抽出します。
- このスキーマに厳密に従う(追加フィールドなし):
{
"party_name": string,
"jurisdiction": string | null,
"effective_date": string | null,
"termination_clause_summary": string | null
}
- ソースにフィールドが存在しない場合、推測せずnullを設定
- 返す前に、ソースを再スキャンして欠落フィールドを修正
</extraction_spec>
6.2 構造化出力の活用
OpenAIの構造化出力機能を使用すると、スキーマへの厳密な準拠が保証されます。必須フィールドとオプションフィールドを明確に区別しましょう。
7. モデル移行ガイド
7.1 reasoning_effortパラメータの理解
GPT-5クラスのモデルは、reasoning_effortというパラメータで推論の深さを調整できます:
- none:最も高速、コスト効率的
- minimal/low:軽い推論
- medium:標準的な推論
- high/xhigh:深い推論が必要な複雑タスク向け
7.2 移行マッピング表
| 現在のモデル | 移行先モデル | 推奨reasoning_effort | 備考 |
|---|---|---|---|
| GPT-4o | GPT-5.2 | none | 高速・低コストを維持 |
| GPT-4.1 | GPT-5.2 | none | 同上 |
| GPT-5 | GPT-5.2 | 同じ値(minimal→noneは変更) | レイテンシ/品質プロファイルを維持 |
| GPT-5.1 | GPT-5.2 | 同じ値 | 既存設定を保持 |
7.3 移行の5ステップ
- モデルを切り替え、プロンプトは変更しない:一度に一つの変更
- reasoning_effortを固定:前モデルのプロファイルに合わせる
- ベースライン評価を実行:評価スイートで結果を確認
- 退行があればプロンプトを調整:Prompt Optimizerを活用
- 各変更後に再評価:段階的に改善
8. Web検索とリサーチ機能
8.1 高度なリサーチ指示
GPT-5.2は複数のソースから情報を統合する能力が向上しています:
<web_search_rules>
- 専門的なリサーチアシスタントとして行動
- 不確実な情報には常にWeb検索を優先、引用を含める
- クエリのすべての部分を調査し、矛盾を解決
- 重要な二次的影響を追跡(さらなる調査が答えを変える可能性が低くなるまで)
- 明確化の質問をせず、すべての妥当な意図を包括的にカバー
- Markdownで明確に記述(見出し、箇条書き、比較表)
</web_search_rules>
8.2 リサーチの深さをコントロール
プロンプトで以下を明示することで、リサーチの質を向上できます:
- どこまで深く調査するか(二次情報源まで追跡するか)
- 矛盾をどう扱うか
- 引用をどのように含めるか
- いつ調査を停止するか(限界効用が低下した時点)
9. まとめ:GPT-5.2を実務で活かすために
9.1 重要なポイントの再確認
GPT-5.2は、本番環境のAIエージェント開発において、精度、信頼性、規律ある実行を優先するチームにとって大きな前進です。既存のプロンプトの多くはそのまま移行できますが、以下の点に注意が必要です:
- 冗長性の制約を明示する
- スコープの拡大を防ぐ指示を含める
- 評価(eval)を実施してから変更を加える
- reasoning_effortを適切に設定する
9.2 実践的なアドバイス
- 小さく始める:まずは既存プロンプトでGPT-5.2を試す
- 測定する:評価指標を設定し、変更の影響を定量化
- 段階的に最適化:一度に一つの要素を調整
- ドキュメント化:効果的だったプロンプトパターンを記録
GPT-5.2の真価は、適切なプロンプト設計と組み合わせることで発揮されます。この記事で紹介したパターンを参考に、あなたのユースケースに最適な使い方を見つけてください。
