Grammar-Constrained Decoding(文法约束解码)
Grammar-Constrained Decoding让模型从根上就输不出非法格式
亦作、亦称:文法约束解码 · Grammar-Constrained Decoding · Constrained Decoding · 约束解码 · Grammar-Based Decoding · GCD
Grammar-Constrained Decoding(文法约束解码) 在 LLM 采样阶段实时屏蔽非法 token,使输出路径始终符合目标文法——是 Structured Output 和 Function Calling 的底层机制,区别于先生成再校验的后处理。
机制:采样时实时屏蔽非法 token
Grammar-Constrained Decoding 的核心是在自回归生成的每一步:
- 根据当前已生成的 token 序列和目标文法(JSON Schema / 正则 / CFG),计算当前步合法的 token 集合
- 对模型输出的 logits 做 mask:非法 token 的 logit 置为负无穷
- 在合法 token 集合上按模型概率分布采样
每一步都保证输出落在文法允许的路径上,因此最终输出100% 语法合法。代价是需要一个文法引擎(如 JSON Schema → 有限状态自动机 / pushdown automaton)在每步计算合法集合,且 mask 操作可能轻微影响内容质量(因为部分高概率 token 被屏蔽)。
与后处理验证的根本区别
后处理验证(先生成再校验):模型自由生成 → 用 JSON Schema / Pydantic 校验 → 失败则重试或修复。问题是模型可能反复生成非法输出,重试成本高且不稳定。
文法约束解码:在采样阶段就屏蔽非法路径,输出保证合法。没有重试成本,没有「模型就是不听 prompt 约束」的问题。
工程上的优先级:文法约束解码(从源头保证) > 后处理校验+重试(兜底)。OpenAI 的 Structured Outputs、Anthropic 的 tool use、Gemini 的 response_schema 底层都依赖文法约束解码,只是对用户的暴露程度不同。
生产中的实现与选型
主流实现:
- OpenAI Structured Outputs:传入 JSON Schema,平台在采样层做文法约束,保证 100% 合法(strict mode)
- Anthropic tool use:工具参数定义为 JSON Schema,模型在 tool use 路径下受文法约束
- Gemini response_schema:传入 schema,平台做约束解码
- 开源方案:llama.cpp GBNF grammar、Outlines、Guidance、llguidance(Microsoft)
选型要点:
- 优先用 Provider 原生能力(最稳、零额外延迟)
- 本地推理用 llama.cpp GBNF 或 Outlines
- 文法约束解码保证语法合法,不保证语义正确——业务规则(枚举范围、数值边界、跨字段一致性)仍需应用层校验
常见误解
日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。
- 「让模型从根上就输不出非法格式」
- 「采样时把不合法的 token 直接屏蔽掉」
相关术语
和本术语关联紧密的其他词条,便于串联理解。
🎯 考点练习
含该术语的高频面试题,含标准答案与追问。
- 初级概念高频查看详解 →
什么是大语言模型(LLM)?它能做什么、不能做什么?
LLM 是基于 Transformer、在海量文本上预训练的自回归语言模型,擅长语言任务,但不擅长精确计算、实时信息,且会产生幻觉。
- 高级系统设计查看详解 →
当 LLM 上下文窗口达到 1M token 时,"Lost in the Middle" 效应对 RAG 系统设计有何影响?如何工程化缓解?
即使上下文窗口达到 1M token,"Lost in the Middle"(Liu et al. 2023)与 Context Rot(Chroma 2026)仍使模型对中间位置信息的利用率显著下降——标称容量不等于有效容量。RAG 系统不能把检索结果无脑堆叠进超长上下文,而须做检索重排(首尾优先)、分层上下文预算(工作记忆 vs 长尾知识)、分块聚合(map-reduce)与位置探针评测。本题考察候选人能否把位置偏置从论文概念转化为 RAG 工程约束。
- 高级系统设计查看详解 →
基准污染诊断:当 SWE-bench Verified 得分异常高但实际能力不匹配时,如何系统性诊断并调整评估策略?
OpenAI SWE-bench Verified 审计发现 59.4% 任务存在缺陷,前沿模型被检测到从训练数据中召回答案(adwaitx.com 2026-02 技术分析)。当模型在基准上得分异常高(如 80%+)但实际能力不匹配时,候选人需要展示三条独立诊断路径(n-gram overlap 精确重叠、embedding similarity 语义重叠、ablation study 因果归因)的交叉验证能力,以及污染确认后从「单一基准分数」转向「基准组合 + 私有评测 + 过程评估」的评估策略重构能力。本题区分「会跑 benchmark」与「理解 benchmark 为什么可信」的候选人。
- 高级概念查看详解 →
在 MoE 模型的大规模部署中,Expert Parallelism 面临哪些工程挑战?请从负载均衡、通信开销、故障恢复三个维度分析。
Expert Parallelism 把 MoE 专家分布到多 GPU 以突破单卡显存上限,但 Top-K 路由导致负载不均、All-to-All 通信跨节点成为瓶颈、Expert 级 checkpoint 与弹性恢复比 Dense 模型更复杂。
外部参考
维基百科:查看「Grammar-Constrained Decoding」词条本页内容为本站原创撰写;维基百科链接仅作延伸参考。
