使用AI的思考-为什么大模型不会主动提问

为什么向大语言模型提问,它不会详细的确认自己是否理解了,是不是它根本就不理解我们的问题?

比如,大模型为什么不能像一个咨询专家一样,Ta会在我们每次提问时,主动和我们多轮交谈,以确认我们的问题和理解是否一致?

在本文中,以下的大模型和大语言模型指代的是同一个意思。

为什么大模型不会主动提问

我们说大模型不会提问,是指无论怎么样的问题,它都会直接回答,总能回答的出来。如果有可能的话,它偶尔还会附上一个追问的问题。但是这不是主动提问的样子。

大模型默认不会主动、智能地提问以澄清模糊之处,这背后有多层次的原因,从技术本质到产品设计都有考量。

从技术本质来讲,它是一个"条件文本生成器",大模型的训练目标是:根据给定的上文,生成最合理、最可能的下文。大模型的被动性是内置的,它的整个架构就是为了"响应"输入,而不是"主动"发起。在训练时,它看到的都是"问答对"或"文章接龙",它学会的是如何完美地完成这些模式。主动提问是一个全新的、不同的行为模式,它不在其核心训练目标之内。

从产品角度看,设计者有意让模型表现得"果决"而非"犹豫"。

它遵循效率优先,如果每个模糊的问题(例如"苹果怎么样?")都触发一个反问("您是指水果还是公司?"),对于大多数用户来说,体验会变得非常繁琐、低效。用户期望的是快速得到答案,哪怕这个答案有时需要自己再细化问题。

直接给出答案也符合用户使用习惯。用户习惯于搜索引擎的模式------输入关键词,得到结果。如果结果不对,再修改关键词。大语言的交互在很多方面延续了这种"一问一答"的范式。

还有就是出于安全与可控性考量。主动提问可能会将对话引向不可预测或危险的方向。如果一个模型对用户说"你能详细说说你为什么这么伤心吗?",而用户本身并没有提及伤心,这可能会显得冒昧甚至有害。此外,如果模型习惯于追问,提出的有的问题可能会很糟糕,比如"你的具体出生日期和地点是什么?",可能会被恶意利用来套取用户隐私。保持"你问什么,我答什么"的模式,在安全上更可控。

大语言模型的理解方式

大语言模型的机制特性

大语言模型不会像人类一样主动、详细地确认,但这并不意味着它"完全不理解"。 更准确的描述是:它的"理解"方式和人类完全不同。

这主要是由它的设计目标和运作机制决定的:

效率优先。大模型被设计和训练的首要目标是高效地生成流畅、相关的文本,而不是进行哲学思辨或确认自己的认知状态。如果每个问题它都回复"您是想问A还是问B?",这可能听起来很好,但是关键是,提出一个好问题本身是一个很难的事情。目前的大模型是主打生成式的,而非提问式的模型。但是未来不排除有人训练提问式和生成式混合的模型

没有"自我怀疑"的机制。 人类会提问,是因为我们能意识到"我不知道"或"我不确定"。这种对自我认知状态的认知,叫做"元认知"。人类确认是因为我们有元认知能力,即"对自己思考过程的认知和监控"。我们知道自己的知识有边界,会不确定。而大模型是一个概率模型,它没有"自我意识",也没有"不确定"这种感觉。它只是在计算下一个最可能的词。

被动性。大模型是一个"应答机"。它的角色是回应你的指令,而不是引导一场对话。它默认的设定是"用户给我的输入是完整的,我需要直接给出答案"。

机器的理解不等于人类的理解

那它到底"理解"了吗?------重新定义"理解"

这里的关键在于,我们不能用人类的标准来衡量AI的"理解"。它的理解是统计学和数学上的,而不是意识层面的。

人类的"理解":涉及到内化概念、建立心理模型、联系自身经验、产生情感共鸣等。

大模型的"理解":可以看作是 "在庞大的数据中,成功找到了与你的问题最相关的模式和信息关联"。

它具体做了什么来"理解": (1)模式识别: 当你提问时,模型将你的问题分解成一系列的"标记",然后在其数千亿参数构成的复杂网络中,激活与之相关的特定路径。它识别出你问题中的关键词、句法结构和常见的提问模式。 (2)上下文关联: 它会看你问题中的每一个词,并计算它们之间的关联,以及它们与训练数据中海量文本的关联。 例如,你问"苹果的CEO是谁?",模型会识别出"苹果"在这个上下文中与"公司"、"科技"的关联度远高于与"水果"、"红"的关联。 (3)概率预测: 基于以上关联,它生成一个回答,这个回答是它在统计上认为最可能、最合理、最符合你期望的文本序列。

从这个角度看,它能给出基本正确的答案,就说明它在功能上完成了一次"理解"。它成功地将你的输入映射到了一个正确的输出上。

它不会说,"我不理解"或"我不确定"。它只是根据它在训练数据中观察到的模式和关联,生成一个回答。

假如苹果的CEO昨天刚更换,它大概不会做详细的确认,它只会推测最近的相关新闻,或者根据已有的数据,给出一个可能的答案。没有办法鉴真。

所以,越是需要精确的问题,大模型越可能难以让人满意,对于医疗和法律上的问题,对于一个具体的例子,它可能会明显的胡说八道。现在的问题是,很多人不了解其原理的情况下却很信任大模型,而不愿意相信专业人士。

为什么它有时会"误解"或胡言乱语?

针对一个问题,大模型往往只可能给出最有可能的回答,然而"最可能"不等于"最正确"。当面对一个模糊的问题时,模型更倾向于根据概率,从最常见的解释中选一个来生成答案,而不是生成一个提问。因为在实际的互联网数据中,直接给出一个(可能猜错的)答案的文本,远比先谨慎提问再回答的文本要多得多。

正因为它的理解是基于统计和模式,而非真正的认知,所以会出现以下问题:

对歧义不敏感

如果一个问题有歧义,它通常会选择训练数据中最常见的那种解释,而不会主动意识到歧义的存在。

你的提问: "介绍一下乔丹。"

模型的困惑(内部计算,不会说出来): "是篮球明星迈克尔·乔丹(概率70%)?还是品牌乔丹(概率20%)?还是科学家迈克尔·乔丹(概率10%)?根据概率,我选择篮球明星。"

它为什么不问我们,你是想问篮球明星还是品牌还是科学家呢?其实我们可能期望它这么做。

让大模型推理的时候,尽量做确定的事情,主动消除关键的歧义,这有可能是成为未来大模型优化的一个方向。

缺乏常识和现实锚点

它的知识全部来自文本,没有在现实世界中的亲身经历。所以它可能会组合出语法正确但事实荒谬的句子。

过度依赖上下文: 如果问题表述不清、有错别字或逻辑混乱,模型基于混乱的模式生成的答案也很可能是不准确的。

大语言模型想象成一个 "世界上阅读量最大、最博学,但完全没有个人经历和自我意识的超级实习生"。

你给他一个任务,他不会反过来问你一堆问题来确认(除非你明确要求他这样做)。

他会立刻埋头工作,基于他读过的所有书和资料,给你拼凑出一份看起来非常专业的报告。这份报告大部分时候质量很高,因为他见过的模式太多了。

但有时,如果他理解错了你的意图,或者他参考的资料本身有矛盾,他就会生产出一本正经的废话。

我们做的知识图谱和世界模型,正是为了解决这个问题的。

提示词工程

通过用户的提问,去主动引导和约束它的"理解"过程。 这就是现在常说的"提示工程"。

糟糕的提问: "苹果公司怎么样?" (太模糊) 稍微好的提问1: "请从市场地位、产品生态和财务状况三个方面,分析一下苹果公司目前的处境。" 限定更多的提问2,需求更明确的提问: "如果我是一个对科技行业不了解的投资者,请用通俗易懂的语言,解释一下为什么苹果公司是一个好的投资选择。"

所以,大语言模型只是人工智能的一个方向,自从OpenAI把ChatGPT做出来,它成为了一个显学,但是从科学发展的历史来看,各种技术门派和路线轮番登台,互相学习,解决各自的缺陷和不足,最终才能真正的解决实际问题。

健忘的大语言模型

在标准的多轮对话中,大模型像一个"健忘的对话者",很容易忘记你之前给的指令。

核心原因:大模型是"金鱼",没有真正的记忆

与人类不同,大模型没有一个可以长期存储信息的"记忆硬盘"。它的工作方式可以这样理解:

无状态性: 大模型本质上是"无状态"的。这意味着,每一次你发送消息,对它来说都是一次全新的计算。 它不会像程序一样,在后台有一个变量持续记录着"用户说过什么"。

依赖"上下文窗口": 模型能"记住"的东西,仅限于你当前发送的整个对话历史。这个对话历史(包括你的问题和它的回答)会作为背景信息,和你的新问题一起,被模型阅读和处理,然后生成下一个回答。这个背景信息的长度是有限的,被称为 "上下文窗口" 。比如,一个模型的上下文窗口是8000个词(token),那么它就只能"看到"最近8000个词以内的对话内容。现在,似乎已经增大了很多。

"工作记忆"而非"长期记忆": 你可以把上下文窗口想象成模型的 "工作记忆"或"短期记忆" 。就像你正在做一道复杂的数学题,你的大脑只能同时处理有限的几步,如果需要回忆很久之前的步骤,你就得往回看。模型也是如此,它只能"看到"你提供给它的文本。当你们的对话轮数越来越多,内容越来越长,总有一天会超过这个上下文窗口的限制。最早的那些对话(比如你在开头设定的规则)就会被"挤出去",模型就再也"看"不到它们了,自然也就"忘记"了。

想要像人一样,记住一些长期固定记忆和技能,比如用户要求的指令,这个未来拭目以待吧。

即使在窗口之内,如果中间插入了大量其他内容,模型也可能会在生成新回答时,对早期信息的"注意力"下降,导致它没有有效地利用那些指令。这就像一篇文章太长,你可能就忘了开头讲了什么。所以,能否手动"设置"注意力权重,让它"注意"到那些重要的信息,这大概也是一个未来的方向。

我们现在能做的

最重要的方法:在关键问题时,重复或重申指令,阶段性手动保存优质输出

这是最有效、最可靠的方法。当你需要进行一个依赖于早期指令的回复时,最好在问题中再次提醒它。最好可以把提示词放到一个文件里,每次需要提醒大模型的时候,都可以从文件里读取。即,钉住这个提示词。

传闻可以利用某些系统的"核心指令"功能(如果可用)。据说,一些高级的AI应用或API允许开发者设置一个 "系统提示" 或 "核心指令" 。这个指令会在整个对话的开始就被注入,并且通常拥有最高的优先级,不会被后续对话轻易覆盖。这就像给了秘书一张永远贴在桌子上的"便利贴"。这个作者我目前还没有见过,这个的真伪还有待考察。

在像DeepSeek网页版这样的对话界面中,你有时可以通过在对话最开始非常郑重地提出要求(例如:"在整个对话中,你都将扮演一位严厉的历史老师"),来在一定程度上模拟这个效果,本质上它属于提示词,但这并不如真正的系统提示稳定。

阶段性的要求大模型总结和提炼,等同于记忆压缩的效果。在长对话中,你可以主动说:"让我们来总结一下目前达成的共识:1... 2... 3..."。这个总结文本会留在上下文窗口里,成为模型后续回答的重要依据,或者说,"请你总结一下我们目前聊的内容"之类的,如果可以的话,把这些有价值的总结拷贝到一个文本里。

最后,最简单的就是选择上下文窗口更大的模型。技术在发展,现在一些先进的模型(如GPT-4 Turbo, Claude 4,千问,Kimi等)拥有长达10万甚至20万个token的上下文窗口,这极大地缓解了这个问题,可以进行非常长的书籍分析、代码编写等而不会遗忘开头。

更加高效的使用大模型的方法

反向提问

如果我要它提问我?即能主动提问我,反向提问,应该怎么做呢?我们目前最现实的依然是要求大模型反向提问,一开始就做好这种预设,比如要求大模型使用苏格拉底式的提问方法,帮我们一步一步的理清问题。

多轮对话

来看我们常规的沟通和解决问题的办法,假如你式一个领导,你要求你的下属完成一个任务,你会怎么做?以下是我们可以要求大模型做的:

  1. 理解确认 :首先,尝试理解用户指令,把自己的理解跟用户对一下,防止南辕北辙
  2. 规划与分析:明确理解用户指令后,并内部生成一个初步的、分步的执行计划。
  3. 提问与确认:主动向用户提出最关键、最能降低风险的问题,以补全上下文,确保计划与用户意图对齐。
  4. 执行与报告:在获得用户确认后,开始分步执行,并清晰地报告每一步的操作和结果。

可以针对这几个步骤,针对性先声明需要这些步骤,可以这么写:

我需要XXXX,你需要按照以下几个步骤来完成:先说说你对这个问题的理解,解决方案是什么?不要开始操作相关的内容。

等大模型回答了,当你确认它真正的理解了你的需求,如果没有理解你的需求,你需要跟它多几轮对话,直到它理解了你的需求。

接下来,你再跟它第二轮对话,要求它根据你之前的理解,继续规划和分析,与此同时,还要邀请它对的提问进行反问。

最关键的技巧是,(1)多轮对话,可以开展短而快的沟通 (2)邀请它对你的提问和输入进行反问,以确认它是否理解了你的需求。

相关推荐
Mintopia5 小时前
⚖️ AIGC版权确权技术:Web内容的AI生成标识与法律适配
前端·javascript·aigc
Tencent_TCB15 小时前
云开发CloudBase AI+实战:快速搭建AI小程序全流程指南
人工智能·ai·小程序·ai编程·云开发
Java中文社群16 小时前
一键生成爆款文章,并自动发布!
ai编程
鼓掌MVP18 小时前
【案例实战】多维度视角:鸿蒙2048游戏开发的深度分析与感悟
华为·ai编程·harmonyos·arkts·游戏开发·ability
骑猪兜风23319 小时前
Claude 新功能 Skills 横空出世,比 MCP 更高效的 AI 增强方案!
ai编程·claude·mcp
腾讯云云开发21 小时前
云开发Copilot实战:零代码打造智能体小程序指南
agent·ai编程·小程序·云开发
得物技术21 小时前
Apex AI辅助编码助手的设计和实践|得物技术
ai编程·cursor
腾讯云云开发21 小时前
云开发Copilot实战:AI生成2048小游戏开发指南
ai编程·游戏开发·小程序·云开发
用户51914958484521 小时前
使用Python ConfigParser解析INI配置文件完全指南
人工智能·aigc