制約付きデコーディング (Constrained Decoding)
読み: せいやくつきでこーでぃんぐ
最終更新: 2026-06-29・AI PICKS編集部
定義
制約付きデコーディングとは、LLMがJSONや正規表現など特定の形式に合致するトークンのみを生成するよう、確率分布をリアルタイムにフィルタリングする推論技術のこと。
制約付きデコーディング (Constrained Decoding)とは — 詳しく解説
制約付きデコーディングとは、LLMのトークン生成プロセスにおいて、次に選択可能なトークンを文法・スキーマ・正規表現などの制約に従ってリアルタイムに絞り込む手法。Outlines・Guidance・llama.cppのGBNF文法などが代表的な実装で、JSONスキーマやBNF文法を事前定義することで出力の構造を100%保証できる。ファインチューニングと異なり追加学習が不要なため、コスト面でも優れる。 2026年時点の実運用での主な落とし穴は3点。①制約が厳しすぎると推論速度が30〜80%低下するケースがある(複雑なJSONスキーマ時)。②クラウドAPIの多くはGBNFレベルの完全制約に未対応で、OpenAI Structured OutputsやGemini JSON modeは「ベストエフォート」に留まる。③制約に合う有効トークンがゼロになると生成がハングする「デッドロック」問題が起きる。 現場での選び方の相場感:ローカルLLM(llama.cpp)なら完全制約が無料で使えるが、クラウドAPI利用時はJSON modeで十分なケースが8割。AI PICKSのエージェント基盤ではツール情報の構造化抽出にStructured Outputsを採用し、複雑なネスト構造のみGBNFへフォールバックする二段構えが最適だった。
制約付きデコーディング (Constrained Decoding)の使用例
- OpenAI Structured Outputs:response_format に json_schema を指定すると、name/price 等のフィールドを型付きで強制出力できる。
- Outlines で正規表現制約:outlines.generate.regex(model, r'\d{4}-\d{2}-\d{2}') で日付フォーマット出力のみを強制する。
制約付きデコーディング (Constrained Decoding)に関連するAIツール
関連用語
「プロンプト技法」の他の用語
AI への指示文。 役割 + タスク + 制約 + 文脈 の 4 要素を明示するのが基本。
AI への指示文を 設計する技術。 役割・タスク・制約・文脈 の 4 要素 + Few-shot などのテクニック。
AI に「お手本の例」を 3-5 件見せてから タスクを依頼する手法。 出力フォーマットが安定する。
AI に「ステップごとに考えてください」と促し、 複雑な推論精度を上げる手法。
例示なしで AI にタスクを依頼する方法。 最新モデルは Zero-shot 精度が大幅に向上した。
システムプロンプトとは、AIアシスタントの応答スタイル・役割・制約をあらかじめ設定する隠し命令文のこと。ユーザーの入力より先に処理され、会話全体のトーンと動作範囲を規定する。
AI用語辞典をすべて見てみませんか
12カテゴリ・302語以上を体系的に整理しています
辞典トップへ