1.1 定义

输出解析器(Output Parser),就是站在模型输出程序最终要用的数据之间的一层转换器。

它的核心任务是:把模型返回的内容,从“面向人阅读”的文本,转成“面向程序处理”的结构化结果。

这条链可以拆成:

  • Prompt 负责把输入整理好,告诉模型“你要怎么回答”;

  • Model 负责生成结果,真正“生成回答”;

  • Output Parser 负责把结果转成字符串、JSON 或对象,把这份回答“整理成程序好用的样子”。 放到实际使用中,根据解析器类型不同,输出解析器通常会承担下面几类工作:

  • 格式转换:把模型回答转成 strdict、Pydantic 对象等。

  • 结构约束:引导模型尽量按指定字段输出。

  • 结果校验:检查字段类型、范围、必填项是否符合预期。

  • 工程衔接:让模型输出能被数据库、接口、前端、工作流直接消费

1.2 输出解析器的作用

初学大模型时,最容易把模型回答理解成“它回我一段文字就结束了”。但在真实项目里,模型输出通常还要继续流向别的程序模块,例如:

  • 存进数据库;
  • 返回给前端页面渲染;
  • 交给下一个工作流节点;
  • 作为 Agent、工具、接口调用的参数;
  • 进入风控、审核、统计、报表逻辑。

这时,“一段自然语言”通常就不够用了。程序更希望拿到的是:

  • 一个字符串;
  • 一个 JSON 字典;
  • 一个字段固定的对象;
  • 一个带校验规则的强类型数据结构。

如果只靠 split()、正则、字符串截取去拆模型输出,代码往往会变得脆弱:模型多加一句解释、少一个逗号、换一个字段名,程序就可能出错。