Codex / Claude / GPT 降智了吗?一套可重复的降智测试题

先说清楚立场:官方没有承认过存在“降智”这件事;模型输出本来就有随机性,单次回答变差并不能说明任何问题。 本页不检测任何东西,也不连接你的任何账号——它只提供一套固定题目,方法是让你自己在不同时间点,用同一套设置去对比同一个模型的回答, 跟自己过去的记录比,而不是凭一次印象下结论。

“降智”是什么意思

“降智”是中文社区的说法,指用户感觉同一个模型最近的回答质量不如以前——比如不按指令格式输出、推理步骤变短、写代码更容易出错, 也有人形容为“变笨了”“像换成了 mini”。这是使用者的主观感受,官方没有承认过存在这种情况;感觉变差可能来自模型本身,也可能来自上下文、档位、提示词或所用渠道的变化。 要回答“到底是不是降智了”,唯一靠得住的办法是用固定题目反复测,跟自己的历史记录比。

为什么单次感觉不可靠

同一个提示词发给同一个模型,两次回答本身就可能不一样,这是采样带来的随机性,不代表模型变了。除此之外,还有几个变量常常被忽略: 这次对话的上下文长度(历史消息越长,模型要兼顾的信息越多)、你实际选的是哪个模型或哪个推理档位(同一个产品名下可能有好几档)、 以及提示词本身哪怕只改了一两个字,输出也可能明显不同。只凭一次对话的感觉,很难分清到底是模型变了,还是这几个变量变了。

Codex 降智、Claude Code 降智怎么测:正确的自测方法

8 道自测题

精确指令遵循

题目 1:固定行数 + 固定首字母

题目
请输出恰好 7 行文字(不多不少),每一行都必须以大写字母 A 开头,不要加任何编号或列表符号。

机械核对规则:数一下总行数是否正好等于 7;逐行检查每行的第一个字符是否是大写字母 A。两个条件都满足才算通过,缺一行、多一行、或某一行没以 A 开头都算不通过。

展开参考答案

示例参考答案(已验算:7 行,每行都以 A 开头):

Apple 今天很甜。
Ant 在搬家。
Air 很清新。
Apricot 熟了。
Away 这个词很短。
Above 和 below 是反义词。
Always 记得喝水。

题目 2:固定汉字数 + 固定包裹符号

题目
请用中文写一句话,正好包含 15 个汉字(标点符号和数字不计入这 15 个字),并在这句话的最前面和最后面各加一个「#」符号。

机械核对规则:去掉标点和数字后数汉字个数,必须正好是 15 个;整句话前后必须各有一个 #。用脚本核对时可以用正则 [\u4e00-\u9fff] 只匹配汉字再计数。

展开参考答案

示例参考答案(已用正则验算:去掉标点后正好 15 个汉字):

#今天的天气很好,适合出门散步看云。#

多步推理

题目 3:年龄推理

题目
哥哥比妹妹大 10 岁。5 年后,哥哥的年龄正好是妹妹的 2 倍。请写出完整的推理过程,算出哥哥、妹妹现在分别多少岁。
展开参考答案

正确答案:妹妹现在 5 岁,哥哥现在 15 岁。

推导:设妹妹现在 y 岁,哥哥则是 y+10 岁。5 年后哥哥 y+15 岁,妹妹 y+5 岁,题目说这时哥哥是妹妹的 2 倍:y+15 = 2×(y+5),展开得 y+15 = 2y+10,解得 y = 5。所以妹妹现在 5 岁,哥哥现在 15 岁。验证:5 年后哥哥 20 岁、妹妹 10 岁,20 恰好是 10 的 2 倍,成立。

题目 4:谁说了真话

题目
A、B、C 三个人中只有一个人说的是真话。A 说:“B 说的是假话。”B 说:“C 说的是假话。”C 说:“A 和 B 说的都是假话。”请写出完整推理过程,指出到底是谁说的是真话。
展开参考答案

正确答案:B 说的是真话,A 和 C 说的都是假话。

推导:假设 A 说真话——那么 B 说假话,B 的话“C 说假话”就是假的,说明 C 说的是真话,这样 A、C 同时为真,和“只有一人说真话”矛盾,所以 A 不是那个说真话的人。假设 C 说真话——那么“A 和 B 都说假话”成立,A 说假话意味着“B 说假话”这句话是假的,也就是 B 没说假话,但这又跟“B 说假话”矛盾,所以 C 也不是。剩下只可能是 B:B 真话成立时“C 说假话”为真,C 假话使得“A 和 B 都说假话”为假,这只需要 A、B 里至少一个没说假话即可满足(B 本身就没说假话),不矛盾;同时 A 必须是假话,A 假话意味着“B 说假话”不成立,也就是 B 说了真话,自洽。三种假设逐一验证后,唯一自洽的情况是 B 说真话。

代码

题目 5:回文数字

题目
写一个 Python 函数 is_palindrome_number(n: int) -> bool,判断一个非负整数是否是回文数(要求只用整数运算,不能把 n 转成字符串)。给出至少 3 组测试用例(含 0 和末位为 0 的数这两种边界情况)及期望输出。
展开参考答案

参考实现(已在本地用 python3 实际跑过,输出见交付报告):

def is_palindrome_number(n: int) -> bool:
    if n < 0:
        raise ValueError("n must be non-negative")
    original, reversed_n = n, 0
    while n > 0:
        reversed_n = reversed_n * 10 + n % 10
        n //= 10
    return original == reversed_n

测试用例与期望输出:is_palindrome_number(0) -> True、is_palindrome_number(121) -> True、is_palindrome_number(10) -> False(末位为 0,反转后前导 0 消失,数值不相等)、is_palindrome_number(123) -> False。

题目 6:统计元音字母

题目
写一个 Python 函数 count_vowels(s: str) -> dict,统计字符串中每个元音字母(a e i o u,大小写不敏感)出现的次数,返回字典(键用小写元音字母,只保留出现次数大于 0 的键)。给出至少 3 组测试用例及期望输出,其中要包含一个完全不含元音字母的输入。
展开参考答案

参考实现(已在本地用 python3 实际跑过,输出见交付报告):

def count_vowels(s: str) -> dict:
    vowels = "aeiou"
    counts = {}
    for ch in s.lower():
        if ch in vowels:
            counts[ch] = counts.get(ch, 0) + 1
    return counts

测试用例与期望输出:count_vowels("Hello World") -> {'e': 1, 'o': 2}、count_vowels("xyz") -> {}(不含元音)、count_vowels("AEIOU") -> {'a': 1, 'e': 1, 'i': 1, 'o': 1, 'u': 1}。

长文本一致性

题目 7:跨句叠加的营业时间

题目
材料:本店老板张伟每天早上八点开门。只有周三他会晚到一小时,因为要送孩子去补习班。上周三,张伟因为堵车又比他平时(周三)的开门时间晚到了半小时。
问题:上周三,本店实际是几点开门的?请写出完整推理过程。
展开参考答案

正确答案:上周三是 9:30 开门。

推导:基础开门时间是早上 8:00;周三固定比平时晚 1 小时,所以周三正常开门时间是 9:00;材料又说上周三额外因堵车比“他平时(周三)的开门时间”晚到半小时,是在 9:00 的基础上再加 0.5 小时,而不是在 8:00 基础上直接加 1.5 小时(两种算法数值刚好一样,但推理链条必须经过“周三的基准是 9:00”这一步,容易被跳步答错的模型漏掉),所以最终是 9:30。

题目 8:多条规则的假期结转

题目
材料:公司新政策规定,全体员工的年假统一为每年 12 天,年假可以累积到下一年,但最多只能带 5 天过去,超过部分作废。研发部员工另外还有 3 天调休假,调休假必须在当年 12 月 31 日前用完,不能累积到下一年,过期直接作废。市场部没有额外的调休假,但年假上限提高到 15 天。
问题:一名研发部员工今年只用了 2 天年假、1 天调休假,到明年,他/她的年假和调休假分别还剩多少天可以带到明年用?请分开说明这两类假各自的结转天数,并写出推理过程。
展开参考答案

正确答案:可带到明年的年假是 5 天(不是 10 天),调休假是 0 天。

推导:年假今年用了 2 天,剩余 12-2=10 天,但材料规定年假最多只能带 5 天到下一年,超过部分作废,所以明年能用的结转年假是 5 天,不是直接把剩余的 10 天都带过去。调休假今年用了 1 天,剩余 3-1=2 天,但材料明确说调休假不能累积、必须当年用完、过期作废,所以无论剩多少天,明年能用的结转调休假都是 0 天。这道题容易被误答成“10 天 + 2 天 = 12 天”,漏掉了材料里分别针对两类假期给出的不同结转上限。

记录表模板(可打印/可复制)

TSV,可直接粘贴进表格软件
日期	模型 / 档位	Q1 通过/3	Q2 通过/3	Q3 通过/3	Q4 通过/3	Q5 通过/3	Q6 通过/3	Q7 通过/3	Q8 通过/3	备注
2026-09-21	示例:Claude Sonnet / 中档	3	3	3	3	3	3	3	3	示例行,可删除
日期模型 / 档位Q1 通过/3Q2 通过/3Q3 通过/3Q4 通过/3Q5 通过/3Q6 通过/3Q7 通过/3Q8 通过/3备注
           
           

如果确实持续变差,该怎么办

常见问题

“降智”是官方承认的问题吗?

不是。“降智”是中文社区里的说法,官方从未正式承认过存在这种情况。模型输出本身就有随机性,单次感觉变差不能说明任何问题——这套自测题的目的是让你自己积累可比较的历史记录,而不是给出结论。

为什么单次对话的感觉不可靠?

同一个提示词、同一个模型,两次回答本来就可能不一样(采样随机性);另外上下文长度、你选的模型/推理档位、甚至提示词里多一句话少一句话,都会让结果不同。只跑一次、只凭印象,很难分清是模型变了还是别的因素变了。

多久测一次比较合适?

没有固定答案,取决于你自己的使用强度。建议在你怀疑“变差了”的当下测一次作为基准,之后每次怀疑时都用同一套题、同一套设置再测一次,把结果记在下面的记录表里,跟自己的历史记录比,而不是跟感觉比。

测完发现确实通过率下降了,说明什么?

只能说明在这 8 道固定题目、你记录的这些设置下,通过率比你之前记录的低——这是你自己的观察记录,不是对官方的结论性判断。请先按下方“怎么办”一节排查设置问题,再决定要不要继续观察。

如何判断 GPT / Codex 降智了?

不要凭一次对话的印象判断。用本页 8 道固定题目,在同一个模型、同一个档位、新开对话的条件下每题跑 3 次,记下通过次数;过几天在怀疑变差时用完全相同的设置再测一次。只有通过率在多次记录里持续下降,才值得继续观察——即便如此,这也只是你自己的记录,不是官方结论。

GPT 降智了怎么办?怎么恢复?

没有官方认可的“恢复”方法。能做的是排除自己这一侧的变量:新开对话、确认模型和推理档位没被切换、缩短过长的上下文、把提示词写得更具体,并查看官方状态页有没有正在处理的故障。排查后仍持续变差,就保留自测记录继续观察。

Claude Code 降智了吗?

本站不检测也不判定任何模型是否降智,Anthropic 官方也没有承认过这种说法。Claude Code 同样可以用本页的题目自测:固定模型和设置,在终端里新开会话原样发送题目,记录结果后和自己之前的记录比较。

用中转站的 Codex 感觉降智了,怎么解决?

通过第三方中转使用时,除了模型本身,渠道也是变量——你拿到的未必是你选的那个模型或档位。先用中转站检测工具确认返回的模型,再用同一套题分别在中转和官方渠道各测一次对比;两者差距明显时,问题更可能出在渠道而不是模型。

网上的“降智雷达”靠谱吗?

有些页面会定期用自己的固定题目跑分并公开曲线,可以当作参考信号之一。但它们测的是它们的题目、设置和渠道,和你的实际使用场景不一定一致。本站不做跑分榜,这页的题目是让你用自己的设置复测、得到跟自己相关的记录。