一个名字听起来像玩具的“Space Bunny”,最近直接把大模型调用量排行榜干翻天了。我刷 OpenRouter 的实时榜单时,它稳稳坐在第一位,把 Claude Opus 5、GPT-5 这些熟脸全都压下去了。很多人在群里问:这到底是什么模型?怎么接?我花了两个晚上把它的路子摸了一遍,今天把结论整理出来。这篇东西会讲清楚三件事:Space Bunny 凭什么登顶、“匿名模型”到底是什么玩法、以及作为一个普通开发者,你最快能在五分钟内把它接进 Codex、Claude Code 或者自己的脚本里。适合所有正在折腾大模型 API、关注模型排行榜的开发者,不管你用的是国产模型还是闭源旗舰,这个思路都通用。
1. 先聊清楚:Space Bunny 登顶到底是怎么回事
1.1 一夜之间冲上调用量榜首的模型
先看现象。在 OpenRouter 这类聚合平台上面,每个模型都有两个维度的热度:一个是竞技场的盲测评分,一个是真实的 API 调用量。往常霸榜的,基本是 Claude、GPT 这些背景扎实的商业模型。Space Bunny 不一样,它没有品牌发布会,没有官方文档开头那一大段公司介绍,就是一串模型 ID 和一个莫名其妙的兔子名字。可它的调用量曲线几乎垂直拉升,一度超过常年霸榜的 Claude Opus 5。
我当时的第一反应是数据造假。做模型的人都知道,调用量刷起来太容易了,几个脚本挂上去就能把数字堆出来。但仔细看,情况不是这样。这个模型的调用请求里面,有大量来自 Codex、Claude Code、Cline 这些真实开发工具的会话日志,也就是说,是大量真实用户在把它当主力模型用,而不是某个团队在自刷。这个信号很关键:当一群做 Agent 的开发者把某个模型换成默认底座,说明它在代码生成、指令跟随这些硬指标上,确实经受住了实战考验。
它为什么叫“Space Bunny”?说白了,这就是个代号。很多团队在新模型发布之前,不愿意提前暴露身份,于是随手起个名字挂在匿名竞技场里让大家测试。Space Bunny 大概率也是这么来的。至于背后是谁,社区有很多猜测,但没有一个实锤。这不是坏事,反而说明一个问题:模型本身的实力,正在比品牌更能吸引开发者。
1.2 “接近 Opus5”这个评价怎么来的
标题里提到“接近 Opus5”,你可能会以为它比 Opus 5 强。准确说,是它在多项基准和真实体验中,已经摸到了 Opus 5 的脚后跟。我自己的实测感受是这样:在长文本代码文件的修改任务里,它理解上下文的能力很扎实,不会像一些轻量模型那样,改着改着就把前面的函数签名给忘了。在需要严格遵循格式的 JSON 输出任务里,它的成功率也很稳,基本不需要我在提示词里反复强调“别加解释,只输出 JSON”。
“接近”这个词很微妙。意味着它在某些单项上可能超过 Opus 5,但在综合稳定性、工具调用的边界处理上还有差距。我不建议把它当成 Opus 5 的替代品来用,但在做两件事的时候非常值:一是大批量的、成本敏感的文本处理任务,二是需要高频调用 API 的自动化流程。它的单次调用成本通常比 Opus 5 低不少,性能又够用,这就是它调用量暴涨的直接原因——开发者不傻,好用又便宜的东西,流量自然会上去。
2. 匿名模型:它不是一款“隐藏”产品,而是一种发布策略
2.1 匿名模型的三种常见形态
很多小伙伴一听到“匿名模型”,第一反应是“是不是什么不能见光的模型”。完全不是。在 AI 圈里,匿名模型是一种非常成熟的发布策略,我把它归纳成三种形态。
第一种是竞技场匿名测试。像 LMArena 这类平台,用户聊天时看不到模型身份,只看到一个代号。这样做的目的是消除品牌偏见。你想象一下,如果界面上直接写“这是 OpenAI 的新模型”,你的评价标准会自动拉高;如果写“这是一个小团队的开源模型”,你可能不自觉就降低期待。匿名能逼着用户纯粹凭体验打分。Space Bunny 最开始就是以这种形态出现在盲测榜单里的。
第二种是 API 平台上的委托/转发模型。有些团队不自己搭推理服务,而是把模型部署在云厂商或聚合平台上,用一个临时代号对外提供。OpenRouter、Anthropic、OpenAI 它们偶尔也会出现这种“神秘模型”。这么做通常是商业谈判还没谈妥,或者产品还没正式开发布会,但不妨碍先用流量的形式验证市场。
第三种是企业内部代号。很多大厂在内部做新模型的时候,也会用代号,比如“羊驼”“土豆”之类的。这种形态不太会出现在公共榜单上,但当你看到某天某个陌生模型突然霸榜,很可能就是内部测试的模型被误配到生产环境了。Space Bunny 更像前两种的结合体:先在匿名竞技场跑出分数,再以独立模型 ID 上架到聚合 API 供所有人调用。
2.2 团队为什么要搞匿名
往深里说,匿名是一石三鸟的玩法。第一,保护品牌。如果模型表现拉胯,没有人会记住“Space Bunny”这个失败品,团队可以换个代号重新来过,不伤招牌。第二,防止竞争对手提前拆解。模型一上榜单,各路机构马上会拿基准去测、去逆向,匿名等于给团队争取了迭代时间窗口。第三,制造悬念和话题。你自己也看到了,Space Bunny 登顶之后,全网都在猜“它是谁”,这种讨论本身就是免费的传播。
理解了这个逻辑,你就明白该怎么用这类模型了:可以把它当成一个“候选供应商”来评估,而不要把它当成一个可以长期依赖的产品,因为它随时可能下架或者改名。我见过不少人在项目里直接绑定了某个匿名模型的 ID,结果两三周后模型下架了,代码整片报错。所以,正确的姿势是,在你的代码层做一层抽象,把模型 ID 配置化,让它随时能被替换。
2.3 开发者能从中得到什么信息
匿名模型霸榜这件事,对开发者的价值不亚于官方发布会。你不需要知道它是谁做的,但你知道了一个信息:这个性能水平,现在的成本能做到什么程度。我把这看成市场价格锚点的重构。以前你说“要接近 Opus 5 的效果”,大家默认得花旗舰级的价格;现在一个匿名模型用更低的单价把活干了,供应商之间就得重新卷价格。
另外,你可以通过这个趋势判断生态的走向。调用量第一意味着什么?意味着大量 Agent 工作流已经把它接进去了,意味着它经得起高并发、长上下文、复杂指令的真实考验。这些信息,比任何官方发布的红蓝图表都更可信。所以我建议你养成习惯:每个季度去翻一次各大聚合平台的调用量榜单,把新面孔拉出来跑一遍,这比追着新闻看发布会高效得多。
3. 接入 Space Bunny:从 API Key 到 IDE 插件全覆盖
3.1 最快的接入路径:OpenRouter
我实测下来,接入这类匿名模型最快的一条路,就是走 OpenRouter 这类聚合平台。它们会把模型统一成 OpenAI 兼容的接口,你只要换一个 base_url 和一个 API Key,就能调起来。原因很简单:Space Bunny 没有自己的独立控制台,直接去官网,大概率只能看到一个介绍页或者一个“Coming Soon”的占位符。于是接入转化为一个问题:先去 OpenRouter 的模型列表页搜一下“space-bunny”,把当前上线的模型 ID 抄下来。
操作上分三步。第一步,去 OpenRouter 注册账号,在 Settings 页面生成 API Key,这个 Key 跟 OpenAI 的 Key 长得差不多,是一串sk-or-开头的字符串。第二步,在本地任意一个终端里试一下连通性,第三方 API 平台经常有网络不稳定的情况,先花十秒钟确认能通,再往下进行。第三步,把 Key 配进你将要使用的工具或者代码里,后面几个小节我都会给具体的示例。
需要注意一个地方:聚合平台上面的模型命名规则通常很长,可能是space-bunny/alpha,也可能是space-bunny/latest,甚至带日期版本。不要凭网上的教程死记硬背,以你在模型列表页搜到的实际 ID 为准。搜索的时候留意区分大小写,有些模型的命名里混着大写字母,填错一个字符就是model_not_found。
3.2 在 Codex / Claude Code 里挂载匿名模型
现在的编辑器 AI 工具基本都支持自定义模型供应商。以 Codex 为例,它的配置本质上就是让你指定一个 OpenAI 兼容的 endpoint。你只需要准备两个信息:接口地址和 Key。我建议先做一份最小配置验证,再决定要不要装图形化工具。
所谓图形化工具,社区里叫 CC Switch 的命令行配置工具很流行。它的作用是把不同模型供应商的 base_url 和 key 管理起来,在 Claude Code 和 Codex 之间来回切换,不用每次手动改环境变量。用它的逻辑是这样的:先添加一个“自定义供应商”,填入名字(比如 SpaceBunny)、base URL、模型 ID 和 Key,然后在“模型列表”里选中它,再启动 Codex 或 Claude Code,工具就会自动把请求转发到对应平台。我实测下来,这个工具的优势是直观,改动一次配置,多个工具生效。
但如果你不想引入额外工具,直接改环境变量也行。以 Claude Code 的常见做法为例,它会读取ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY,你把ANTHROPIC_BASE_URL指向 OpenRouter 的地址,把ANTHROPIC_API_KEY换成 OpenRouter 的 Key,再在模型参数里填 Space Bunny 的模型 ID,就完成了。代码层面没有魔法,本质上就是把官方 SDK 的客户端地址指到了第三方网关。
3.3 在自己程序里调用:OpenAI 兼容格式
如果你不想依赖 IDE 工具,想把它接进自己的 Python 脚本或者后端服务,那就更直接了。因为聚合平台对外提供的接口是 OpenAI 兼容的,你可以直接用官方 OpenAI SDK,把 base_url 指过去就行。我写了一个最小可运行的 Python 示例:
from openai import OpenAI client = OpenAI( base_url="https://openrouter.ai/api/v1", api_key="sk-or-你的key", ) response = client.chat.completions.create( model="space-bunny/alpha", # 以平台当前实际ID为准 messages=[ {"role": "system", "content": "你是一个严谨的代码审查助手。"}, {"role": "user", "content": "帮我检查下面这段Python代码的性能问题。"} ], temperature=0.2, max_tokens=2048, ) print(response.choices[0].message.content)这串代码里面有两个细节值得展开。第一个是temperature,我处理代码类任务时习惯设 0.2,处理创意文案时放到 0.8,匿名模型的随机性和商用模型一样受这个参数控制,不是写死的。第二个是max_tokens,不要设太小,否则长一点的代码补全会突然截断,整段输出作废。如果走的是非流式请求,建议用stream=True配合流式输出,这样第一块 token 返回更快,用户体验更好。
Node.js 的同学思路一样,把openai包里的baseURL改成聚合平台地址,apiKey换掉,就能复用已有的代码。我想强调一个架构上的建议:无论你用什么语言,都不应该在业务代码里硬编码模型 ID 和 Key。正确做法是写到环境变量或者配置中心,因为匿名模型的 ID 随时可能变,你的代码不应该跟着它一起改。
3.4 各种工具的 model 配置速查
我把不同场景下的关键配置项整理成表,方便你直接照抄。
| 接入场景 | 关键配置项 | 推荐值 |
|---|---|---|
| OpenRouter 网页聊天 | 模型选择 | space-bunny/latest |
| Codex / Claude Code | ANTHROPIC_BASE_URL | 聚合平台API地址 |
| Codex / Claude Code | ANTHROPIC_API_KEY | 聚合平台Key |
| CC Switch | 供应商base URL | 聚合平台API地址 |
| CC Switch | 模型ID | space-bunny/alpha |
| Python OpenAI SDK | base_url | 聚合平台API地址 |
| Python OpenAI SDK | model | 以模型列表为准 |
这张表的核心思路是:无论工具名字怎么变,你要传的三个核心参数永远是“接口地址”“密钥”“模型ID”。把这个对应关系记熟,以后再来什么匿名模型,你都能在一分钟内接好,不用去翻各种过时的教程。
4. 实操踩坑记录与排查清单
4.1 接口返回 model_not_found 怎么办
这是接入匿名模型时最常撞到的错误。我头一回接的时候也中招了。报错信息很模糊,就一行英文提示,说没有找到这个模型。问题几乎都出在模型 ID 上:匿名模型的生命周期很不稳定,可能昨天还在列表里,今天就下架改名了。解决方法是回模型列表页重新搜索,以页面上实时返回的 ID 为准,不要信我教程里给的示例 ID。
还有一种可能,是不同平台之间模型定价方式不同,导致聚合平台暂时隐藏了该模型。打个比方,有些模型只允许绑定信用卡后调用,你在免费额度阶段看不到,这时候就要先去账户里添加付款方式。不是要你立刻充值大笔钱,但很多平台的免费模型额度非常低,一旦流量超过阈值就会报insufficient_quota,这个报错跟模型不存在是完全不同的两个现象,排查方向别搞混。
4.2 认证和限流问题
匿名模型登顶之后,大量开发者涌入,限流几乎是必然的。你会看到429 Too Many Requests,这是正常现象,不代表你的 Key 有问题。我的处理习惯是:每次调用之间做退避重试,指数退避的初始延迟设 1 秒,最大拉长到 30 秒。不要用固定的 1 秒重试,否则平台会把你的请求当作异常流量,直接拉黑。
认证报错则是401 Unauthorized。出现这个,先检查你是不是把 Key 复制完整了。聚合平台的 Key 通常很长,复制的时候很容易漏掉最后几个字符。另外,注意区分环境变量里的 Key 和网页上显示的 Key,有时候你改了网页控制台的 Key,旧 Key 立即失效,而你的本地环境变量还是旧的,这种不一致特别坑。
还有一类隐蔽问题:某些聚合平台的接口对“请求头里的组织 ID”有要求。OpenAI 官方 SDK 默认不传组织 ID,没问题,但如果你之前在自己代码里设置过OpenAI(organization="org-xxx"),那么切换到这个平台时,这个组织 ID 可能导致请求被拒。遇到怪异的认证失败,把 organization 参数去掉试试。
4.3 匿名模型输出的稳定性问题
用了一个多星期 Space Bunny,我最大的感受是它很强,但它不是一个情绪稳定的选手。具体表现是:在代码任务上,有时候它能给出比 Opus 5 更惊艳的重构建议;在另一些问答场景,它又会出现明显的上下文遗忘。我猜测这是因为匿名模型的供应商为了提高并发能力,在底层做了模型路由,不同时刻可能命中不同的服务实例,所以行为存在一定随机性。
针对这个问题,我给你三个非常实际的建议。第一,关键任务加“输出校验层”,特别是 JSON 结构化输出,不要直接拿原始返回去解析,先做一次格式校验或者 schema 校验,失败就重试。第二,长对话里定期做摘要压缩,别让上下文无限膨胀,分段处理的效果远好于一次塞进去。第三,如果你在跑 Agent 循环,一定要设置“最大重试次数”,因为匿名模型的偶发抽风是常态,你的主流程必须对这种偶发抽风有容错能力。
我还发现了一个小技巧:给系统提示词里加上“请保持输出稳定,优先遵循既定格式”之类的要求,虽然模型不保证 100% 遵守,但实测下来,加了约束的失败率比裸跑低不少。这可能是因为模型在较高温度时更容易偏离指令,而在有明确格式约束时,它会倾向于收敛到标准输出模式。
5. 最后再分享一点个人经验
我搞这个模型接入折腾了两天,最后的体会是:面对匿名模型,心态要像对待试用版软件。你可以在关键路径上依赖它提效,但一定要留好逃生通道。我的做法是在代码里写一个简单的模型路由函数,当主模型报错或者连续三次输出不符合预期时,自动降级到备用模型。这个备用模型可以是任何一个你现有的、稳定的模型,成本稍高没关系,关键是兜底。这样既吃到了匿名模型的红利,又不会因为它的不稳定把自己的业务拖垮。
另外,别被“调用量第一”这几个字冲昏头脑,用量高不等于适合你的场景。我试过拿它做中文长文生成,效果只能说还行,但在英文技术文档和代码任务上,它的表现明显更好。接入之前,先拿你自己的真实任务跑个评测集,对比它和你现有模型的输出质量,再做决定。工具永远是工具,好不好用,你的场景说了算。