最近Anthropic发布了Claude Haiku 4.5,号称速度快、成本低、还具备推理能力。我看到一个独立开发者做了一组非常扎实的对比测试,拿Haiku 4.5和Sonnet在真实的编码场景里贴身肉搏,结果挺有意思的——既有惊喜,也有坑。今天咱们就来好好聊聊这个测试。
对,这个测试我也仔细看了,他用的是一个多代理监控系统,就是同时跑两个AI代理做同样的任务,实时记录每个代理的响应速度、工具调用次数、token消耗这些指标。这种并排对比其实是最有说服力的,因为变量控制得很好。
嗯,那先说大家最关心的——速度和成本。Haiku 4.5到底快多少?
速度差距非常明显。同样的任务,Haiku完成时间大概是Sonnet的一半。而且你看一个很有意思的细节,在三分钟的观察窗口里,Haiku的工具调用次数比Sonnet多了大约十次。所谓工具调用,就是模型在执行任务时主动去调文件搜索、代码执行、API请求这些外部功能,这是现在AI编码代理的核心能力。调用间隔越短,说明模型每次决策之间的推理效率越高。在一次代码库搜索汇总的任务里,Haiku触发了74个代码钩子事件,其中36次是直接工具调用,整体节奏比Sonnet快很多。
成本呢?我记得差距也挺大的。
成本差距更夸张。Haiku 4.5的输入价格是每百万token一美元,输出五美元;Sonnet分别是三美元和十五美元。简单说,发一个Sonnet请求的钱,能发三个Haiku请求。你想想,速度快一倍、价格便宜三分之二,这个诱惑力是很大的。
听起来简直是白捡的便宜。但我猜如果真这么完美,就不需要Sonnet了对吧?问题出在哪?
问题出在精度上。测试里有一个任务是让两个模型在代码库里查找并汇总所有指定文件。Sonnet找到了32个文件,Haiku只找到31个,漏了一个。这是大约3%的遗漏率。
3%听起来不多啊?
这要看场景。你如果做的是安全审计、生产部署这种事,漏一个文件可能就是灾难。但如果只是日常的代码总结、文档整理,3%的遗漏换来两倍速度和三分之一成本,很多人会觉得划算。不过更深层的问题不止是漏文件。测试的提示词要求每个文件写两句话摘要——第一句说文件干什么用的,第二句说它在代码库里怎么被使用。Sonnet的结果里,关键词used出现了12次,把使用情况覆盖得很全。而Haiku呢?只出现了2次,几乎完全忽略了第二点要求。
这就不只是漏不漏的问题了,这是指令遵循度的问题。
没错,这在大模型领域是个经典现象。小模型能抓住提示词的主要意图,但面对多层次、多约束的复杂指令,次要要求很容易被丢掉。Haiku 4.5的核心特征就是——速度快、效率高,但持续深入的能力有限,容易在细节上打折扣。
那规划能力呢?我看测试里还有一个更复杂的任务。
对,这个任务很有代表性。让两个模型同时规划三个新功能:三个UI主题、一个十分钟活动计时器、还有一个支持正则表达式的搜索栏。结果Sonnet产出的规划文件比Haiku长了三到四倍,里面有详细的实现步骤。而Haiku的规划就比较表面化。更关键的是,基于各自的规划去实际构建时,Haiku成功做出了正则搜索栏和计时器,但三个UI主题全部失败——颜色定义写了,但关键的连线和配置漏掉了,主题切换完全不生效。
有意思,为什么正则搜索栏能做出来,UI主题就不行呢?
这其实揭示了任务复杂度的层级差异。正则搜索栏属于模式明确、实现路径清晰的中等难度任务,训练数据里有大量范例,Haiku处理起来得心应手。但UI主题切换涉及CSS变量系统、主题配置映射、状态管理、组件级样式覆盖等多层架构,需要模型理解各层之间的连线关系。这种跨模块的系统性思考,恰恰是小型模型的短板。测试者说了一句很到位的话:Haiku不是一个好的规划者,它的设计不是用来深入思考的。
但也不是说Haiku就只能干粗活。我注意到文档问答那个测试,Haiku表现还挺亮眼的?
对,这是个很有趣的反转。测试让两个模型下载多份文档,然后回答关于子代理、插件和技能的三个问题。Haiku在某些细节上甚至超过了Sonnet——比如在子代理优先级的问题里,Haiku捕捉到了命令行参数这个额外层级,Sonnet反而漏了。而且Haiku最后还自动生成了一个精炼的对比总结表,非常清晰。这就印证了它作为总结型模型的定位——信息已经在文档里了,模型要做的是识别、提取和重组,而不是创造性地推理出新的逻辑链条。这恰好是小模型的优势区:高效的模式识别和信息压缩。
所以说到底,这不是一个谁替代谁的问题,而是怎么搭配的问题。
完全正确。测试者提出了一个特别有价值的概念叫模型层级策略。你需要一套弱、中、强三个层级的模型组合。Anthropic这边是Haiku、Sonnet、Opus;Google有Flash、Pro、Ultra;OpenAI有4o mini、4o、o1/o3。核心思想是在合适的时机用对合适的模型。
你能举个具体的组合策略吗?
测试者提了一个特别实用的重构工作流:让Sonnet负责规划重构方案,然后启动Haiku子代理去执行具体的重构操作,最后再由Sonnet来复查。这个组合在经济上特别聪明——你想,写代码意味着大量的输出token消耗,输出token的单价通常是输入token的好几倍。最贵的代码生成环节交给便宜的Haiku,而Sonnet只在规划和复查这种以输入token为主的环节介入。成本大幅降低,质量还有保障。
这让我想到一个比喻——Haiku就像侦察兵,跑得快、成本低、执行力强,但你不能让它当指挥官去做战略规划。
这个比喻太准了,测试者自己也用了侦察性模型这个说法。相比前代Haiku 3.5,4.5的能力跃升确实很大,现在能解决很多以前只有Sonnet甚至Opus才能处理的问题。但要说替代Sonnet,答案很明确——不能。测试者把它定位在略逊于Sonnet 4.0的水平,大致相当于Claude 3.5到3.7级别。
所以对开发者来说,最实际的建议就是:每次启动一个编码任务之前,先问自己这个任务Haiku能不能搞定。文件总结、结构化数据汇总、基础代码生成、模式匹配这些,放心交给Haiku。复杂规划、架构设计、调试疑难Bug、安全敏感的任务,还是得上Sonnet。
对,而且这种有意识的模型选择,其实是AI编码时代一种全新的工程思维。不是说哪个模型最强就无脑用哪个,而是像管理团队一样——合适的人做合适的事。掌握这种模型层级策略的开发者,在效率和成本控制上会有非常明显的竞争优势。这可能比学会写更好的提示词还重要。
说得好。省下来的不只是钱,还有时间和等待的焦虑。毕竟快一倍的速度,意味着你的开发循环也能快一倍——前提是你把它用在对的地方。