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