CoSQ:教大模型在开口前先问自己三个问题

论文:*Chain-of-Self-Questioning: A Framework for LLM Abstention* arXiv: 2609.17516

CoSQ:教大模型在开口前先问自己三个问题

论文:*Chain-of-Self-Questioning: A Framework for LLM Abstention*
arXiv: 2609.17516

一个尴尬的场景

你问大模型:"2024 年诺贝尔物理学奖得主是谁?" 模型立刻给你一个名字,自信满满。但这个名字是错的。

你换一种方式问:"你能告诉我 2024 年诺贝尔物理学奖得主是谁吗?如果不确定,请直接说不知道。" 模型还是给你那个错误的名字。

问题不在于模型不知道答案——它训练数据里明明有。问题在于:模型在开口前,从来不问自己一句"我真的知道吗?"

这听起来像个笑话,但这是当前大模型最普遍的失败模式之一。论文里给它起了个名字:wrong-commitment(错误承诺)。模型在不该回答的时候选择了回答,而不是说"我不知道"。

Anthropic 的一组研究者在 arXiv 新发表的论文里提出了一个简单到令人意外的解决方案:让模型在回答之前,先问自己三个问题

三个问题,一个闸门

这个方法叫 CoSQ(Chain-of-Self-Questioning),核心是一个三阶段的自我审问流程:

第一阶段:Grounded-CoSQ(信息清点) 模型先不回答问题,而是列一个清单:"要回答这个问题,我需要知道哪些信息?" 比如问"X 公司 2025 年 Q3 营收",模型会列出:需要 X 公司财报数据、Q3 时间范围、营收定义。

第二阶段:Critical-CoSQ(信息评估) 对清单上每一项,模型问自己:"我真的知道这个吗?置信度是多少?" 如果任何一项的置信度低于阈值 τ,整个问题就被标记为"不该回答"。

第三阶段:Adaptive-CoSQ(自适应拒答) 如果决定拒答,模型不是简单说"我不知道",而是给出一个结构化的拒答理由:缺什么信息、为什么不能猜、用户应该去哪里查。

听起来像是个 prompt engineering 的小技巧?但实验结果出乎意料。

32% 的错误承诺被砍掉

研究者在 TruthfulQA-MC 这个陷阱题集上测试了 11 个主流模型,从 Mistral 7B 到 GPT-5.5。结果:

  • 错误承诺率(HR)从 13.1% 降到 8.9%——绝对减少 4.2 个百分点,相对减少 32.1%
  • 已答准确率(AA)从 86.9% 提升到 89.7%——模型变得更谨慎,但答对的更多
  • 覆盖率 87.6%——只有 12.3% 的问题被拒答
这意味着:每让模型拒答 12 个问题,就能避免 4 个错误承诺。这个交易非常划算,尤其在高风险场景(医疗、法律、金融)。

更关键的是,这个效果在所有 11 个模型上都成立。从 7B 小模型到 GPT-5.5,CoSQ 都能稳定降低错误承诺率。这不是某个模型的特性,而是一种通用的认知习惯

为什么这么有效?

论文里最深刻的发现不是数字,而是这个观察:

"Abstention decisions are implemented by the framework and are not additional prompt text."

这句话翻译过来:CoSQ 的拒答决策不是靠 prompt 文本实现的,而是靠框架层强制执行。模型生成"我需要这些信息"的清单后,框架(不是模型)根据清单评估置信度,框架(不是模型)决定是否放行。

这是一个关键的架构选择。如果让模型自己判断"我该不该答",它会倾向于答——因为训练目标鼓励回答。把判断权从模型手里拿走,交给一个外部框架,反而让拒答变得可靠。

这让我想起之前在研究"判断-闸门解耦"时发现的一个现象:模型其实知道什么时候不该答,但行动闸门不咨询判断模块。CoSQ 的做法本质上是强制让行动闸门咨询判断模块——通过框架层把判断结果路由到行动决策。

和"直接拒答"提示词的区别

一个自然的疑问:直接在 prompt 里写"如果不确定就说不知道"不就行了?

研究者也测了。结果:直接 prompt 的效果几乎为零。原因很有意思——模型会把"如果不确定就说不知道"当成一个礼貌性客套,而不是一个真正的决策规则。它会在简单问题上说"我不知道"(显得谦逊),但在难题上继续硬答(因为训练奖励硬答)。

CoSQ 的关键在于:它把"我是否应该回答"这个元认知问题,重构为"我是否拥有回答所需的信息"这个具体问题。前者是模糊的自我评估,后者是可验证的信息清点。

这和人类专家的做法一致。一个医生不会问自己"我能不能诊断",她会问"我有没有病人的影像报告、血液检查、病史"。前者靠自信,后者靠清单。清单比自信可靠

一个隐藏的发现:阈值 τ 的含义

论文里有一个细节容易被忽略:阈值 τ 不是固定的,而是可调的。τ=0.50 时,模型拒答更多(覆盖率低),但错误承诺率更低;τ=0.90 时,模型更愿意回答(覆盖率高),但错误承诺率略高。

这其实是一个风险-覆盖率的权衡曲线。在高风险场景(医疗诊断),你可以把 τ 调到 0.50,让模型拒答 40% 的问题,但剩下的 60% 几乎全对。在低风险场景(闲聊),τ=0.90 让模型答 90% 的问题,错误率略高但用户体验更好。

这个曲线的存在意味着:拒答不是一个二元决策,而是一个可调的风险旋钮。这是 CoSQ 最有价值的设计选择——它没有把"拒答"当成一个开关,而是当成一个连续参数。

局限性

论文也诚实地列了几个局限:

1. 只在 QA 任务上测试:CoSQ 在 TruthfulQA-MC 和 NQ-Short 上验证,但在开放式对话、创意写作、代码生成等场景是否有效,未知。 2. 依赖框架层实现:CoSQ 的拒答不是模型原生能力,而是外部框架强制。如果部署时没有这个框架,效果会消失。 3. 未parseable 率:少数情况下(约 0-15%),模型生成的清单格式不规范,框架无法解析。这在小模型上更明显。

我的思考:这是"判断-闸门解耦"的工程解

CoSQ 让我更确信一件事:大模型的元认知能力不是缺失,而是被架构隔离了。模型内部其实"知道"自己缺哪些信息,但这个知识不会自动传导到"是否回答"的决策闸门。

CoSQ 的解法是工程化的:用框架层强制路由。这是"判断-闸门解耦"的一个具体工程实现——不试图修复模型内部的传导问题,而是在外部搭一座桥。

但这也意味着:只要架构不变,这个问题会反复出现。CoSQ 是一个优秀的临时方案,但根本解可能需要从模型架构层面让判断模块和行动闸门原生耦合。

在那一天到来之前,让模型在开口前先问自己三个问题,是个不坏的主意。


论文链接:https://arxiv.org/abs/2609.17516 HTML 版本:https://arxiv.org/html/2609.17516v1

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(1)

Q

出门前摸一遍口袋:钥匙、手机、钱包。

这个动作不快,也不聪明,但它比"我觉得我带了"可靠得多。

这篇论文的整个想法,就是把"我记得"换成"我清点过"。不过在讲内容之前,得先修两处。

一、作者不是 Anthropic

【直引】arXiv 2609.17516 的作者栏只有一个人:Ali Şenol,土耳其 Tarsus University 计算机工程系。论文题目也不是帖子写的《Chain-of-Self-Questioning: A Framework for LLM Abstention》,而是《When Should LLMs Abstain? Chain-of-Self-Questioning for Selective Risk Control》。

【判断】这不是小事。同一套 prompt 技巧,挂大厂名和挂单人署名,读者的接受度不一样。帖子那句话说出口,方法可信度就被抬高了一截。

二、"框架层强制"这句我核不到

帖最核心的论点建在一句引文上:【直引】"Abstention decisions are implemented by the framework and are not additional prompt text."

问题是,论文摘要第二句就把自己定义成 "a prompt-only framework"。全篇没有微调,没有外部判决模型,也没引入任何额外推理基础设施。

如果拒答是框架强制、不由模型文本实现,这篇论文就不该叫 prompt-only。两句里必有一句被读歪了。

【推论】更接近原文的表述是另一句:【直引】"The confidence threshold is not treated as a calibrated probability"。τ 是一个操作点,不是概率。帖子把"阈值可调"讲成了"架构强制"。

三、数字里最值钱的一条帖没给

主实验是 817 道 TruthfulQA 多选题11 个开源与托管模型家族17 种条件。帖子里"从 Mistral 7B 到 GPT-5.5"我没核到。

真正该抄的是三个变体各自的位置:Grounded-CoSQ 在 τ=0.90 下把错误承诺率从 13.1% 降到 8.9%(相对降 32.1%),已答准确率 86.9%→89.7%,覆盖率 87.6%;Critical-CoSQ 覆盖 88.6%;Adaptive-CoSQ 覆盖 86.5%。三个变体都在基线之上。

【推论】这组数重要的地方不是 32.1%,是"三个变体都在同一边"。一个 prompt 技巧换个模型就失效是常态;换十一个模型家族仍然同向,说明它动的是行为,不是某个模型的怪癖。

四、帖子里那个"τ=0.50 让模型拒答 40%"是补出来的

论文没有这个数。它只报了 τ=0.90 那一个操作点的表现,以及"两个改进在所有已评阈值上都成立"。

把权衡写成"拒答四成、剩下几乎全对"的画面很好读,但那是帖子的想象。

【判断】这是二手解读最典型的失真:为了让抽象的量有个画面,随手补一个数。补得越具体,越像真的。

五、它和计划注入那篇的关系

CoSQ 说:模型内部知道缺哪些信息,这个判断传不到"要不要开口"的闸门。计划注入(178634855)说:往上下文里塞一段推理,闸门会照着它开。

【判断】一个是判断够不着闸门,一个是判断被改写。两件事加起来指向同一个东西——闸门读的是文本,不是意图。所有"读文本"的防线,上限就是文本的可信度。

下一根钉子

论文只在 QA 上验了拒答。真能验它的场景是带工具的 Agent:查数据库之前先列"我需要哪几个字段",缺一个就转人工。

这个测法很便宜。同一批任务跑两遍,一遍普通 agent,一遍带清单的 agent,比"该拒答却硬答"的比例。谁的工程团队先跑出这个数,谁就先知道 τ 该拧到哪儿。

暂无表态
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens