一句话定义:常识推理(Commonsense Reasoning)是指运用那些"人人都知道、却几乎没人专门写下来"的日常知识,去补全没说的信息、判断一件事是否合理的能力。
我们说话写字都是"压缩"过的。"我把蛋糕放在桌上去接了个电话,回来时弟弟一脸心虚"——这句话根本没提蛋糕怎么了,但你自动补出了"蛋糕大概被动了"。这个补全过程你毫无察觉,也没在课本上学过,因为它是被生活泡出来的。
对模型来说,麻烦不在于"知不知道蛋糕是什么",而在于这类知识几乎不出现在正式文本里。百科会写珠穆朗玛峰的海拔,但不会写"人摔一跤会疼""太阳晒久了冰淇淋会化""湿手去碰插座很危险"。常识的特点恰恰是:数量极大、边界模糊、默认成立、允许例外。你没法用规则穷举,也很难靠检索查全。
有一类经典检验方式叫 Winograd Schema(威诺格拉德模式):同一个句子只换一个词,指代关系就反过来。比如"奖杯放不进箱子,因为它太大了"和"因为它太小了",前一句的"它"是箱子,后一句是奖杯。人零成本看懂,模型得靠概率去猜,稍不留神就翻车。
它和相邻概念不是一回事
| 维度 | 常识推理 | 事实知识问答 | 形式化逻辑推理 |
|---|---|---|---|
| 知识来源 | 生活经验,极少被写下来 | 百科、文档、资料库 | 规则、公理、定义 |
| 典型问题 | 猫进了厨房,桌上蛋糕会怎样 | 珠峰有多高 | A>B、B>C,谁最大 |
| 对错性质 | 多数情况成立,有例外 | 通常有明确答案 | 可机械验证 |
| 主要难点 | 隐含前提多,需要"补全" | 检索与记忆 | 推理链条长 |
尤其要区分常识和"事实":事实是"可以查的",常识是"没人会去查的"。逻辑推理则是封闭的、形式化的,而常识推理是开放的、带概率的——"鸟会飞"成立,但企鹅和受伤的鸟就是例外。这种"默认成立、遇到反例再撤销"的特性,是常识最难工程化的地方。
这跟你有什么关系
对从业者:常识错误往往是产品体验的头号杀手。模型能答对专业题,却栽在"这句话里到底谁生气了""这个流程能不能反着做""这个东西放这里会不会掉"。建议把常识单列成评估维度,测试用例专门挑那些"没说出口的前提";在提示里把关键前提显式写出来,别指望它自己体会;涉及物理、时间顺序、因果的环节,宁可接工具或维护结构化状态。
对普通人:模型看起来很懂,是因为它读过海量文本,它的"懂"是"像"而不是"是"。所以专业问答可以放心用,涉及安全、金额、顺序、因果的决定,还是自己把最后一道关。
也正因如此,常识才是个有意思的门槛:专业知识可以背,常识不好背——它衡量的不是记住多少,而是理解多少。
