输出格式规范是什么
给输出定格式时,一个字段级的样例胜过一段文字描述:把每个字段的名字、类型、取值范围和缺失时怎么填都示例出来,模型照着抄的概率远高于按描述推断。如果要求返回 JSON,还要同时禁止解释性文字与代码块围栏,并在程序侧做校验与重试。格式稳定是下游能自动处理的前提。
基本信息
| 核心手段 | 字段级样例加取值约定 |
|---|---|
| 常见形式 | JSON 对象、固定段落结构、编号列表 |
| 强约束方式 | 用模式约束让服务端保证结构合法 |
| 禁止项 | 额外解释文字、代码块围栏、多余字段 |
| 校验位置 | 程序侧做解析与字段校验,失败再重试 |
| 长度要求 | 给出字数或条数区间,避免长度失控 |
约束手段的可靠性
| 手段 | 做法 | 可靠性 |
|---|---|---|
| 文字描述格式 | 用一段话说明要什么结构 | 低,模型会自行发挥 |
| 字段级样例 | 给出完整的示例输出 | 中高,格式粘贴现象明显减少 |
| 模式约束 | 用结构定义约束返回 | 高,格式合法但内容仍需校验 |
| 程序侧校验 | 解析失败则重试或降级 | 必备的一层保障 |
| 禁止项声明 | 明确不要解释与围栏 | 高,能显著减少解析失败 |
典型使用场景
- 批量抽取:输出直接入库,字段必须齐全
- 流程编排:输出调用意图与参数供程序执行
- 报表生成:固定段落结构便于排版
- 接口响应:模型输出作为接口返回值
- 对比评估:格式统一后才好做批量比对
字段级样例写法
字段级样例写法
只输出 JSON,不要任何解释文字,也不要使用代码块围栏。
字段说明:
product 产品名称,取原文中的完整名称
version 版本号,形如 1.2.3;原文没有则填 null
urgent 是否紧急,只能是 true 或 false
示例:
{"product": "其其网网关", "version": "1.2.3", "urgent": false}
注意:缺失信息一律填 null,不要留空字符串,也不要猜测。常见问题与修法
| 问题 | 原因 | 修法 |
|---|---|---|
| 输出夹带解释 | 提示里没有禁止额外文字 | 写明只输出结构本身并给样例 |
| 多出计划外字段 | 字段清单未封闭 | 声明只允许这些字段,模式里关掉额外属性 |
| 结构被截断 | 输出长度上限过小 | 提高上限或拆成多次输出 |
| 字段值超范围 | 未限定取值范围 | 把取值写成枚举并在程序侧校验 |
样例的字段名要与程序读取的键名完全一致:中文键名与英文键名混用是解析失败的高频原因。
格式合法不等于内容正确:金额、日期、编号这类字段仍要在程序侧做范围与格式核对后再入库。