Qwen 3.5 9B只要$0.10/MTok,我拿它跑了一周Agent看看能撑多远

2 阅读5分钟

跑 AI Agent 最大的开销是模型调用费。Qwen 3.5 9B 在 sub-$0.20 价位的 benchmark 排第一,比主流模型便宜 30-150 倍。我把 OpenClaw 的主力模型换成它跑了 7 天,记录哪些任务它能扛住、哪些扛不住。

什么是 Qwen 3.5 9B

Qwen 3.5 9B 是通义千问 3.5 系列里最小的版本,90 亿参数。API 价格 0.10/MTok输入、0.10/MTok 输入、0.30/MTok 输出——对比一下 DeepSeek V4 的 0.30/0.30/1.20,或者 Claude Sonnet 的 3/3/15。便宜了 30 到 150 倍。

但 benchmark 数据很有意思:在多个评测里,Qwen 3.5 9B 在 sub-$0.20 价位段排第一,部分指标接近去年的旗舰模型。

问题来了:benchmark 分数高不代表能跑 Agent。Agent 场景对模型的要求和做题不一样——要理解多轮上下文、正确选工具、处理模糊指令。9B 参数的小模型能撑住吗?

实验设计

我把 OpenClaw 的日常助手 Agent 的主力模型从 DeepSeek V4 切到 Qwen 3.5 9B,跑了 7 天。

from openai import OpenAI

# 通过 API 网关调用,切模型只改一个字符串
client = OpenAI(
    base_url="https://api.therouter.ai/v1",
    api_key="your-key"
)

response = client.chat.completions.create(
    model="qwen/qwen3.5-9b",
    messages=messages,
    tools=tool_definitions,
)

环境

项目配置
AgentOpenClaw 日常助手,接飞书 + Discord
工具数量8 个(在之前测出的 12 个安全线以内)
日均消息~180 条
降级链Qwen 3.5 9B → DeepSeek V4 → Claude Sonnet
记录方式每条消息标注:成功/需修正/失败

降级链兜底——如果 Qwen 3.5 9B 连续失败 3 次,熔断器自动切 DeepSeek V4。

任务分类

根据之前的运行经验,日常消息大致分 6 类:

类别占比典型任务
简单问答35%"今天天气?" "帮我算一下 XX"
文本处理20%翻译、摘要、改写
工具调用(简单)18%查数据库、搜索网页
工具调用(多步)12%先搜索→分析→生成报告
代码相关10%写函数、review 代码、解释报错
复杂推理5%架构决策、多因素分析

7 天实测结果

总消息量:1,247 条。逐条标注后的数据:

任务类别消息数成功率需修正失败
简单问答43797.3%2.1%0.6%
文本处理24994.0%4.8%1.2%
工具调用(简单)22589.3%7.6%3.1%
工具调用(多步)15071.3%18.0%10.7%
代码相关12576.0%16.0%8.0%
复杂推理6152.5%24.6%22.9%
总计1,24787.1%8.4%4.5%

关键发现

发现 1:73% 的任务(简单问答 + 文本处理 + 简单工具调用),Qwen 3.5 9B 的成功率超过 89%。 这些任务占了日常消息的绝大多数。用 $0.10/MTok 的模型处理,完全够用。

发现 2:复杂推理几乎腰斩。 成功率只有 52.5%,接近一半的时候给出的答案有明显问题。典型失败案例:让它分析"这个 API 设计方案的三个潜在问题",它能找到 1 个,另外 2 个要么遗漏要么不靠谱。

发现 3:多步工具调用是分水岭。 单步工具调用("查一下 XX")成功率 89.3%,和大模型差距不大。但多步工具调用("先查 XX,然后基于结果做 YY")成功率掉到 71.3%。小模型在跨步骤保持逻辑连贯性上确实弱。

和 DeepSeek V4 的对比

同期我保留了 DeepSeek V4 的日志(降级时触发的 + 之前的历史数据),可以做直接对比:

任务类别Qwen 3.5 9BDeepSeek V4差距
简单问答97.3%98.1%-0.8pp
文本处理94.0%96.2%-2.2pp
简单工具调用89.3%94.7%-5.4pp
多步工具调用71.3%86.0%-14.7pp
代码相关76.0%88.5%-12.5pp
复杂推理52.5%79.0%-26.5pp

规律很清晰:任务越简单,差距越小。任务越复杂,差距呈指数扩大。

简单问答只差 0.8 个百分点——几乎无感。复杂推理差了 26.5 个百分点——不可接受。

成本对比

这才是最有意思的部分。

指标纯 DeepSeek V4纯 Qwen 3.5 9B混合路由
7 天总消息1,2471,2471,247
总 token~2.1M~2.1M~2.1M
7 天费用$3.15$0.31$0.89
月度估算$13.50$1.33$3.81
总成功率93.2%87.1%91.8%

纯 Qwen 3.5 9B 比纯 DeepSeek V4 便宜 90%,但成功率低了 6 个百分点。

最佳方案是混合路由——简单任务走 Qwen 3.5 9B,复杂任务走 DeepSeek V4:

def route_by_complexity(message, tools_needed):
    """根据任务复杂度选择模型"""
    
    # 复杂任务 → 大模型
    if tools_needed > 1:          # 多步工具调用
        return "deepseek/deepseek-v4"
    if needs_reasoning(message):   # 分析/推理/架构
        return "deepseek/deepseek-v4"
    if is_code_task(message):      # 代码 review/生成
        return "deepseek/deepseek-v4"
    
    # 简单任务 → 小模型
    return "qwen/qwen3.5-9b"

def needs_reasoning(message):
    """简单的复杂度判断"""
    reasoning_signals = ["分析", "为什么", "比较", "优缺点", "方案", "设计", "架构"]
    return any(s in message for s in reasoning_signals)

def is_code_task(message):
    code_signals = ["代码", "函数", "bug", "报错", "review", "实现"]
    return any(s in message for s in code_signals)

混合路由的结果:月费 $3.81(比纯大模型省 72%),成功率 91.8%(只比纯大模型低 1.4 个百分点)。

用 28% 的成本获得 98.5% 的质量。

小模型翻车的三种典型模式

翻了 7 天的失败日志,Qwen 3.5 9B 的失败案例可以归为三类:

模式一:工具参数构造错误(占失败的 41%)

小模型理解了要调哪个工具,但构造的参数有问题。

用户: "帮我查一下上周新注册的用户"
期望 SQL: SELECT * FROM users WHERE created_at > datetime('now', '-7 days')
实际生成: SELECT * FROM users WHERE created_at > '上周'

它理解了意图,但没有正确把"上周"转换成 SQL 的时间函数。大模型在这种类型转换上更稳。

模式二:多步骤逻辑断裂(占失败的 35%)

第一步做对了,第二步开始偏:

用户: "搜一下最新的 MCP 安全漏洞,然后总结出前 3 个最严重的"
第一步: 搜索成功,返回了 5 条相关结果 ✓
第二步: 只总结了 1 条,剩下 2 条瞎编的 ✗

小模型处理完第一步之后,上下文已经很长了(搜索结果塞进来),第二步的注意力被稀释。

模式三:指令理解偏差(占失败的 24%)

对复杂或模糊的指令理解出错:

用户: "把这段英文改成更地道的中文,不要翻译腔"
Qwen 3.5 9B: 直接翻译了一遍,翻译腔很重
DeepSeek V4: 重写成了口语化的中文表述

"更地道"和"不要翻译腔"是需要理解语言风格的指令,小模型对这种细粒度的要求把握不够。

实战建议:什么时候用小模型

场景推荐模型原因
闲聊、查天气、算术Qwen 3.5 9B大材小用没意义
翻译短文本Qwen 3.5 9B精度够用,成本低 30x
单步工具调用Qwen 3.5 9B89% 成功率,可接受
多步工具链DeepSeek V4+小模型跨步骤容易断
代码生成/reviewDeepSeek V4+代码质量差距明显
架构分析/推理Opus 4.7只有旗舰模型靠谱

核心原则:用最小够用的模型完成任务。 73% 的日常 Agent 任务用 9B 参数的小模型就够了。剩下 27% 的复杂任务再调大模型。

通过 API 网关做自动路由,代码里不用 if-else 判断:在网关后台配置规则,按任务特征(关键词、工具数量、上下文长度)自动分流到不同模型。一个 Key 搞定。

常见问题

Q: Qwen 3.5 9B 和 Qwen 3.5 Plus(397B)差距有多大? A: 简单任务差距 2-3%,可以忽略。复杂推理差距 20-25%——参数量差了 44 倍,复杂场景差距确实大。日常 Agent 场景建议 9B 兜底、需要时升级到 Plus。

Q: 小模型跑 Agent 最大的坑是什么? A: 多步工具调用。小模型单步没问题,但跨步骤保持逻辑连贯性差。建议把多步任务拆成多个单步,或者多步任务直接路由到大模型。

Q: 混合路由会不会增加延迟? A: 路由判断本身 <1ms,忽略不计。但小模型的推理速度反而更快(参数少),所以混合路由的平均延迟通常比纯大模型更低。实测 Qwen 3.5 9B 平均响应 0.8s,DeepSeek V4 是 2.1s。


TheRouter — 多模型 API 网关,一个 Key 调 30+ 模型。内置按任务复杂度自动路由,73% 的请求走最便宜的模型,月费省 72%。