Structured Output:客服意图与参数提取|课后复习

课程名称:Structured Output:客服意图与参数提取|项目任务:客服意图与偏好对象|编号:W04-D03

三层校验与有限修复

图中每次失败都可观察;只有语法、Schema/类型和业务规则全部通过,才产生对象。事实依据仍由 D04 API(应用程序接口) 提供。

今天的主线

  • json.loads 只解决语法;
  • strict 类型、枚举、范围、required 和 extra 解决结构;
  • 缺 ID/missing_slots 等属于跨字段业务规则;
  • customer_id 永不来自模型;
  • bounded repair 有上限、成本、首次错误和终点。

风险怎么防、怎么发现、怎么处理、怎么复验

风险提前预防怎样发现怎样处理怎样复验
extra 被忽略extra=forbid注入 customer_id 仍通过改严格配置extra 红测失败
错类型被转换strict 输入字符串预算变整数拒绝并修 Prompt/输入类型红测
repair 无限循环固定上限usage/尝试持续增加进入停止终态repair-exhausted 用例
改 Schema(数据结构约束) 破坏旧样本先写兼容测试全量回归失败最小改动或版本策略新旧用例全绿

自测

  1. JSON(结构化数据交换格式) Mode 与本地 Pydantic(Python数据校验库) 各自能保证什么?
  2. 为什么 extra customer_id 不应静默丢弃?
  3. 修复成功后为什么还要记第一次成本?
  4. 为一个可选偏好字段写兼容测试思路。

面试考点与面试题

考点:JSON Mode、JSON Schema、Pydantic、额外字段、跨字段校验、bounded repair。

  1. 为什么 json.loads 成功仍不能进入业务系统?
  2. 远端 strict 和本地验证各自负责什么?
  3. extra=forbid 在 LLM(大语言模型) 应用里有什么工程价值?
  4. 怎样设计有限修复,避免成本失控和事实漂移?

留给 D04

交付严格对象、校验器、失败对象、bounded repair 和结构评测。D04 只允许验证通过的对象进入固定商品筛选和受控只读 Function Calling(函数调用)。

和下次课的衔接:带去 D04 的是你自己跑出来的证据、失败复盘和已冻结的输入/输出约定。