Where vs What:分解 LLM 结构化输出中的结构与内容失败 —— 精读
论文链接:https://arxiv.org/abs/2608.25358 发表时间:2026年8月 机构:深圳大学 + 中科院深圳先进技术研究院——纯高校/科研院所合作 领域标签:cs.AI —— 结构化生成评估 + RL 训练
一、论文背景
1.1 结构化输出:现代 LLM 系统的承重墙
JSON 与表格是 LLM 工作流与 agent 系统的中枢——函数调用、工具集成、数据管线全都依赖。这类输出要求两件事同时正确:值正确(what)与位置正确(where)。
一个致命却被忽视的失败模式:模型正确记住了邮编 10001 与城市 New York,却把它们放进了彼此的 JSON 路径——「对的值、错的位置」。输出语法完全合法、值全部在场,但结构语义已坏,可能无声腐蚀下游执行。论文开篇的账单例子:billing.city 里填着 “10001”、billing.zip 里填着 “Chicago”、shipping.city 里躺着被挤过去的 “New York”——四个值全在,三个位置错。
1.2 现有评估的「一锅炖」
JSONSchemaBench 用二值 schema 合规检查;BFCL 对函数调用报精确匹配;SWE-bench 看端到端任务成功;text-to-SQL 用执行准确率。输出失败时,这些指标全都无法区分「值错了」还是「值放错了」——而这两种失败对应完全不同的能力缺陷与完全不同的修复手段。
二、论文定位和关联工作
2.1 谱系
| 谱系 | 代表 | 与本文关系 |
|---|---|---|
| 位置敏感性研究 | Needle-in-a-Haystack、Lost-in-the-Middle (Liu 2024) | 探测输入理解的位置感知;本文扩展到输出生成 |
| 表格理解 | Herzig 2020、Sui 2024 | 证明表格需坐标+内容联合推理 |
| 结构化输出评估 | JSONSchemaBench、BFCL、API-Bank | 二值/整体打分——本文要解构的对象 |
| 约束解码 | Outlines、SGLang、Guidance | 只保证 L1 格式合法,管不了 L2-L3 的值放置 |
| RLVR | DeepSeek-R1、数学/代码 RL | 验证器是整体性的(答案对/测试过);本文提供分解的细粒度奖励 |
定位:SCD 填补的是「评估粒度」的空缺——不是又一个基准,而是把现有二值信号拆开的框架;SA-RLVR 则证明拆出来的指标可以直接当训练信号。
三、问题定义
具体问题:LLM 生成嵌套 JSON / 表格时,随着结构复杂度上升,值错误与放错位置如何分别演化?放错位置是不是一个独立的、可直接优化的能力瓶颈?
核心洞察:任何结构化输出任务都共享一个双决策抽象——模型必须同时决定信息放哪里(结构寻址)与生成/保留什么值(内容生成)。类比:填一张表格不仅是知道答案,还要知道每个答案该填进哪个格子——知道答案填错格子,阅卷人不能只给零分了事,那是两种不同的失分。
形式化(三级层次):
| 层级 | 指标 | 定义 |
|---|---|---|
| L1 | Format Validity V(y) | 可解析、格式良好(0/1) |
| L2 | Schema Compliance Rate | SCR = |R∩A|/|R|:要求的路径中实际存在多少 |
| L3 | Value Placement Accuracy | VPA = 植入值在指定路径上正确的比例 |
诊断指标:VP(值出现在输出任何位置——「内容记住了吗」)、SCG = VP − VPA(出现了但放错的量)、DR = 1 − VPA/VP(被回忆的值中放错位置的比例)。当 VP 高而 VPA 塌(DR≫0),就是纯粹的「知道 what、失败 where」。
四、问题解法
4.1 双域例证:树与网格
- JSON 域(树寻址,从零生成):算法化生成递归 TreeNode schema,三档复杂度 S/M/L = 深度 2/3/4(植入值 12/15/20 个),字段名取自真实领域(医疗/电商/物流),植入值用 NATO 音标词与固定数列保证唯一可识别。M/L 档 70% 植入值指向深层路径以最大化压测寻址。
- 表格域(网格寻址,定位修改):53 个真实种子模板(申请表、税单等)程序化合成 4,490 个实例、1,030 种布局;任务是定位指定行并做指定单元格替换。复杂度从扁平键值网格(约 28 行)到跨区块字段歧义(约 53 行、700 格)。
算法化生成、全程无 LLM 参与构造——确定性 ground truth 是隔离两种失败的前提,自然基准保证不了。两个域共享三级层次,只有「结构位置」的定义不同(叶路径 vs 行列坐标),且认知需求不同(生成 vs 定位修改)——若「结构先退化」在两种拓扑、两种范式下都出现,它就不是某个任务的伪影。
4.2 SA-RLVR:把诊断变成奖励
r(y) = 1.0·VPA + 0.3·SCR。设计取舍:VPA 主导(核心寻址信号)、SCR 补 schema 级反馈、刻意排除 VP——VP 奖励「值出现」而不管位置,纳入它等于奖励「值对位置错」。GRPO 在线 RL(K=10 采样、组归一优势、KL 惩罚),Qwen2.5-7B + 约 40M 参数 LoRA、500 步、约 3400 混域提示。对照 SFT 用同一评分器选数据(Best-of-10、同 LoRA 配置)——唯一变量是模仿 vs 探索。动机:若基模型依赖语义捷径,模仿自身高分输出仍在捷径分布附近;在线奖励引导的探索才能越出。
五、评估指标与实验证据
5.1 主诊断:剪刀差
JSON 域 L 级(深度 4)六模型对比:
| 模型 | VPA | VP | DR |
|---|---|---|---|
| GPT-4o | 0.690 | 0.910 | 24.2% |
| DeepSeek-V3 | 0.700 | 0.948 | 26.2% |
| DeepSeek-V4-Flash(推理模式) | 0.618 | 0.956 | 35.4% |
| Qwen3-8B(思考模式) | 0.325 | 0.610 | 46.7% |
| Qwen2.5-14B | 0.297 | 0.585 | 49.2% |
| Qwen2.5-7B | 0.215 | 0.820 | 73.8% |
模式清晰:VP 高位保持(0.91-0.96 的前沿模型)而 VPA 骤降——值被记住了、位置放错了。S→L 随深度单调恶化;表格域同样出现(强模型 L 级 DR 17-28%,Qwen2.5-7B 达 98%——连仅存的少量回忆值都几乎放不对)。推理模式有帮助但不解决(Qwen3-8B 把 DR 压到 47%/22%),剪刀差跨规模持续。
5.2 驱动因素消融
- 递归深度(控制拓扑不变只变深度 1→3):DR 从近零升到 28.5%——递归嵌套是主驱动;
- 植入数量(5-20 固定复杂度):无单调趋势(±5pp 波动)——拓扑而非载荷量决定结构何时崩溃;
- 语义线索:描述性字段名换成不透明 left/right,DR +7.5pp 而 VP 不动;
- 路径歧义:跨节点重复字段名,DR +8.2pp——名字消歧是重要寻址线索。
5.3 SA-RLVR 训练结果
| 切分 | Base | SFT | SA-RLVR |
|---|---|---|---|
| JSON-ID VPA | 0.264 | 0.281 | 0.629(+138%) |
| OOD-Eco VPA | 0.247 | 0.252 | 0.858(+247%) |
| OOD-JSB VPA | 0.795 | 0.826 | 0.968 |
| Table-ID FmtOK | 0.265 | 0.270 | 0.855 |
| Table-OOD VPA | 0.094 | 0.086 | 0.085(无迁移) |
SFT 仅 +6.4%——Best-of-K 模仿被基模型采样分布封顶,在线探索越出捷径分布。奖励消融:EM 二值 0.579 / VPA-only 0.621 / 组合 0.629(且 SCR 平衡最好)。表格域诚实结果:格式合法性大幅提升但坐标级 VPA 仅约 0.06-0.09——跨拓扑迁移在 7B 规模没有发生。
六、效果优势的根源解释
剪刀差为何必然出现:作者的综合解释是 LLM 用复合启发式近似结构寻址——语义线索匹配(字段名含义)+ 位置近似 + 名称消歧。浅层、语义透明的结构上三线索够用;递归深度倍增了「结构不同但上下文相似」的位置数,三条线索同时失效——于是寻址崩溃而值仍被保留(生成值的通路独立于寻址通路)。DR 随深度而非随载荷增长、语义线索消融只动 DR 不动 VP,都是该机制的直接证据。
SA-RLVR 为何碾压 SFT:基模型的放置行为本身依赖捷径 → 其高分样本也多在捷径分布内 → 模仿只能到达「捷径能到的最好位置」;在线 RL 允许探索到基模型很少采样的正确放置模式,并用连续部分信用(15 个值放对 12 个得 12/15)提供逐步梯度——二值 EM 奖励下大量「差一点」的样本得零分、信号稀疏,消融显示组合奖励的连续信号确实更优。
表格域不迁移的根源:训练数据 JSON 主导,学到的是「树寻址」的改进;网格坐标寻址是需要单独训练的不同能力——Table-OOD VPA 纹丝不动但 FmtOK 大涨,说明 RL 学到的东西里有相当一部分是域特定的格式遵循,而非通用的「拓扑理解」。
七、必要知识反推
- 领域知识层:JSON Schema 规范与递归结构;HTML 表格的行列/colspan 语义;约束解码工具能保证与不能保证的边界(L1 vs L2-3)。
- 方法论知识层:构造确定性受控任务以隔离单变量的实验设计思想(值唯一可识别才能定义 VP/VPA);消融的单变量原则(深度与载荷分离);RLVR 范式与「验证器可编程」的识别;SFT 与在线 RL 的分布差异分析。
- 工程知识层:GRPO + LoRA 的低成本训练配置;混域数据构造与五个泛化切分的设计。
知识融合的关键节点:把「输入侧位置偏差」(lost-in-the-middle 文献)的直觉反转到输出侧——意识到生成结构与理解结构可能是两条独立通路,于是设计出能分别测量两者的指标对(VP vs VPA)。第二个节点是认识到评估指标即奖励的同一性:既然 SCD 指标完全程序化、确定性、无需人类判断,诊断框架一步跨入训练框架。
八、论文中可以提取的通用性灵感
把复合指标拆成「能力正交」的分量,失败才有可解释性。证据:整体二值指标看不出「值对位置错」,拆出 VP/VPA 后剪刀差立刻显形。推广:翻译评估(忠实度 vs 流畅度)、代码生成(编译过 vs 语义对)、语音识别(字准 vs 语义准)——先问「这个总分混合了哪些独立能力」。
知道答案 ≠ 知道答案该放哪——绑定能力是独立的训练目标。证据:VPA 可被 SA-RLVR 直接拉高而 VP 不掉。推广:知识图谱构建(实体对 vs 关系槽位)、表单自动填充、API 参数路由,凡「内容生成」与「结构定位」可分离的系统都应分开评估分开训练。
模仿天花板在基模型分布内,探索能越出。证据:同数据同评分器的 SFT 只有 +6.4% vs RL 的 +138%。推广:当目标行为在基模型采样分布中罕见时(正确放置在 7B 上本来就稀少),纯模仿类方法注定失效,需要奖励引导的探索。
奖励设计要排除「能被游戏的部分」。证据:VP 被刻意排除——否则模型学会「把值塞到任何地方」。推广:任何连续奖励设计都应做一次「哪些分量可以被不诚实地满足」的审计。
跨拓扑/跨域迁移不能想当然,要单独设切分。证据:JSON 上的大增益完全没带到表格坐标寻址上。推广:声称「学会了 X 能力」的训练实验,必须包含 X 的另一种实例化方式作为 held-out,否则学到的是格式不是能力。
局限同样清楚:合成任务的生态效度(真实任务有噪声指令、欠指定 schema、语义等价输出);7B 单尺度训练、500 步未饱和、表格域模板有限。但「structure degrades first」这一现象级发现 + 可编程奖励的解法,给所有依赖结构化输出的系统提了个醒:你的模型可能知道所有答案——只是不知道它们该去哪。