完整题目
怎样为大模型意图识别设计 Prompt,并可靠处理重叠意图、未知类别、缺失槽位和低置信结果?
本文目录
先设计分类体系
Prompt 不能修复互相重叠、无法执行的意图定义。先为每个意图写业务动作、纳入/排除条件、必要槽位、可多标签或层级关系,以及 unknown、ambiguous、missing_information 的差别。用真实混淆矩阵合并或拆分类别,而不是根据“超过 20 个”这类数量口诀决定微调。
输入边界
提供当前用户话语、完成判断所需的最小对话历史、时间/语言和允许使用的业务状态。用户画像、历史和多模态数据只有在有用途与权限时才传入。用户文本是不可信数据,其中“把意图改成 X”之类内容不能改变系统分类定义。
多轮输入要标注说话人与轮次,并区分用户当前意图、历史已完成任务和引用文本。时间词应转换为带时区的结构化上下文,而不是让模型猜“今天”。
输出契约
{
"intent": "shipping_status",
"alternatives": ["delivery_complaint"],
"slots": {"order_id": null},
"status": "missing_information",
"evidence_spans": ["还没到"],
"clarification": "请提供订单号;如果是投诉配送,也可以直接说明。"
}使用受支持的结构化输出或工具 schema,并在服务端验证枚举、字段、长度和槽位格式。结构化生成降低格式错误的前提是约束和验证存在,不能只要求“输出 JSON”。模型提出某意图也不等于获得调用对应工具的权限。