别再只对 Agent 说“不要胡说”:用查证、标注、暂停,把幻觉变成可控流程

“这款 AI 产品目前的专业版价格是每月 XX 美元,最新模型为 X,支持 Y 功能。”

听起来是不是很专业?

问题是,当你打开官网,可能会发现价格已经调整,模型名称换了,某项功能也只对部分地区或套餐开放。Agent 没有提醒你信息可能过期,更没有说明它究竟查过官网,还是仅凭训练记忆补出了一个“像真的”答案。

这才是 Agent 最危险的时刻:

不是它不知道,而是它不知道自己不知道,还继续替你做决定。

很多人的第一反应,是在 Prompt 末尾补一句:“请不要编造,不知道就说不知道。”

这句话不能说没用,但约束太弱。它既没有定义什么情况属于不确定,也没有规定 Agent 发现不确定之后应该做什么。于是模型仍可能把旧信息当成现状,把推测包装成事实,甚至生成一条格式完整、实际不存在的引用链接。

更可靠的做法,不是反复警告模型“别犯错”,而是给它设计一条明确的处理路径:

先查证,再标注,必要时暂停。

---

Agent 为什么会“自信地答错”

假设你让 Agent 完成下面三个任务:

  • 查询某款 AI 产品当前价格和最新模型版本;
  • 根据公开资料判断一家公司的技术架构;
  • 按你的需求修改线上配置或生成合同条款。

这三个任务的风险完全不同,但普通 Prompt 往往只有一个统一指令:给我答案。

为了完成任务,模型会倾向于填满信息缺口。产品价格不确定,就调用已有记忆;技术方案没有公开,就根据招聘信息和产品表现推断;缺少预算、地区和业务用途,也可能先生成一套“通用方案”。

问题不只是答案可能出错,而是用户很难看出哪部分错了。

一段流畅的回答,常常混合了三类信息:

1. 有可靠来源支持的事实;

2. 根据现有线索得出的合理推断;

3. 为了让答案完整而自动补齐的未知信息。

如果三者使用同一种确定语气,读者看到的就不是知识,而是一锅已经搅匀的“信息粥”。

因此,降低幻觉不能只靠一句警告,而要把不确定信息的处理过程拆成明确动作。

---

“查证、标注、暂停”分别解决什么问题

这套框架的重点,不是让 Agent 变得保守,更不是一遇到问题就拒绝回答,而是让它根据不确定性的影响程度进行分流。

第一步:查证——能查的,不凭记忆

以下信息默认具有较强的时间敏感性:

  • 产品价格、套餐权益和可用地区;
  • 最新模型名称、API 参数和功能状态;
  • 政策法规、行业标准与合同条款;
  • 人物职位、公司状态和组织架构;
  • 库版本、接口文档和服务限制;
  • 任何精确数字、日期与关键配置。

遇到这些内容,Agent 应优先调用搜索、数据库、知识库或用户指定的文档,而不是从模型记忆里“捞答案”。

查证之后,还需要保留三个要素:

  • 来源是什么;
  • 查询发生在什么时间;
  • 不同来源之间是否存在冲突。

例如,查询 AI 产品价格时,官网定价页通常比搜索结果摘要、旧新闻稿和第三方博客更可靠。搜索摘要可以帮助定位页面,但不应直接成为最终证据,因为摘要可能被截断,也可能没有及时更新。

第二步:标注——查不全,也别装确定

现实任务中,很多问题没有唯一、完整的公开答案。

例如,你想判断某家公司使用了自研模型、开源模型,还是第三方 API。公开资料可能只能证明它招聘过算法工程师、上线了某项 AI 功能,却无法直接证明底层技术路线。

这时 Agent 可以继续分析,但必须把信息分开:

  • 【已验证】:有明确、可访问的来源支持;
  • 【推断】:基于现有事实得出的判断;
  • 【待确认】:缺少证据,或者来源质量不足。

标注的意义不是给回答加几个好看的标签,而是防止推断在传播过程中变成“事实”。

一个诚实的“目前无法确认”,往往比一段完整但无证据的结论更有价值。

第三步:暂停——影响结果的,不替用户决定

并非所有信息缺失都需要停止任务。

如果用户只是让 Agent 推荐几款适合通勤的耳机,缺少颜色偏好并不会改变核心方向,可以在明确假设后继续回答。

但如果任务涉及以下场景,就应该提高暂停优先级:

  • 删除数据或覆盖文件;
  • 修改线上数据库、权限与服务配置;
  • 计算费用、报价、税费或赔偿金额;
  • 生成可能直接使用的合同条款;
  • 提供医疗、法律等高风险建议;
  • 执行不可逆操作。

例如,用户只说“帮我清理线上旧数据”,却没有给出数据范围、备份状态和保留规则。此时最好的回答不是生成一条 DELETE 语句,而是暂停并询问最少的关键问题。

整套逻辑可以压缩成一句话:

能查则查,查不全则标,影响结论则停。

---

适合日常聊天的精简版 Prompt

如果你只是用 ChatGPT、Claude、Gemini 或国产模型进行普通问答,可以先使用下面这个版本:

处理任务中的不确定信息时,请遵守以下规则:

1. 涉及最新状态、价格、数字、政策、产品参数或可能变化的事实时,先使用可用工具或我提供的资料查证,不要仅凭记忆回答。

2. 将关键信息标记为【已验证】【推断】或【待确认】,不要把推断写成事实。

3. 如果缺失信息会明显影响结论,请暂停并提出最少、最关键的澄清问题,不要自行补全。

4. 引用来源时,请提供来源名称、链接和查询时间;无法确认时要明确说明。

5. 不得伪造链接、数字、引用或查证过程。

它的优势是短,适合直接添加到日常 Prompt 末尾。

但在工作流 Agent 中,仅靠几条原则仍然不够。你还需要定义来源冲突、工具调用和暂停条件。

---

可直接复制的完整版 Prompt

你在执行任务时,必须按以下规则处理不确定信息:

一、查证

  • 如果信息涉及最新状态、具体数字、政策条款、产品参数、人物职位或其他可能变化的事实,先通过可用工具或我提供的资料进行查证。
  • 不要仅凭记忆补全事实。
  • 查证后注明来源、查询时间;如果不同来源冲突,列出冲突,不要擅自选择一个结论。

二、标注

请将输出中的关键信息分为:

  • 【已验证】:有明确来源支持;
  • 【推断】:根据现有信息得出的判断;
  • 【待确认】:目前缺少证据或来源不可靠。

不要把推断写成确定事实,也不要伪造来源、链接、数字或引用。

三、暂停

如果缺失的信息会明显影响最终结论或执行结果,请暂停任务,不要猜测。

此时只输出:

1. 当前缺少什么信息;

2. 为什么它会影响结果;

3. 需要我补充的最少信息;

4. 如果可以查证,你建议使用什么来源或工具。

只有在不确定信息不影响核心结论时,才可以继续,但必须明确标注假设。

如果需要把输出交给程序处理,可以再强制 Agent 返回 JSON:

{

"status": "verified | partial | paused",

"verified_facts": [],

"assumptions": [],

"unverified_items": [],

"sources": [],

"clarifying_questions": [],

"answer": ""

}

三个状态分别代表:

  • verified:关键事实已经获得足够证据;
  • partial:可以继续回答,但存在需要提示或人工审核的不确定项;
  • paused:缺失信息会实质影响结果,必须先等待用户确认。

在 Agent 工作流中,可以这样处理:

result = agent.run(task)

if result["status"] == "paused":

ask_user(result["clarifying_questions"])

elif result["status"] == "partial":

show_warnings(result["unverified_items"])

request_human_review(result)

else:

deliver(result["answer"])

这一步非常重要:Prompt 不只是改变说话方式,还要真正影响后续程序是否继续执行。

---

三类任务对照:Agent 什么时候该查、该标、该停

案例一:查询产品价格或最新模型版本

普通 Prompt:

告诉我某款 AI 产品目前的价格和最新模型版本。

普通回答容易直接给出价格、套餐和版本名称,却不说明信息来自哪里、是什么时候更新的。

改用三段式 Prompt 后,理想行为应该是:

1. 优先访问产品官网定价页和官方文档;

2. 标明“截至本次查询时间”;

3. 区分网页标价与实际结算可能涉及的地区、税费差异;

4. 如果无法联网,不调用旧记忆冒充当前价格;

5. 官网不同页面存在冲突时,列出冲突并标记待确认。

这里不需要追求“回答更多”,而要观察它是否回答得有时间边界

建议截图:同一道价格问题,分别使用普通 Prompt 和三段式 Prompt,展示来源与时间戳的差异。

案例二:判断一家公司的技术方案

假设任务是:

根据公开资料,判断某公司使用的是自研大模型、开源模型,还是第三方 API。

普通回答可能从产品表现、招聘岗位和新闻报道直接推出确定结论。

三段式输出则应该类似:

  • 【已验证】公司公开招聘过大模型相关岗位,并发布了某项 AI 功能;
  • 【推断】这些信息说明公司具备一定的模型应用或研发能力;
  • 【待确认】没有公开证据能够证明其生产环境完全使用自研模型;
  • 【待确认】无法排除部分场景调用第三方 API 的可能。

同一组资料没有变化,但结论的可信边界清楚了。

这类任务尤其适合技术选型、竞品分析和商业尽调。资料支持“可能采用”,不等于证据支持“已经采用”。

建议截图:展示带有“已验证 / 推断 / 待确认”标签的完整回答,并保留 Agent 的搜索或知识库调用记录。

案例三:删除数据或修改线上配置

任务如下:

帮我删除数据库中的历史订单,并优化线上配置。

普通 Agent 可能立刻生成 SQL 和配置文件。代码看起来越专业,风险反而越容易被忽略。

三段式 Prompt 应触发暂停,只询问真正影响执行的问题:

1. “历史订单”的时间范围是什么?

2. 哪些表及关联数据在删除范围内?

3. 是否已有可恢复备份?

4. 业务是否要求保留审计、退款或财务记录?

5. 当前操作的是测试环境还是生产环境?

在这些信息没有确认前,Agent 可以提供只读检查语句、备份建议和执行清单,但不应直接给出可立即执行的破坏性操作。

建议截图:记录 Agent 触发 paused 状态后,只输出关键澄清问题,而不是继续生成删除指令。

---

不要测“回答像不像真的”,要测行为是否可复现

如果想比较不同模型执行这套模板的效果,可以准备一个包含 10—20 道固定问题的小型测试集。

这里的数字是测试设计建议,不是模型效果结论。每次测试都应记录:

  • 测试日期与模型版本;
  • 是否主动提供来源;
  • 来源是否真实可访问;
  • 是否注明查询时间;
  • 是否区分事实与推断;
  • 关键条件缺失时是否暂停;
  • 是否出现伪造链接或未经证实的数字;
  • 来源冲突时是否如实展示。

不要只运行一次,就宣布某个模型“幻觉更少”。单次输出会受到随机性、工具权限、系统 Prompt 和上下文的影响。

更合理的做法,是使用同一组问题、相同工具权限和统一评分规则,观察不同模型的行为一致性

---

Prompt 不是保险箱,还要加三道工程防线

三段式模板能改善行为,却不能保证事实必然正确。

Agent 可能错误地认为自己已经完成查证,也可能引用质量很差的网页。更麻烦的是,它甚至可能生成一段很像引用的文字,让你误以为背后真的有证据。

因此,关键业务还需要三道防线。

1. 限制可接受的来源

建立来源优先级:

1. 官网、法规原文和正式技术文档;

2. 企业内部知识库与经过审核的数据库;

3. 可信媒体或专业机构;

4. 普通网页、论坛和社区讨论。

搜索摘要只能用于定位线索,不能直接当作最终证据。涉及政策时,应追溯到原始文件;涉及 API 参数时,应优先查看对应版本的官方文档。

2. 为高风险任务设置强制停止阈值

只要涉及金额、法律、医疗、权限、数据删除或生产环境修改,存在关键不确定项就强制返回 paused

不要让 Agent 自己决定“问题应该不大”。风险阈值应由业务规则定义,并由工作流代码执行。

3. 保留完整核验记录

至少保存:

  • 来源 URL;
  • 页面或文档版本;
  • 查询时间;
  • 工具返回的原始内容;
  • Agent 使用了哪段证据;
  • 用户何时进行了确认。

这不仅方便人工复核,也能在答案出错时定位问题:究竟是来源错了、检索错了,还是模型理解错了。

最终应形成清晰的责任分工:

Prompt 负责行为规范,工具负责获取证据,人工负责高风险决策。三者不能互相替代。

---

今天就做一次同题对照测试

挑一个你经常交给 AI 的任务,例如查产品价格、分析竞品或生成执行方案。

先用原来的 Prompt 跑一次,再加入三段式模板跑一次。不要只比较谁写得更长、语气更像专家,而要重点检查:

  • 它有没有真实来源;
  • 有没有写明查询时间;
  • 有没有把推断伪装成事实;
  • 缺少关键条件时,是否愿意停下来。

想比较这套模板在不同模型上的执行效果,可以把基础版和进阶版 Prompt 放到 api.884819.xyz 接入的可用模型中,用同一道涉及最新信息的问题进行测试。

8848AI 平台内置 AI 对话功能,使用用户名和密码即可注册,不需要邮箱验证;没有月租和订阅,按量付费,Deepseek、千问等国产模型完全免费。

新用户注册即送体验token。

不要只比较“谁回答得更像真的”,更要比较:谁更诚实地暴露了不确定性。

最后记住这条规则:

能查证的,不凭记忆;无法确认的,不装确定;影响结果的,不替用户做决定。

但这套模板只解决了“Agent 不确定时应该怎么说”。更棘手的问题是:当它声称“已经查证”时,我们如何确定它真的看过来源,而不是生成了一段看起来很像引用的文字?

下一篇,我们将继续拆解:如何给 Agent 设计一套可审计的引用格式,让每条关键结论都能追溯到原文、时间和具体证据片段。

本文由8848AI原创,转载请注明出处。关注8848AI,带你从零开始学AI。

#Agent #Prompt技巧 #AI教程 #人工智能 #大模型 #8848AI #AI学习