arXiv cs.CL· Amit Verma·· 14 小时前AI 评分34
为什么结构化输出会失败?九款 LLM 上提示词强制 Pydantic Schema 的实证研究
Why Does Structured Output Fail? An Empirical Study of Prompt-Enforced Pydantic Schemas Across Nine LLMs
AI 导读
一项实证研究对九种 OpenAI 与 Anthropic 模型/API 配置的 3,997 次生成尝试做了细粒度失败分类,发现相近的校验通过率可能掩盖不同的失败模式。
正文 · AI 翻译
摘要:需要托管语言模型提供结构化输出的流水线,通常会在提示中指定 Pydantic schema、验证响应,并在验证失败时重试。尽管原生结构化输出模式提供了一种替代方案,但应用侧验证对于强制执行自定义约束仍然很重要。然而,流水线可靠性往往仅用一个有效率来概括,这掩盖了输出失败的原因以及哪些干预措施可能有帮助。我们引入了 schema 一致性失败的细粒度分类法,以及一个确定性分类器,可根据模型响应和 Pydantic 验证错误分配失败类别。我们将此框架应用于来自 HotpotQA 和 FinanceBench 的问题,涵盖九种 OpenAI 和 Anthropic 模型/API 配置的 3,997 次生成尝试。结果表明,相似的有效率可能掩盖不同的失败模式,且主要失败类别随 schema 约束和任务而变化。Markdown 围栏 JSON 是最常见的失败:在 681 次围栏失败中,仅 48.0% 在移除围栏后通过验证,其余则隐藏了额外违规,主要是字段长度违规。在一项探索性提示消融中,抑制围栏的变体似乎将失败转向长度违规,但这种转变与暴露已存在的违规相一致,说明聚合有效率如何掩盖失败构成的变化。我们得出了验证器、schema、重试和评估设计的四项工程实践,其中三项有数据支持,一项关于重试反馈的实践已提出但未测试,并发布了分类器、补全和标注。
| 评论: | 36 页,2 幅图,16 张表。正在 Empirical Software Engineering 审稿中。工件:此 https URL |
| 主题: | 软件工程(cs.SE);计算与语言(cs.CL);机器学习(cs.LG) |
| 引用为: | arXiv:2610.33949 [cs.SE] |
| (或 arXiv:2610.33949v1 [cs.SE] 为此版本) | |
| https://doi.org/10.48550/arXiv.2610.33949 由 DataCite 颁发的 arXiv DOI(待注册) |
提交历史
来自:Amit Verma [查看电子邮件]
[v1]
2026 年 10 月 24 日星期六 23:30:38 UTC(99 KB)
来源:arXiv cs.CL · arxiv.org