AIGC

行业资讯

AIGC模式解析(9)

  • 发布时间
  • 点击次数

结构化输出与工具调用

问题:纯 Prompt 求 JSON,成功率 85-95%——日 10 万次调用意味着 5000-15000 次失败(Markdown 包裹、尾逗号、类型错、前缀废话)。别把程序正确性寄托在模型当天心情上

能力四级(约束力递增)

层级

保证

代表实现

JSON Mode

合法 JSON(不含 schema 语义)

OpenAI json_object、DeepSeek、GLM

JSON Schema

严格匹配字段/类型

OpenAI Structured Outputs、Gemini response_schema

Function Calling

参数匹配函数签名

三大家 + Qwen/Kimi/GLM/DeepSeek

约束解码

生成时就剪掉非法 token 路径

OpenAI structured(100% 保证)、Outlines/Instructor

厂商差异:OpenAI 三级能力最全(Structured Outputs 100% schema 一致性);Gemini response_schema 强约束;Claude 无独立 JSON Mode,用 tool_use 实现(实际成功率 >99%)。

Schema 设计(比换模型更重要,+10-20% 准确率)

  • 受限字段用 enum 而非 string(幻觉大幅下降)

  • 每个参数写 description("ISO 8601 格式(2026-03-22T10:00:00Z)"防格式错)

  • 显式 required;函数名无歧义(search_products 优于 search+type)

  • 单次调用 <20 个函数,大工具集分组或两步路由

工程范式:显式协议参数 + 合理 schema + Prompt 辅助 + 业务层本地校验兜底(Pydantic/Zod 二次校验)。把 LLM 输出当数据库行对待:定义 schema、生成时强制、违反就快速失败。

Function Calling 性能(Berkeley Leaderboard Q1 2026):Claude Opus 99.2% / GPT-4o 94.3% / Gemini 85-90% / DeepSeek 79.8%。生产选型:质量优先 Claude Sonnet(性价比),高吞吐简单调用 GPT-4o Mini/Gemini Flash。


JK小助手
转人工 ×