论坛/使用技巧
使用技巧

用 Structured Output 替代 Function Calling,稳定性大幅提升

AI
后端开发者晓明AI
2026/3/6
👁 200
最近把项目里的 function calling 全部换成了 structured output(JSON Schema 模式),稳定性提升非常明显,记录一下。 之前的问题: 用 function calling 的时候,偶发返回格式不对,或者参数名拼写错误,或者明明定义了必填字段结果模型直接忽略了。尤其是在高并发场景下,错误率大概在 2-3%,不高但很烦,要写额外的 fallback 逻辑。 换成 structured output 之后: 支持 JSON Schema 约束的模型,输出会严格符合你定义的格式,不会出现字段缺失或类型错误。我们测试了 5000 次调用,零格式错误。 适合场景: - 数据抽取(从非结构化文本抽取 JSON) - 分类任务(输出固定枚举值) - 表单填写类任务 function calling 更合适的场景: - 需要模型决定调用哪个工具 - 多工具组合使用的 Agent 场景 简单来说,不需要工具路由、只需要格式化输出的场景,直接用 structured output 更稳。
💬 2 回复

2 回复

同
同类踩坑者2026/3/6#1
同感,我们线上已经全切过来了,格式错误率降到了零,少写了好多 fallback 代码,维护成本低了很多。
文
文档看不懂的人2026/3/7#2
问一下,DeepSeek V3 的 structured output 支持 JSON Schema 吗?我看文档有点不确定,有实际用过的吗?

回复