我把本地编码模型换成了Step 3.5 Flash
开始之前
我通常会在有新模型发布,尤其是看起来更擅长编码的时候,拿来做一些测试。这一次我试的是 Step 3.5 Flash。
不过先说明一点,我并不会长期用本地模型承担日常编码。我的主力流程仍然是商业模型,而本地模型更像是每次有新模型出来时,我会通过 Cline 接上去做测试的对象。
在 Mac Studio M3 Ultra 上跑过几种模型之后,我越来越觉得,如果想把 LLM 用在编码上,速度非常重要。超过 50 tok/s 时会相当顺畅,一旦掉到 30 tok/s 以下,很快就会让人感到明显的迟滞。
这篇文章不是一篇长篇的基准测试解读。我只想简单说清楚,这个模型为什么会吸引我,真正拿来做本地编码模型时哪里表现不错,以及我会把它推荐到什么程度。
为什么是Step 3.5 Flash
在这之前,我一直把 MiniMax M2.1 用在编码上,把 GLM 4.7 用在更通用的任务上。它们都不差,但在编码场景里,我还是会希望输出再稳定一点,处理体感再快一点。
这时候进入我视线的,就是StepFun的 Step 3.5 Flash。根据官方模型卡,它采用 196B 规模的 MoE 架构,实际激活参数是 11B,上下文窗口为 256K。它使用 Apache 2.0 许可,同时在编码相关指标上也表现很强,比如 SWE-bench Verified 74.4%。
当然,我不会只凭基准测试数字选模型。真正让我在意的是,它在测试里生成代码时的稳定性非常好,在一些简单任务上,甚至给了我一种可以拿来和 Sonnet 4.5 比一比的感觉。
实际使用时我喜欢的地方
第一点是,代码输出相对稳定。
以前有些任务需要多解释一两轮,它才能慢慢对上。换成这个模型之后,很多时候更短的指令就能结束。尤其是在结构化代码、函数拆分、类型对齐这种很看基本功的场景里,我觉得它相当扎实。
第二点是,它在语言处理上的表现让我更满意。
在我之前试过的本地编码模型里,我最喜欢的其实一直是 MiniMax。但这个模型会相当频繁地混出中文汉字,韩语表现也明显让人失望。相比之下,Step 3.5 Flash 的韩语自然得多,输出里也几乎不会突然蹦出中文汉字。
更特别的一点是,它大部分推理过程都会沿用输入语言来处理。我几乎是第一次遇到这样会如此明显跟随输入语言进行推理的模型。
第三点是,它在本地环境里比我预想的更能长期挂着用。
官方介绍里提到的是API侧的高吞吐数字,本地机器当然不会直接复制那个成绩。在我的环境里,速度明显会低不少。即便如此,在短小的代码修改和重复生成场景里,它带来的感觉更像是「可以一直开着」而不是「勉强能用」。
但它并不是万能模型
我不会把这个模型推荐给所有用途。
像日常对话、创作这类需要更宽、更柔软响应的任务,其他模型仍然可能更合适。对我来说,Step 3.5 Flash更像一个擅长领域非常明确的模型,而不是一个靠单体覆盖全部场景的模型。
另一个重点是预期管理。
尤其是在 Mac 上本地运行时,prefill 实在太慢了。上下文一长,等到第一个有用响应的时间就会明显拖长,在这一点上,它很难接近商业模型,尤其是以 Claude Code 为基准的生产力。
另外一个缺点是,它在推理上消耗的 token 明显偏多。哪怕是相对简单的任务,有时也会进行比预想更长的推理,这会让体感速度和整体 token 成本都显得不够划算。
所以我更把它看成一个用来通过 Cline 测试新模型、理解其性格的对象,而不是主力编码环境的替代品。它在短小、重复的写代码、改代码、辅助重构流程里确实还不错,但如果期待它承担主要编码工作,限制会很快暴露出来。
它适合谁
我觉得下面这些情况很值得试一试。
- 想找一个本地编码专用模型的开发者
- 希望用开放权重模型来兼顾隐私的团队
- 需要把模型接到代码生成或代码修改流水线上的场景
- 想把通用模型和编码模型分开使用的人
如果你希望一个模型同时承担创作、对话和长篇文章,那它可能和你的期待不完全一致。
结尾
在我最近试过的本地编码模型里,Step 3.5 Flash给我的印象相当不错。
它不是完美的万能模型,但如果标准是「一个专注于编码的开放权重模型」,那它已经是一个很容易推荐的选择。
如果你正在搭建本地编码环境,也觉得现在用的模型有点不上不下,那么Step 3.5 Flash很值得列进一次切换测试的候选。至少对我来说,它已经变成最近这些本地编码模型里,我最先会再次打开的那个。