Qwen 3.5 35B 对决 Sonnet 4.5:差距正在缩小吗?

BBetter Stack
Computing/SoftwareConsumer ElectronicsInternet Technology

Transcript

00:00:00本月初,阿里巴巴发布了 Qwen 3.5,包含一个 4000 亿参数的模型以及
00:00:05一个“最大思考版”,声称其基准测试表现优于 Opus 4.5,但对
00:00:11本地运行的配置要求非常高。
00:00:12但就在本周,他们发布了 Qwen 3.5 中型系列模型,其性能
00:00:17几乎与最大版一样强大,并能在现代 MacBook Pro 上本地运行,同时声称
00:00:22基准测试也优于 Sonnet 4.5。对此我深表怀疑,所以请点击订阅,
00:00:27让我们对这两个模型进行实测。
00:00:31大多数开发者都会承认 Sonnet 4.5 是一款出色的模型,与 Claude
00:00:35Code、Co-Work 以及整个 Anthropic 套件配合得天衣无缝,体验非常高级。
00:00:40但你必须在线才能使用这些模型,而且价格并不便宜。
00:00:44Qwen 3.5 的中型系列旨在改变现状,让在本地运行
00:00:49与 Sonnet 4.5 一样出色的模型成为可能,推特上的网友都炸锅了。
00:00:54但我并不确信它真的能和 Sonnet 4.5 媲美。
00:00:58因此,我将针对简单、中等和困难任务对这两个模型进行测试,看看
00:01:02哪一个表现更好。
00:01:04但在开始测试之前,我得先坦白一件事。
00:01:07我实际上不会在本地运行 Qwen 3.5,因为我那台可怜的 M1 MacBook Pro
00:01:12没有足够的统一内存来正常进行推理。
00:01:15所以我将在 OpenRouter 上使用连接到 OpenCode 的 Qwen 3.5 35b,
00:01:21而在 Claude Code 中以“纯净模式”运行 Sonnet 4.5,这样它就不会使用我的
00:01:25任何技能、插件或 MCP 工具。
00:01:27我们先从简单的开始,让模型使用 React 和 Vite 从头构建一个待办事项列表。
00:01:32如果我们看 Sonnet 4.5 的成果,可以看到它采用了标志性的“AI 紫色”。
00:01:36我可以添加待办事项,也可以标记为已完成。我有清除功能,
00:01:40而且如果我刷新页面,内容依然存在,因为它使用了本地存储 (local storage)。
00:01:44再看 Qwen 3.5,两者的风格相似,都没有覆盖
00:01:48Vite 默认自带的样式。
00:01:51但同样,我可以添加待办事项。
00:01:53这里我们还有一些其他选项。
00:01:54我们可以选择它所属的类别,可以选择……我想应该是严重程度,
00:01:59或许还有一个待办日期或截止日期。
00:02:02我可以输入“去购物”,它会显示日期、严重程度和
00:02:06所属类别,这真的很酷。
00:02:08让我们来看看代码。
00:02:09这是 Sonnet 的代码。在这里,它使用了 useEffect,我想是为了处理
00:02:13下面的本地存储。
00:02:15我觉得还行,但我更倾向于用另一种方式来实现。
00:02:17这里使用了 add to-do 函数,这边还有一些执行操作的函数。
00:02:22比如切换状态 (toggle)、删除 (delete)。
00:02:25这些看起来都很棒。
00:02:26有一点让我比较惊讶的是上面提到 JSON 解析的部分。
00:02:32它似乎是把数据作为 JSON 保存到本地存储然后再解析。
00:02:35如果能把这段代码放在一个独立的函数里会更好,这样如果你想
00:02:38添加更多功能,就不会让顶部的代码显得太乱。
00:02:42现在看 Qwen,它有一些类别,看起来没用到 useEffect,
00:02:46这很好。
00:02:48往下翻,我们看到了 handle submit,这是我更喜欢的命名方式。
00:02:51还有 handle updates、handle delete 以及 handle toggle completed。
00:02:55我非常喜欢的一点是,它把待办事项放在了一个独立的组件里。
00:02:59它没有弄乱主组件(即主待办应用组件),而是创建了
00:03:03一个新组件,并在下面的 App 部分调用,因为会有多个
00:03:07待办事项。
00:03:08所以这一局 Qwen 胜出,因为它生成的待办列表功能多得多。
00:03:13但在运行完这些测试后,我意识到 Qwen 在 OpenCode 中
00:03:18启用了“超级大招”技能。
00:03:19于是我在关闭该技能的情况下又测了一次,结果如下。
00:03:23所以我觉得这局应该算 Sonnet 赢。
00:03:25让我们进入第二个测试:使用 React、Vite 和 Three.js
00:03:29构建一个交互式太阳系。
00:03:31Claude 仅用一次尝试就完成得好得多。
00:03:33好吧,虽然漏掉了几颗行星,但我可以点击已有的那些。
00:03:37点击太阳,会显示相关信息。
00:03:39点击下面的天王星,也会显示相关信息。
00:03:44网站的交互动作也非常流畅,我可以平移、旋转、放大缩小
00:03:48等等。
00:03:49而这是 Qwen 生成的。
00:03:50没错,一个白板。
00:03:51如果看控制台,可以看到这里有一个报错,我多次把错误发给 Qwen,
00:03:56但它都没能解决。
00:03:58事实上,整个创建过程非常繁琐。
00:04:01Qwen 中途“罢工”了好几次,我不得不重新唤醒它,而且它在反复尝试
00:04:05修复错误时显得非常吃力。
00:04:06更不用说,看看 Qwen 生成的文件,这里有一个 package.json,
00:04:10一个 package-lock 和一个 node_modules 目录,但完全没被用到,因为
00:04:15主项目在 solar-system 目录下,那里有专门的 package.json
00:04:20和 node_modules 目录。
00:04:21所以,第二个测试也是 Claude 获胜。
00:04:23在最后的测试中,我让这些模型修改现有的代码库,以便在用户
00:04:28在应用内粘贴 URL 时,能截取推文的截图。
00:04:32先看 Claude,它生成了这里的屏幕页面。
00:04:35给了我更改背景和边距 (padding) 的选项。
00:04:38第一次运行的时候确实报错了,但我让 Claude 修复了它。
00:04:42我要复制这条 JSON 推文的 URL,粘贴进去,然后点击“捕捉”。
00:04:47几秒钟后,我们在下面得到了图片,并有下载选项。
00:04:51这是 Qwen 的结果,也有一个屏幕页面。
00:04:54同样,我要复制这条推文并粘贴。
00:04:56它写的是“提取视频”而不是“提取截图”,然后开始捕捉,看起来有戏。
00:05:01但过了一会儿,出现了 60 秒超时,这和我们之前
00:05:06在 Sonnet 上遇到的错误类似。
00:05:07我让 Qwen 修复,它确实延长了超时时间,但并没能修复
00:05:11导致问题的根本原因。
00:05:13所以看起来 Sonnet 4.5 在三项测试中完胜。
00:05:17因此,尽管从纸面上看 Qwen 3.5/35b 应该优于 Sonnet 4.5,但在现实世界的测试中,
00:05:24情况似乎并非如此。
00:05:26别误会,能在现代 MacBook 上本地运行一个 350 亿甚至 270 亿
00:05:31参数的模型,确实令人印象深刻。
00:05:34但无论推特上的人怎么吹,在编程任务上,它绝不可能
00:05:38超过 Sonnet 4.5,正如你从我刚才的测试中看到的那样。
00:05:42那为什么基准测试会让它看起来这么强呢?
00:05:45很有可能 Qwen 3.5 在后期训练中针对特定的基准测试问题
00:05:51(如 Swee-bench verified)进行了优化,以便在这些题目上取得高分。
00:05:55而像 Sonnet 4.5 这样的模型则会在更广泛、更稳健的数据集上进行后训练,
00:06:01使其能够处理更细微、复杂的任务。
00:06:03更不用说,我测试的 Qwen 模型虽然有 350 亿参数,但在推理过程中
00:06:08只使用了 30 亿。
00:06:09相比之下,虽然 Anthropic 没有公布数据,但据估算,
00:06:14Sonnet 3 的训练参数可能就有 700 亿,毫无疑问,Sonnet 4.5
00:06:18的参数量会大得多。
00:06:19因此,仅凭基准测试来比较这些模型并不公平。
00:06:23做自己的调研并运行自己的评估总是很重要的。
00:06:26我的意思是,Qwen 3.5 没有被列入 OpenCode Go 的模型名单是有原因的。
00:06:31既然说到 Qwen,他们的 TTS 模型最近也发布了,Joss
00:06:35拍了一个很棒的视频,介绍了它的语音克隆、情感表达等功能,
00:06:39你可以在这里查看。

Key Takeaway

尽管 Qwen 3.5 35B 在基准测试上表现强劲且支持本地运行,但在处理复杂、细微的实际编程任务时,Anthropic 的 Sonnet 4.5 依然凭借更深厚的参数规模和逻辑稳定性保持领先地位。

Highlights

Qwen 3.5 35B 在基准测试中声称优于 Sonnet 4.5,但实际编程表现仍有差距。

Sonnet 4.5 在处理复杂的前端交互(如 Three.js 太阳系)时展现出更强的逻辑一致性。

Qwen 3.5 在简单任务中表现出色,其生成的 React 代码结构(如组件拆分)甚至优于 Sonnet。

在处理现有代码库修改和 API 集成(如推特截图功能)时,Sonnet 的调试和修复能力更胜一筹。

基准测试的高分可能源于针对特定问题的后期训练优化,而非模型综合能力的全面超越。

Qwen 3.5 的优势在于其轻量化,能够在现代 MacBook Pro 上实现高性能的本地化运行。

Timeline

背景介绍与测试准备

视频开篇介绍了阿里巴巴新发布的 Qwen 3.5 系列模型,特别是其声称在基准测试中超越 Opus 4.5 和 Sonnet 4.5 的 35B 中型版本。博主对此持怀疑态度,决定通过实测来验证这两个模型在现实编程场景中的表现。为了公平起见,测试环境设定为在 OpenRouter 上运行 Qwen 3.5 35B,而在 Claude Code 的“纯净模式”下运行 Sonnet 4.5。这部分内容强调了 Qwen 3.5 旨在打破闭源模型垄断,实现高性能模型本地运行的目标。博主指出,虽然 Qwen 的纸面数据惊人,但实际用户体验才是衡量其价值的关键。

初级任务:React 待办事项列表测试

第一个任务是使用 React 和 Vite 从零构建一个待办事项列表应用。Sonnet 4.5 生成了一个带有标志性紫色风格且支持本地存储的基础版本,功能简洁实用。然而,Qwen 3.5 在最初的尝试中表现惊人,不仅添加了类别、严重程度和截止日期等高级功能,还将代码拆分为独立的组件,显示出更好的代码组织逻辑。博主对 Qwen 命名的 handle 开头函数表示赞赏,认为其代码更符合现代开发习惯。但随后博主发现 Qwen 在测试中开启了特定技能插件,关闭后其表现回归常态,这一环节反映了模型在辅助工具加持下的潜力。

中级任务:Three.js 交互式太阳系开发

进入中等难度的 Three.js 三维场景构建测试,两个模型的差距开始明显拉开。Sonnet 4.5 虽然遗漏了个别行星,但一次性生成了可运行的、具有流畅缩放和点击交互功能的模型。相比之下,Qwen 3.5 仅生成了一个空白页面,并在控制台中出现了无法自行修复的报错。Qwen 在此过程中表现得非常吃力,甚至多次出现中断和文件目录结构混乱的问题,暴露出其在处理复杂第三方库集成时的局限性。这说明对于需要跨库协调和复杂图形渲染的任务,大参数量的闭源模型仍具有压倒性优势。

高级任务:代码库修改与 API 集成

最后一项测试要求模型修改现有代码,通过粘贴推文 URL 实现截图捕捉功能。Sonnet 4.5 在遇到初始超时报错后,能够准确识别问题并修复,最终成功实现了背景自定义和图片下载功能。Qwen 3.5 虽然也生成了界面并尝试处理请求,但在遇到 60 秒超时错误时,仅能进行表面上的超时时间延长,未能解决底层连接逻辑问题。这一测试环节证明了 Sonnet 在理解现有上下文、进行深层次 Debug 方面的卓越能力。对于开发者而言,这种处理边缘情况和错误修复的能力往往比生成模板代码更为重要。

总结分析:基准测试与现实表现的差异

博主在总结中指出,尽管 Qwen 3.5 在纸面上性能优越,但在三项实测中 Sonnet 4.5 完胜。这种现象的原因可能在于 Qwen 对特定基准测试集进行了针对性优化,而 Sonnet 则在更广泛、更具细微差别的数据集上进行了训练。此外,Qwen 3.5 实际上是一个混合专家模型,在推理时仅调用 30 亿参数,而 Sonnet 4.5 的实际规模远超于此。博主认为,用户不应迷信基准测试分数,而应根据实际需求进行个人评估。最后,视频还简要提到了 Qwen 新发布的 TTS 模型及其在语音克隆领域的出色表现。

Community Posts

View all posts