
作者丨正在学AI的小泉同学


你的 AI 是不是总爱乱来?
你是不是也遇到过这种崩溃时刻:
明明跟 AI 说好了"请以 JSON 格式返回",结果它给你返回了 JSON 外面还包了一层文字说明。
明明让 AI 填三个字段,它给你省了一个。
明明限定 AI 只能选男/女,它给你冒出个"未知"。
这不是你的问题,这是 AI 的"自由发挥"。
而 OpenAI 的 Structured Outputs(结构化输出),就是专门治这个毛病的。


什么是结构化输出?
先说说什么是 JSON
JSON 就是"快递单"格式。
想象你在网上买东西,快递员要填一张快递单:
收件人:张三电话:138xxxx地址:北京市朝阳区xxx这就是 JSON 的样子 —— 结构化的、有固定字段的数据格式。
程序之间传数据,就像快递员填单子一样,必须按固定格式来,不然对方看不懂。
那"结构化输出"是什么?
就是给 AI 立规矩:你必须按这张"快递单"的格式来填,不能自己瞎改!
举个栗子🌰:
你让 AI 帮你从一句话里提取活动信息。
没规矩的时候:
AI 可能这样返回:"这个活动是科学展,时间是周五,参加的人有 Alice 和 Bob"甚至可能:
{ "event": "science fair", "when": "Friday" // 字段名跟你要的不一样!}有结构化输出之后:
你规定必须这样填:{ "name": "活动名称", "date": "日期", "participants": ["参与者列表"]}AI 乖乖返回:{ "name": "science fair", "date": "Friday", "participants": ["Alice", "Bob"]}完全按你的格式来,一个字段都不会少,字段名也不会乱改。


结尾
到这里,你已经弄清楚了 Structured Outputs 是什么——说白了就是给 AI 画框框,让它必须按规矩办事。
但你可能会问:这玩意到底有什么好,值得我去学?
下篇我们就来细说——Structured Outputs 三大好处,件件都是刚需。 👇
夜雨聆风