当模型输出要进入程序、表格或数据库时,自然语言的灵活性会变成解析风险。结构化输出可以缩小自由度,但它只能解决部分问题。

一、任务约束:先定义要判断什么

字段名称无法替代任务定义。分类标签的含义、允许证据、缺失信息处理和拒答条件,都需要在任务说明中明确。否则模型可能返回格式完美但含义错误的结果。

二、模式约束:定义输出形状

输出模式应说明字段类型、必填项、枚举值、数组结构和是否允许额外字段。字段越少越容易验证;只为后续流程真正使用的信息建立字段。

三、字段验证:格式有效不代表值有效

解析成功后仍要检查空值、长度、日期、数字范围、枚举和重复项。不要让模型自行决定关键标识、金额或权限值是否合法。

四、业务校验:把规则留在确定性程序中

库存不能为负、结束时间不能早于开始时间、普通用户不能获得管理员权限,这些规则应由确定性逻辑执行。模型适合提取与建议,不应成为唯一的权限判定器。

五、失败时应该怎样处理

  • 格式无法解析:可在有限次数内要求模型按原模式修复。
  • 字段校验失败:返回具体字段错误,不重新开放整段自由生成。
  • 业务规则失败:停止写入并交由用户或上游流程处理。
  • 多次失败:保留原始输入与错误原因,避免无限重试。

参考来源