在MacBook Pro M2 Pro上对Meta Muse Glimmer与Qwen3 14B、Llama3.2 3B进行实测,重点考察上下文重读速度和生成速率等Agent核心指标。
Meta 周一发布了 Muse Glimmer:一款 30B 参数模型,Apache 2.0 协议,官方 4-bit 量化,专门针对始终在线的本地 agent 工作流优化。我在该模型发布当天就拉取到了本地,彼时它旁边还有另外两个模型躺在我的 ollama 列表里——qwen3:14b 和 llama3.2:3b——这本身就是一个天然对照实验。
因为对我来说真正重要的问题不是"30B 是否更聪明"。它当然更聪明。真正的问题是它是否值得在一个本地 agent 循环中占据一个席位,毕竟每一步调用的延迟都会乘以循环次数被放大。所以我没有继续读发布报道,而是写了一个小 benchmark,让这三个模型跑了跑我的 agent 工具链实际日常做的事情。
MacBook Pro,M2 Pro,32GB RAM。ollama 0.32.7。Muse Glimmer 是社区的 MLX 编译版本(磁盘占用 21GB,100% GPU 运行)——先声明一个诚实的前提:这不是 Meta 官方技术栈,也不包含 DFlash,即他们那套产生亮眼发布日速度数字的投机解码草案。关于这一点下面会展开说。
三个测试,选取的原因是它们正是 agent 循环的构成单元:
上下文重读速度——约 1,000 token 的提示词,测量提示词处理和生成速率。Agent 需要不断重读上下文;提示词处理速度通常比生成速度更重要。
约束型 JSON——提取字段到精确的四键 schema,五次运行,温度 0。检查 JSON 有效性及 schema 符合度。这是我的本地工具链让模型做的最常见的一件事。
工具调用——两步"使用工具,回答问题"任务,各运行三次。
脚本和原始结果在 frankchu91/Muse-Glimmer-Test,如果你在自己的硬件上重新跑欢迎提 PR,附上你机器的表格。
有两件事让我意外,都不是我想写的那件。
所有人都通过了。这才是重点。
我以为正确性指标会把模型区分开。结果没有——每个模型在 schema 符合度上都五投五中,工具选择上都是三投三中,包括那个 3B 模型。对于 agent 循环的基础任务来说,在这个难度下的正确性已经彻底被解决了,小到只有 2GB 权重的模型也不例外。
这就将比较变成了纯粹的经济学。同样的 JSON 提取任务,3B 耗时 0.6 秒,Muse Glimmer 耗时 33.4 秒——相同的正确结果相差 56 倍。串五个这样的调用,就是三秒循环和三分钟循环的差距。
时间花在哪了?部分是原始体量,但更多是思考过程。Muse Glimmer 是一个思考模型,它在处理一个根本不需要思考的任务时大约消耗了 284 token 来推理——有一段思考轨迹在回答之前把提示词自己复述了两遍。qwen3:14b 做着同样的事,只是程度轻一些。3B 则完全不思考——以最好的方式。
我确实尝试过关掉它。ollama 支持对这个模型传 think: false,思考轨迹乖乖消失了——但成本基本没降。给 60 token 的预算,收到了一个空响应:模型仍在推理,只是不可见地把整个预算烧完才出答案。给 120 token,正确 JSON 才出来,大约是全思考延迟的一半,但仍然比 3B 慢约 25 倍。据我观察,这种推理已经 bake 到权重里了;那个 flag 只是控制你是否看得到它。
Meta 的发布材料报告 M4 Max + DFlash 下约 38 tok/s。我在 M2 Pro 上测到 7.1 tok/s。这部分差距确实来自我的芯片更老,但主要是因为 DFlash 草案根本还没进主流 runtime——发布日的数字描述的是 Meta 的技术栈,而不是你今天通过 ollama pull 拿到的那个。如果这个草案最终进入主流 runtime,上面的算术会有实质性变化。在那之前,按你自己的 runtime 给出的数字来规划。
每个测试跑五次,一个 schema,一个简单的工具任务——这测的是 agent 循环站稳的底板,不是天花板。30B 应该证明自己实力的任务(多步规划、从失败方案恢复、读取真实截图)不在这里面,那些任务上我仍然预期 Muse Glimmer 会大幅领先小模型。等我有了一个公平的测试框架之后会单独测。
我一直回到的结论是:按你调用 API 模型的方式去路由本地模型。循环中的高频工作——提取、格式化、分类、简单工具分发——应该交给能通过校验的最小模型,在我的机器上就是那个以 700 token/秒处理提示词的 3B。30B 的职责是升级层:当某一步真的需要思考时才调用的模型,而且 tokens 永远不会离开本地。
这是一个真实存在的细分市场,Muse Glimmer——Apache 协议许可、今天就能真正下载——是它的一个合格占领者。只是它不是我会放进循环内部的那个模型——而"为始终在线的本地 agent 构建"这个定位,悄悄地暗示它应该是。
如果你在 M4 或 24GB CUDA 显卡上重新跑了这个脚本,我很乐意看到你的表格。