第 1.4.2 节:把模型回答约束成可校验的字段契约
结构化输出与字段不能只停留在口头约定,还需要落实为字段、校验和失败处理。完成本节后,你应该能够把结构化输出与字段落成字段表、校验规则、错误处理和验收样例。
核心概念
Prompt(提示词)
Prompt(提示词)是给模型的任务说明。它不仅包括用户输入,也包括系统角色、边界、上下文、输出格式和示例。
一个工程化 Prompt 通常包含:
- 角色和任务。
- 可用资料。
- 行为边界。
- 输出格式。
- 示例。
- 异常处理规则。
结构化输出
结构化输出 是让模型按可解析格式返回结果,例如 JSON(结构化数据格式)对象。
它解决的问题是:让模型输出可以被程序读取,而不是只给人看。
数据契约
数据契约说明模型必须返回哪些字段、字段类型是什么、哪些值允许出现、哪些字段不能为空。
在 Python(编程语言)项目中,Pydantic(数据校验库) 是表达数据契约的常用工具。
四层解释法:结构化输出
| 层级 | 解释 |
|---|---|
| 人话解释 | 结构化输出就是让模型别只写一段话,而是按系统能读取的字段返回判断结果。 |
| 项目位置 | 在客服工作台里,它位于用户问题和后续动作之间,决定是否回答、追问、查资料、查订单、建工单或转人工。 |
| 工程动作 | 设计字段、枚举值、必填项、校验规则、失败重试、降级路径和回归测试样例。 |
| 面试说法 | 我会把 Prompt 当成模型和业务系统之间的接口说明,输出必须能被校验和追踪,而不是只让模型自由发挥。 |
本章在客服 Agent(智能体)工作台中的位置
| 工作台层级 | 本章负责什么 | 和后续章节的关系 |
|---|---|---|
| 用户入口 | 接收用户原话和会话信息 | 第 1.5 章会把它接入第一个最小 Agent(智能体)。 |
| 模型理解层 | 判断意图、风险、缺失信息和下一步动作 | 第 1.6 章根据下一步动作进入工具调用。 |
| 数据契约层 | 规定输出字段和枚举范围 | 后端、前端、日志和测试都依赖这些字段。 |
| 校验与兜底层 | 处理解析失败、字段缺失和高风险动作 | 第 1.7 章会把失败状态放入会话管理。 |
| 面试表达层 | 把 Prompt 讲成工程接口 | 求职模块会继续复用这个说法。 |