一句话说,自我提问(Self-Ask) 是一种提示(prompting)策略:在被问到复杂问题时,模型不急着给答案,而是先显式写下"我还需要搞清哪几件事",把这些子问题逐个回答,最后再把答案拼回原问题。
它是怎么运转的
大模型有一个天然短板:如果答案需要把好几条事实串起来,它容易在"串"的那一步出错——研究者管这叫组合性鸿沟(compositionality gap)。单一事实它都知道,拼起来就含糊了。
自我提问的做法是硬性插入一段结构:先输出子问题清单,再逐个作答,最后综合。关键在于,这些子问题一旦被写进上下文,它们的答案就从"隐含在参数里的模糊印象"变成了后续推理可以直接引用的事实。
打个比方:装修师傅接到"这面墙能不能砸",不会直接抡锤子,而是先自问三句——这是承重墙吗?墙里有管线吗?物业什么规定?三个都问清楚了,结论自然落地。反过来,凭直觉拍脑袋,往往就是"我知道该怎么干"和"我真能干对"之间的差距。
实践中,自我提问常和检索搭配使用(常被称作 self-ask with search):每提出一个子问题,就去外部检索一次,而不是一次性把整段原始问题丢给搜索引擎。搜索词更短更准,命中率自然更高。
和相邻概念的区别
| 方法 | 模型先做什么 | 是否要外部工具 | 典型场景 |
|---|---|---|---|
| 直接回答 | 直接给答案 | 否 | 常识、单点问题 |
| 思维链(AI 词典:Chain-of-Thought">Chain-of-Thought) | 连续推导,但不显式提问 | 通常否 | 单链条的算术、逻辑题 |
| 自我提问(Self-Ask) | 先列出子问题清单,逐一回答 | 可选,常配检索 | 多跳、需要拼装多个事实 |
| ReAct | "想一步、做一步"交替循环 | 是 | 需要与环境或工具反复交互 |
最容易混的是思维链和 ReAct。思维链像一篇推理作文,是连续往下写的;自我提问多了一层显式的问题边界,哪一步问什么、答什么一目了然。ReAct 则是边想边动手的循环,而自我提问更像开工前把清单列全。
对你有什么用
对 AI 从业者:这是提升多跳问答准确率、同时提升可解释性的便宜手段。用户问"某公司现任 CEO 的母校在哪",一次检索基本没戏;拆成"CEO 是谁"→"他在哪读的大学",每步都能命中。而且当答案错了,你能立刻定位是哪个子问题答歪了——这是端到端回答给不了的调试粒度。落到代码里,通常就是一段固定格式的提示词加一个控制循环。
对普通职场人:可以直接把这个套路用在日常提问上。与其问"我们这个业务该不该上 AI 客服",不如先让模型拆——现有客服成本结构是什么?哪些问题类型占比最高?AI 能覆盖到哪一层?你得到的会是一份可核查的分析框架,而不是一段听着顺耳的结论。
需要注意两点:拆解的质量本身就是上限,拆歪了后面全歪;简单问题硬拆反而啰嗦,还会多花调用成本。所以它适合"需要跨多个信息源才能答"的题目,不适合"今天星期几"。
各家模型对这套提示的支持程度、以及配套工具接口的细节,以官方页面为准。
