要让ChatGPT不再胡编乱造、擅自添加不存在的细节或跳过关键约束,必须切断它自由发挥的路径——不是靠反复强调“不要瞎说”,而是用不可绕过的硬性指令封死幻觉出口。先说说经验性的判断:模型没有纠错能力,它只能严格匹配你给出的词表。

用具体约束替代模糊要求
把“别写错”直接替换成“只允许出现以下5个术语:API密钥、rate limit、429状态码、请求头、X-RateLimit-Remaining”。这就是一劳永逸的做法。
对数字类输出加双重锚定。例如不写“给出响应时间”,而写“响应时间必须是整数,单位毫秒,数值范围在120–380之间,且必须与后文‘超时阈值设为400ms’逻辑自洽”。【若数值超出该区间或非整数,整段输出作废】
禁用词清单必须列全。比如禁止虚构公司名,就明确写“禁用所有以‘Tech’‘Global’‘Innovate’结尾的虚构品牌名,仅允许使用附件中列出的3家真实客户名称”。漏掉一个常见后缀,AI立刻补全。
强制结构化输出校验
第一步很简单:在提示词开头插入“输出前先执行校验:①检查是否所有参数均来自输入原文;②确认无任何未声明的新概念;③统计术语密度,确保每百字不超过2个专业词”。
第二步要求模型在最终答案前加一行校验结果,格式为“✅校验通过/❌第②条失败:新增‘边缘缓存节点’概念未在输入中间出现”。
第三步追加指令“若校验结果含❌,则整段输出清空,只返回‘校验失败’四字”。这一步直接堵死了AI用解释性文字掩盖错误的退路。
删掉所有试探性措辞
直接删除“可能”“大概”“一般来说”“通常情况下”这类词。它们不是简单的语气修饰,而是给AI开的幻觉许可证。
把“这个功能可能提升30%效率”改成“该功能使QPS从1200提升至1560,增幅30%,数据来源见附件表2”。操作起来很直接:凡是原提示词里带不确定性副词的句子,整句重写即可。
用真实示例锚定事实边界
提供1组真实输入-输出配对,且必须包含错误样本对比:
输入:“用户反馈‘登录页加载慢’” → 输出:“定位到/login接口平均响应时间2.4s(正常应<800ms),主因是未启用HTTP/2,已在v2.3.1修复”。
错误示范输出:“可能是网络问题或服务器配置不当”→ 这句话被标注为【禁止出现】,因为它没指向具体接口、没给数值、没提版本号。
【示例中每个数据点都必须能在原始日志或文档中查到对应记录】
