第 1.4.1 节:把 Prompt 拆成角色、任务、约束和输出格式
Prompt 不能只停留在口头约定,还需要落实为字段、校验和失败处理。完成本节后,你应该能够把 Prompt 落成字段表、校验规则、错误处理和验收样例。
本章要解决什么问题
Prompt(提示词) 经常被误解成“让模型听话的咒语”。在商业项目里,这种理解很危险。
一个 AI Agent(人工智能体)系统不是只要模型回答得像样就行。后端服务、前端界面、数据库、工具调用和业务流程都需要读取模型结果。如果模型今天输出一段话,明天输出一个半截 JSON(结构化数据格式),后天换了字段名,系统就会变得不可维护。
所以本章的核心观点是:
Prompt 不是玄学文案,而是模型和业务系统之间的接口说明。
结构化输出不是为了看起来专业,而是为了让后续系统可以可靠读取、校验、存储和执行。
学习目标
读完本章后,你应该能够:
- 解释 Prompt 在工程系统中的角色。
- 区分系统指令、任务指令、用户输入和上下文资料。
- 设计稳定的结构化输出。
- 使用 Pydantic(数据校验库)表达输出契约。
- 理解为什么输出需要校验和失败处理。
- 为 Prompt 建立最小回归测试思路。
为什么要学这一章
读者对 AI Agent 有一点了解后,往往会先学 Prompt。但在真实项目里,Prompt 不是“让模型说得更好听”,而是让模型输出能被系统接住。
客服工作台尤其依赖结构化输出。用户说“你们客服没人理,我要退款”,系统不能只拿到一段安抚话术。它必须知道:这是退款还是投诉,风险等级多高,是否缺订单号,下一步是追问、查知识库、准备工具调用、创建工单,还是转人工。
这一章的价值是把 Prompt 从文案能力升级为工程能力:让模型输出成为可校验、可存储、可路由、可复盘的业务字段。
业务场景
客户希望做一个售后客服 Agent。用户输入:
我买的设备用了两天就坏了,客服也没人回我,你们到底能不能退款?
如果模型只返回一段自然语言,后端很难判断下一步该做什么。系统真正需要的可能是:
- 用户意图:退款、投诉、维修。
- 情绪风险:高。
- 是否需要人工:是。
- 是否需要订单号:是。
- 下一步动作:创建工单或转人工。
- 回复草稿:安抚用户并收集订单号。
这就是结构化输出的价值。它让模型输出变成业务系统可以处理的数据。
真实岗位会怎么问
岗位面试通常会把 Prompt 和“系统能不能稳定运行”放在一起考。
| 真实问法 | 背后考点 | 回答方向 |
|---|---|---|
| 你怎么让模型稳定返回系统能用的结果? | 结构化输出、字段契约、校验 | 讲任务拆分、字段设计、枚举值、必填项、校验和失败兜底。 |
| 为什么只让模型返回 JSON(结构化数据格式)还不够? | 契约和解析稳定性 | 还要定义字段含义、范围、错误处理和回归样例。 |
| 客服投诉场景怎么防止模型误判? | 风险识别和规则兜底 | 高风险关键词、业务规则、人工转接和日志复盘要一起做。 |
| Prompt 改了以后怎么保证没退化? | 回归测试 | 用固定样例集覆盖咨询、退款、投诉、缺字段、恶意输入和超范围问题。 |
| 模型输出了“直接退款”,系统能不能执行? | 高风险动作边界 | 不能。模型只能建议动作,执行前必须经过权限、规则和人工审批。 |
贯穿项目:客服工作台的意图识别与回复契约
在“企业客服知识库与工单 Agent 工作台”里,Prompt 最先承担的不是写漂亮回复,而是把用户问题转成系统能处理的结构化结果。
读图重点:Prompt 不是一段“咒语”:只有校验通过的结构化结果才能进入业务流程,失败必须回到修订、降级或人工复核。
| 用户原话 | 系统需要识别什么 | 后续可能动作 |
|---|---|---|
| 我买的设备用了两天就坏了 | 售后维修或退款意图、情绪风险、中高优先级 | 查询售后政策,要求补充订单号。 |
| 我的订单怎么还没发货 | 订单查询意图、需要订单状态工具 | 第 1.6 章进入查订单工具。 |
| 我要投诉你们客服 | 投诉意图、高风险、需要人工 | 创建投诉工单或转人工。 |
| 这款产品适合老人用吗 | 产品咨询意图、需要知识库 | RAG(检索增强生成)检索产品说明。 |
| 你直接给我退款 | 退款诉求、高风险、不能直接承诺 | 说明需要核验订单和政策,进入审批或人工。 |
本章要交付的是客服工作台的“输出契约”:模型判断完之后,系统能明确知道下一步是回答、追问、查资料、查工具、建工单还是转人工。
新手为什么会卡住
| 常见误解 | 项目后果 | 正确理解 |
|---|---|---|
| Prompt 写得详细就够了 | 模型仍然可能换字段、漏字段、输出解释文字 | Prompt 必须配合结构化输出、校验和失败兜底。 |
| 结构化输出就是要求返回 JSON(结构化数据格式) | 模型可能返回格式不稳定,后端无法读取 | 关键是字段契约、枚举范围和校验规则。 |
| 回复写得像客服就行 | 系统不知道是否要查工具或转人工 | 输出必须包含意图、风险、动作和依据。 |
| 一次 Prompt 能解决所有场景 | 场景越多越不稳定 | 按任务拆 Prompt,例如意图识别、答案生成、工具结果总结。 |
| 模型输出可以直接执行动作 | 高风险动作可能误触发 | 模型只能建议动作,系统要校验权限和风险。 |