幻觉与应对 Prompt 工程:用指令约束幻觉 PM 视角:写需求文档、对接 AI 接口时,如何通过 System Prompt 减少模型编造。 手段 01 / 04 · 预防 一句话速览 约束指令 + 局限性:模型不知道自己不知道什么
选择业务场景
场景 A · 智能客服 电商 / 金融客服机器人 用户问产品细节、退款政策,模型极易编造不存在的规则。
场景 B · 内容创作 AI 写作助手 / 公文生成 生成报告时模型可能捏造数据、引用不存在的法规文件。
场景 C · 知识问答 企业内部知识库问答 员工问内部流程,模型用通用知识填充,与公司实际规定不符。
PM 操作要点 加载中…
对话对比
对比视图 Prompt 模板 为什么有效 三种策略
无约束 Prompt
加约束 System Prompt
System Prompt 模板 · 可直接复用
无上下文 附上文档 强制说不知道 以「量子纠缠2025年商业应用」为例
发送给模型的内容:
模型回复:
没有 System Prompt
用户问题 → 编造的答案…
模型直接基于训练记忆推 Token,碰上知识盲区会流畅地编造
加入约束 System Prompt
用户问题 + 如果不确定 就说不知道 → 我不确定…
蓝色的约束词成为上下文的一部分,拉高了「承认不知道」这个序列的概率
模型推下一个 Token 时, 当前上下文里的每一个 Token 都在影响概率分布。 System Prompt 注入的约束词,就是在上下文里放入 「高质量的前文」 : 它让「我不确定」这个序列的概率上升,让编造序列的概率下降。 本质:用精心设计的前文,定向干预后文的概率分布。
⚠ 局限性:模型不知道自己不知道
约束指令有效的前提
模型对某个问题 有一定不确定感 时,约束词能把它推向承认不知道的序列。 → 适合: 问题超出知识范围、模糊查询、时效性信息
约束指令失效的场景
模型对某个错误答案 高度自信 时,它推出的第一候选词就是错的,约束词干预不了这个概率。 → 失效于: 训练数据里的系统性错误、过时知识被当作事实
PM 应对策略
对于「模型高度自信但可能出错」的领域,Prompt 约束不够, → 需要搭配 RAG(注入真实知识) 或 人工审核兜底