☰
前沿AI模型幽默能力评测:从识别到创造的边界探索
2026/10/26 15:34:14 网站建设 项目流程

1. 当我们在问"前沿AI模型有多好笑"时,到底在问什么

第一次看到"How funny are the frontier AI models?"这个标题,我脑子里冒出来的不是学术评测那套东西,而是一个很具体的场景:深夜加班,你随手丢给模型一个冷笑话让它接梗,结果它一本正经地给你分析这个笑话的结构、笑点机制、文化背景,最后还补一句"希望这个解释对你有帮助"。你笑了,但不是因为笑话好笑,而是因为它太不好笑了。

这就是问题有意思的地方。幽默感这件事,长期被认为是人类智能里最难被复刻的部分之一。它需要语境理解、常识推理、时机把握、意外性构造,还得踩在"冒犯"和"得体"之间那条极细的线上。所以当有人认真去问"前沿AI模型到底有多好笑"的时候,本质上是在问一个更深的问题:这些大模型在语义理解、常识推理、创造性生成这几个维度上,究竟走到了哪一步。

我自己做模型评测和AI应用开发有些年头了,测过不少模型在创意写作、对话、角色扮演上的表现。说实话,幽默这个切入点特别刁钻,因为它几乎没法靠"背答案"蒙混过关。你让模型讲个笑话,它能从训练数据里捞出一堆现成的;但你让它针对一个具体情境即兴抖个包袱,或者判断两个笑话哪个更好笑、为什么,这时候模型的真实水平就藏不住了。

这篇东西我想聊的不是"哪个模型最好笑"这种排行榜式的结论,而是把"AI幽默"当成一个观察窗口,拆开来看:前沿模型在幽默这件事上到底卡在哪、它们的"笑点"是怎么产生的、我们怎么系统地去测它、以及作为开发者能从里面读出什么关于模型能力的信号。如果你在做AI应用、做模型选型、或者单纯对LLM的能力边界好奇,这个话题能给你不少反直觉的发现。

先说一个我自己的结论,后面会展开:前沿模型在"识别幽默"上已经相当能打,但在"创造幽默"上依然有明显的天花板,而且这个天花板不是靠堆参数就能捅破的。原因藏在训练目标和幽默本身的机制冲突里。

2. 幽默为什么是检验大模型的"照妖镜"

2.1 幽默的三层结构,恰好对应模型的三块短板

要理解AI为什么讲不好笑话,得先拆解幽默本身。我习惯把幽默分成三层:

  • 表层:语言游戏。谐音、双关、押韵、文字歧义。这一层模型其实玩得不错,因为本质是模式匹配,训练数据里有海量样本。
  • 中层:意外与反转。笑话的核心机制是"铺垫—误导—反转",先把你引向一个预期,然后突然拐弯。这需要模型理解"预期"是什么,也就是对人类心理模型的建模。
  • 深层:语境与共识。很多笑话依赖共享的文化背景、时事、圈层黑话。脱离语境,笑话就死了。

这三层里,第一层模型能靠统计规律搞定,第二层开始吃力,第三层基本靠运气。原因很直接:大模型的训练目标是"预测下一个最可能的token",而幽默的本质恰恰是"给出一个不太可能但合理的token"。这两个目标在方向上就是拧着的。

我做过一个很朴素的实验:让同一个模型分别完成"补全一个正常句子"和"补全一个笑话的punchline"。前者它稳得一批,后者它要么给出最平庸的答案(因为那是概率最高的),要么给出一个逻辑上通但完全不好笑的答案。这不是模型笨,是它的优化目标决定了它天生倾向于"安全且可预测"。

2.2 "不好笑"背后是安全对齐的副作用

还有一个更隐蔽的原因:安全对齐。前沿模型几乎都经过大量的人类反馈微调(RLHF之类),而人类标注员在打分时,会系统性地惩罚那些"冒犯、边缘、出格"的输出。问题是,真正好笑的幽默,很大一部分恰恰踩在边界上——自嘲、黑色幽默、讽刺、夸张的刻板印象反转。

模型学到的规律是:越安全越保险,越保险越平庸。于是它生成的笑话往往是那种"人畜无害但毫无杀伤力"的类型,比如"为什么程序员分不清万圣节和圣诞节?因为Oct 31等于Dec 25"。这种笑话你第一次听可能嘴角动一下,但它属于"数据库笑话",不是"即兴幽默"。

我个人的观察是:模型被对齐得越严格,它在幽默上的表现往往越保守。这不是说对齐不好,而是说幽默能力是安全对齐的一个"隐性代价",很少有人专门去量化它。这也是为什么"前沿AI模型有多好笑"这个问题值得认真对待——它其实在测一个被主流评测忽略的维度。

2.3 幽默评测和常规benchmark的根本区别

常规的模型评测,比如数学、代码、知识问答,都有相对明确的正确答案。幽默没有。你没法用准确率去衡量一个笑话好不好笑,因为:

  • 好笑是主观的,因人而异、因文化而异;
  • 好笑是情境依赖的,同一个笑话在不同场合效果天差地别;
  • 好笑是多维的,涉及意外性、相关性、时机、表达方式。

这意味着测AI幽默,不能照搬传统评测范式。你得设计一套能捕捉"主观质量"的方法,比如成对比较、人类偏好打分、或者用另一个模型当裁判(LLM-as-judge)。这套方法论本身,就是这篇内容想重点讲的东西之一。

3. 我实际用来测"AI幽默"的几套方法

3.1 从"讲笑话"到"接梗":任务设计的梯度

直接让模型"讲个笑话"是最没信息量的测法,因为答案太开放,你没法比较。我一般会设计一个有梯度的任务序列,从易到难:

  1. 复述与识别:给一个笑话,问它"笑点在哪"。测的是理解能力。
  2. 判断优劣:给两个笑话,问哪个更好笑、为什么。测的是品味和推理。
  3. 情境接梗:给一个铺垫,让它补punchline。测的是创造性生成。
  4. 即兴创作:给一个主题或约束(比如"关于加班,但不能提累"),让它原创。测的是综合能力。
  5. 互动幽默:多轮对话里保持幽默一致性,比如扮演一个毒舌角色。测的是长程一致性。

这个梯度很有用,因为你会发现模型的能力是断崖式下降的:前两个任务它表现惊艳,第三个开始拉胯,第四个基本靠模板,第五个经常崩人设。这个断崖的位置,就是当前模型幽默能力的真实边界。

3.2 用成对比较替代绝对打分

绝对打分("这个笑话1到10分打几分")在不同人之间没有可比性,因为每个人的打分尺度不一样。我更喜欢成对比较:给评测者两个模型生成的笑话,问"哪个更好笑",然后统计胜率。

这个方法的好处是,它把主观判断转化成了相对排序,噪声小很多。具体操作上,我会:

  • 准备一批固定的"铺垫"(setup),让不同模型补punchline;
  • 把生成结果两两配对,随机打乱左右顺序(消除位置偏见);
  • 让多个评测者独立判断,取多数票;
  • 用Elo或者Bradley-Terry模型算出每个模型的"幽默分"。

这套方法我在做创意类模型选型时反复用过,结论相当稳定:模型之间的幽默差距,比它们在常规benchmark上的差距大得多。也就是说,两个模型在数学题上可能只差几个百分点,但在幽默上可能差出一个身位。

3.3 LLM-as-judge:用模型评模型,但要防坑

人工评测贵且慢,所以很多人会用另一个模型当裁判。这招能用,但坑不少。我踩过的几个:

  • 位置偏见:裁判模型倾向于选第一个或第二个,得靠交换顺序取平均来消除。
  • 长度偏见:更长的回答往往得分更高,哪怕它并不更好笑。得控制长度或者显式提示裁判忽略长度。
  • 自我偏好:模型倾向于给自己或同系列模型打高分。所以裁判模型最好和被测模型不同源。
  • 安全偏见:裁判模型可能因为"这个笑话有点冒犯"而扣分,但冒犯性恰恰可能是笑点来源。

我的做法是:用LLM-as-judge做初筛,用人工做终审。而且给裁判的prompt要写得非常具体,明确告诉它"评估的是幽默程度,不是礼貌程度或正确性"。下面是一个我常用的裁判prompt骨架:

你是一个幽默评测专家。下面有两个针对同一情境生成的笑话,A和B。 请判断哪个更好笑,评判维度包括:意外性、与情境的相关性、表达的简洁度。 不要因为笑话是否礼貌、是否政治正确而扣分,只关注幽默效果。 输出格式:先给结论(A更好/B更好/平局),再用一句话说明理由。

3.4 一个可复现的最小评测脚本

如果你想自己跑一遍,不需要多复杂的框架。核心逻辑就是:准备setup、调模型生成、配对、评判、统计。用Python写个最小版本大概是这样:

import random from collections import defaultdict # 假设 setups 是一批笑话铺垫 # models 是你要对比的模型调用函数字典 def run_eval(setups, models, judge): wins = defaultdict(int) games = defaultdict(int) for setup in setups: outputs = {name: fn(setup) for name, fn in models.items()} names = list(outputs.keys()) for i in range(len(names)): for j in range(i + 1, len(names)): a, b = names[i], names[j] # 随机交换左右顺序,消除位置偏见 if random.random() < 0.5: left, right = a, b else: left, right = b, a result = judge(setup, outputs[left], outputs[right]) games[a] += 1 games[b] += 1 if result == "left": wins[left] += 1 elif result == "right": wins[right] += 1 # 计算胜率 return {m: wins[m] / games[m] for m in models}

这个脚本很粗糙,但骨架是对的。真正要跑出可信结论,setups的数量得够(我一般至少准备50到100个),judge的prompt得反复调,最好再叠加人工校验。

提示:评测幽默时,样本量比评测数学题要更大。因为幽默的方差极高,小样本很容易得出误导性结论。我一般会跑到每个模型至少100次生成,才敢下判断。

4. 实测下来,前沿模型在幽默上的真实表现

4.1 识别能力:已经超过普通人平均水平

先说好消息。在"识别幽默"这个任务上,前沿模型的表现让我挺意外的。给它一个笑话问笑点在哪,它往往能拆得比大多数人都清楚——铺垫怎么设的、预期怎么被误导的、反转点在哪、为什么这个反转成立。这种元认知层面的分析能力,其实相当强。

我甚至觉得,模型在"解释笑话"这件事上,已经可以当老师了。你给它一个你没看懂的笑话,它能给你讲明白。这在跨文化幽默、圈层黑话的理解上尤其有用。原因也好理解:解释笑话本质是个推理任务,而推理正是大模型的强项。

但这里有个反讽:能解释笑话,不代表能讲笑话。就像一个美食评论家未必是好厨师。理解幽默的机制和创造幽默,是两种不同的能力,模型在前者上很强,在后者上很弱。

4.2 生成能力:模板化严重,意外性不足

到了生成环节,问题就暴露了。我总结模型生成的笑话有几个典型毛病:

  • 套路化:翻来覆去就那几个梗,程序员、AI、猫、老板,而且结构高度雷同。
  • 解释过度:讲完笑话还要自己解释一遍,生怕你没懂,幽默感瞬间归零。
  • 安全到无聊:不敢碰任何有棱角的话题,结果就是温吞水。
  • 逻辑正确但不好笑:它给出的punchline往往"说得通",但正因为说得通,就没有意外感了。

我印象最深的一次,是让模型针对"周一早上"这个主题讲个笑话。它给的是:"周一早上就像一场没有彩排的演出,你永远不知道会发生什么。"这话没错,甚至有点文艺,但它不是笑话,它是一句鸡汤。模型把"幽默"和"深刻"搞混了。

4.3 一个反直觉发现:模型"自评幽默"的能力也很差

还有个有意思的现象:模型判断自己讲的笑话好不好笑,准确率很低。你让它给自己刚生成的笑话打分,它经常给一个偏高的分数,然后配上一段"这个笑话巧妙地运用了反转"之类的自我表扬。但实际上那个笑话并不好笑。

这说明模型缺乏对自身输出质量的真实校准。它知道"什么样的文本看起来像笑话",但不知道"什么样的文本真的好笑"。这个gap,恰恰是幽默最难被自动化的地方。

4.4 不同模型之间的差异:风格比水平更明显

我测过的主流前沿模型,在幽默上的水平差距其实没有想象中大,但风格差异非常明显。有的偏冷幽默、有的偏话痨式、有的喜欢玩文字游戏、有的擅长自嘲。这个差异更多来自训练数据和对齐策略的不同,而不是纯粹的"能力高低"。

所以选模型做幽默相关应用时,我的建议是:别只看谁"更好笑",要看谁的幽默风格和你的场景匹配。做一个客服机器人,你需要的是温和的、化解尴尬的幽默;做一个娱乐向的角色扮演,你需要的是更放得开、更有棱角的风格。这俩需求指向的模型可能完全不同。

评测维度模型表现主要瓶颈
识别笑点强,接近或超过普通人几乎没有明显瓶颈
判断优劣中等偏上受安全偏见影响
情境接梗中等意外性不足,倾向安全答案
即兴创作偏弱模板化,缺乏真实语境
多轮幽默一致性弱长程人设容易崩
自评幽默弱缺乏质量校准

5. 为什么"让AI变好笑"这么难:机制层面的拆解

5.1 训练目标与幽默本质的结构性冲突

前面提过一句,这里展开说。大模型的核心训练目标是最大化下一个token的似然,也就是"预测最可能出现的词"。而幽默的机制是建立预期然后打破它——你要先让读者以为你要说A,然后你说B。

问题在于,B之所以好笑,恰恰因为它是"不太可能"的。但模型被训练成输出"最可能"的。这两个目标直接对冲。模型要想讲好笑话,得学会"故意输出低概率但合理的token",而这需要它先理解"预期是什么",再主动偏离。这个能力,当前的训练范式并不天然支持。

有人会说,那用温度参数调高不就行了?让采样更随机。我试过,效果有限。温度调高确实增加了意外性,但同时也增加了无意义。你会得到一堆语法混乱、逻辑断裂的输出,那不是幽默,那是噪声。幽默需要的是"可控的意外",而不是"随机的混乱"。

5.2 幽默依赖的"共识语境",模型很难真正拥有

很多笑话是圈层性的。程序员的笑话、医生的笑话、某个地区的笑话,都依赖共享的背景知识。模型虽然训练数据里啥都有,但它对"共识"的把握是统计性的,不是体验性的。

举个具体的:一个关于"deadline"的笑话,在互联网行业里大家都懂那种压迫感,所以笑点成立。模型知道"deadline"和"压力"经常共现,但它没有真正"体验"过deadline,所以它生成的笑话往往是描述性的("deadline就像一座大山"),而不是共鸣性的(那种让你会心一笑的精准吐槽)。

这个差距,本质上是具身经验的缺失。幽默很多时候来自共同的经历和感受,而模型没有经历,只有数据。

5.3 安全对齐的"隐性税"

前面也提了,这里再强调一下它的机制。RLHF这类对齐方法,本质是用人类偏好去塑造模型行为。而人类标注员在打分时,会系统性地:

  • 惩罚冒犯性内容;
  • 偏好礼貌、无害、正面的表达;
  • 对边缘、讽刺、黑色幽默给出较低分。

模型学到的就是"安全即高分"。但幽默的很大一部分能量,恰恰来自越界——自嘲是越界(贬低自己)、讽刺是越界(贬低权威)、夸张是越界(扭曲现实)。当模型被训练得不敢越任何界,它的幽默就失去了锋芒。

我个人的判断是:这不是一个能靠"多喂笑话数据"解决的问题,而是训练目标和幽默本质之间的深层张力。要真正让AI变好笑,可能需要在训练范式上做文章,比如专门为创意任务设计不同的对齐策略,而不是用一套通用的安全标准去约束所有输出。

6. 把"AI幽默"用到实际项目里的经验

6.1 别指望模型原创,让它做"幽默增强"

如果你在做产品,想加幽默元素,我的第一条建议是:别让模型从零创作笑话,让它做改写和增强。你自己写好一个笑话的骨架,让模型去润色、调整语气、生成几个变体,然后你挑最好的。这样既利用了模型的生成能力,又保留了人类的品味判断。

我做过一个聊天机器人的项目,需要它偶尔抖个机灵。直接让模型自由发挥,效果惨不忍睹。后来改成"给模型一个方向,让它生成5个候选,人工选一个",体验立刻上来了。模型是好的候选生成器,但不是好的最终决策者。

6.2 用few-shot示例"教"模型你的幽默风格

模型默认的幽默风格是"通用安全型",但你可以用few-shot把它往你想要的方向带。给几个你认可的幽默示例,模型就会模仿那个风格。这招在角色扮演类应用里特别管用。

关键是示例要精选。我一般会放3到5个高质量示例,覆盖不同的幽默类型(自嘲、反转、夸张),并且明确标注"这是好的幽默"。示例的质量直接决定输出的质量,别随便凑数。

6.3 给幽默"留白",别让模型解释自己

一个很实用的技巧:在prompt里明确禁止模型解释自己的笑话。模型有个坏习惯,讲完笑话怕你不懂,非要补一句解释,幽默感全没了。你可以在系统提示里写"讲完笑话直接结束,不要解释,不要问'你get到了吗'"。这个小改动,对幽默体验的提升立竿见影。

6.4 接受"AI幽默"的定位:辅助而非替代

最后说个心态问题。我见过不少人期待模型能像脱口秀演员一样即兴发挥,然后失望。我的看法是:当前阶段的AI幽默,定位应该是"辅助工具"而不是"幽默主体"。它能帮你生成素材、提供灵感、做A/B测试的候选,但真正的好笑,还是得靠人的品味去把关。

这不是悲观,而是务实。知道边界在哪,才能把工具用在刀刃上。

7. 几个我踩过的坑和对应的解法

做AI幽默相关的东西,坑不少,挑几个印象深的说说。

坑一:以为温度调高就能变好笑。前面提过,结果是噪声变多。解法是保持中等温度,靠prompt和示例来引导,而不是靠随机性。

坑二:用常规benchmark的思路测幽默。一开始我想用准确率那套,结果发现根本没法定义"正确答案"。后来转向成对比较和人类偏好,才跑出有意义的结论。

坑三:忽略文化差异。我拿一批英文笑话测中文模型,效果很差,反过来也一样。幽默高度依赖语言和文化,跨语言评测基本没有参考价值。测的时候一定要用目标语言和目标文化的样本。

坑四:裁判模型太"正经"。用LLM当裁判时,如果prompt没写清楚,它会因为笑话"不够礼貌"而扣分。必须显式告诉它"只评幽默,不评礼貌"。

坑五:样本量太小就下结论。幽默方差极大,我一开始用20个样本测,结论反复横跳。后来加到100个以上,结果才稳定下来。

这些坑的共同点是:它们都源于把幽默当成一个"普通任务"来处理。幽默的特殊性——主观、情境依赖、文化绑定、方差大——决定了测它、用它都得用特殊的方法。这也是为什么"前沿AI模型有多好笑"这个问题,虽然听起来像个玩笑,实际上是个相当严肃、相当有技术含量的评测命题。

8. 从幽默这个切口,能读出模型的什么

聊到这儿,我想把视角拉高一点。测AI幽默,表面上是在测一个娱乐属性,实际上它是个综合能力的探针。一个模型要讲好笑话,得同时具备:语义理解、常识推理、心理建模、创造性生成、语境把握、以及恰到好处的"越界"能力。这些能力里任何一环掉链子,幽默就崩了。

所以我的经验是:当你想快速感受一个模型的"智能质感"时,让它讲个笑话、接个梗,比让它做数学题更能暴露它的真实水平。数学题能靠模式匹配刷分,幽默很难。它逼着模型展示它到底"懂不懂人"。

前沿模型在幽默上的表现,给我的整体感觉是:它们已经能理解幽默,但还不会创造幽默;它们能分析笑点,但抓不住笑点的灵魂。这个gap,短期内我看不到被填平的可能,因为它触及的是当前训练范式的根本限制。

但这恰恰是有意思的地方。幽默作为人类智能里最"软"、最难量化的部分,它的自动化难度,某种程度上标记了AI能力的真实边界。盯着这条边界看,比盯着那些刷榜的数字,更能看清我们到底走到了哪一步。

如果你也在做相关的东西,我的建议是:别急着追求"让AI变好笑",先老老实实把评测方法搭起来,把边界摸清楚。知道模型在哪卡住、为什么卡住,比盲目调参有用得多。幽默这件事,急不来,模型急不来,我们也急不来。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询