默认配置从未被质疑

我的支持工单分类器在Qwen3上稳定运行了好几周,一直没出过问题。直到我注意到响应时间大约变成了原来的三倍,而且少数原本能给出干净、自信分类的案例,开始返回模棱两可的结果。我追溯原因,发现只有一个变量:我让模型一直开着默认的思考模式,却从没检查过它在我的具体工作负载上到底付出了什么代价。

打开网易新闻 查看精彩图片

Qwen3可以在回答前生成内部逐步推理轨迹,也就是思考模式;也可以不生成推理轨迹,更直接地给出回应,即非思考模式。我之前想当然地认为思考模式一定是严格更好的选择。事实并非如此,至少不是在所有场景下都成立。于是我搭了一个小型评测,想弄清楚在我的任务里,这条分界线究竟在哪里。

评测脚本怎么搭

我写了一个Python脚本,用OpenAI兼容接口调用Qwen3,把思考模式和非思考模式放在同一批测试消息上跑,记录输出和延迟。核心逻辑是遍历两种配置,对每条消息分别请求一次,把配置标签、输入、输出和延迟秒数写进CSV文件。

测试消息来自真实场景,比如“我的卡这周第三次被拒了”“我不确定这是账单问题还是程序错误——发票看起来不对,而且应用也崩了”。模型统一使用qwen3-235b-a22b,温度设为0,只通过extra_body里的enable_thinking开关切换思考与非思考模式。

我特意把延迟和输出一起记录,因为延迟正是思考模式带来的成本。准确率问题和速度问题必须放在一起看,不能分开评估。

50条真实消息跑出来的结果

我从自己的日志里取了50条真实消息,事先人工分成“明确”和“真正模糊”两类。在明确消息上,非思考模式的速度几乎和我原来的基线完全一致,而且没有准确率损失。同样的消息用思考模式处理,每次请求大约慢2到3倍,准确率却没有提升,偶尔还会给本该干净的分类答案加上不必要的保留措辞。

在真正模糊的消息上,结果反过来了:思考模式能捕捉到非思考模式漏掉的区分,而且这种提升明显超过了随机波动能解释的范围。在模糊子集上,思考模式的准确率优势不是边缘性的,而是有实际意义的。

结论:按流量结构做选择

我的流量里大约75%是明确消息,剩下25%才是真正模糊的。如果全量开启思考模式,意味着大部分请求都在为没有收益的推理时间买单。更合理的做法是按消息特征分流:先快速判断消息是否模糊,只对模糊子集启用思考模式。

这个评测脚本本身不复杂,但它回答了一个我此前一直忽略的问题:默认配置在我的任务上到底划不划算。对任何在Qwen3上跑分类或抽取任务的人来说,值得用自己日志里的真实样本跑一遍同样的对比,而不是直接接受默认的思考模式。