对话式输出只能给人看;要接进程序,就需要模型输出机器可读的结构。两种主流方式:

JSON 输出

  • 适用:简单稳定的数据抽取、分类、内容生成
  • 做法:在提示词中给出 JSON Schema 示例,并用「只输出 JSON,不要解释」约束
  • 注意:即便模型承诺输出 JSON 也可能出错,程序侧要做解析兜底(try/catch)和字段校验

函数调用(Function Calling / Tools)

  • 适用:需要模型决定「调用哪个工具、传什么参数」,如查询天气、搜索、下单
  • 做法:API 中声明工具列表(名称+参数 Schema),模型返回工具调用请求,由程序执行后把结果回传给模型
  • 优势:参数由模型按 Schema 生成,比解析自然语言可靠得多

最佳实践

无论哪种方式,都要对模型输出做二次校验:字段是否齐全、类型是否正确、数值是否在合法范围。结构化的目的是减少出错,而不是消灭出错。