结构化输出
Structured Output
中级通用结构化输出(Structured Output)是让 AI 按预先约定的字段和数据类型返回结果,而不是自由写一段话。它解决的是程序难以稳定读取 AI 回复的问题,例如让客服工单分类结果固定包含类别、优先级和理由,方便后台继续处理。
你可能会说:「帮我让 AI 每次都按固定字段返回结果,这样程序能直接读取,不用从一段话里猜。」
动手看看扣款异常工单如何自动分派
1
用户提交工单:“钱扣了,订单却显示未支付。”先让 AI 自由回答,看看后台能不能直接使用。
要点结构化输出怎样让程序读懂 AI 的回复?
- 1
先约定字段和数据类型
假设你要把用户反馈录入后台,可以先约定返回类别、紧急程度和摘要,并说明哪些字段必须有、各自是什么类型。这样程序拿到结果后,就知道从哪里读取信息。
- 2
格式正确不等于内容正确
AI 即使按约定填好了字段,也可能把退款投诉误判成产品建议。结构化输出解决的是结果能否被程序稳定读取;分类是否可信,还得靠测试样例、业务规则或人工复核。
- 3
接收结果后仍要校验
你可以在请求时指定输出结构,但程序收到结果后仍要检查字段、类型和允许的取值。因为下游代码依赖这些约定,校验失败时就能重新请求或交给人工处理,而不是把异常数据直接写入系统。
容易混淆的地方
结构化输出说的是 AI 返回结果的组织方式;JSON 只是常见的承载格式,写成 JSON 不代表字段和值就符合你的约定。它也不同于普通提示词里说一句“请按这个格式回答”:后者可以描述目标,但如果程序要依赖结果继续运行,还需要明确字段约束,并在接收时校验。
什么时候用
适合用
- 做客服工单自动分流时,让 AI 返回固定的类别、优先级和简短理由,再交给后台创建任务。
- 从上传的合同中提取签约方和日期时,把结果放进约定字段,方便展示和人工核对。
- 让 AI 判断用户输入是否可以触发工具操作时,返回明确的操作类型与参数,供程序校验后执行。
不适合用
- 只是让 AI 帮你讨论产品方向、逐步探索想法时,自然语言对话更合适,不必先限定返回字段。
- 要给用户写一篇可直接阅读的帮助文章时,用自然语言正文更合适;只有文章还要进入固定的数据流程,才需要约定结构。
- 数据本来来自确定的表单字段,且不需要 AI 理解或提取时,直接读取并校验表单数据,不必让 AI 重新生成一份。
练一练选一个答案,看看解释
你在做一个反馈后台:AI 读完用户留言后,程序要自动填入类别和优先级,并把不确定的结果交给客服。哪种做法最合适?
让 AI 帮你做复制给 AI Agent 直接用
请为反馈分类功能设计结构化输出:返回类别、优先级、简短理由和是否需人工处理。说明各字段的类型与允许取值,并在后端校验;校验失败时不要写入数据库,请给出可处理的失败结果。