Nanbeige-4.2-3B:来自BOSS直聘的小钢炮
2026/7/31 13:42:21 网站建设 项目流程

文章目录

  • (一)前言
    • (1.1)难以通过的测试
    • (1.2)失败的原因
  • (二)Nanbeige-4.2-3B
    • (2.1)简介
    • (2.2)测试例子
    • (2.3)理论速度
    • (2.4)参数和资源占用
    • (2.5)小遗憾
  • (三)总结

(一)前言

我在《本地模型都这么强了?16GB级别LLM工具能力不完全体验》里测试了很多开源的LLM模型,能在我16G显存下跑起来的模型。

比较亮眼的是新出的小鸟,也就是Ornith系列模型。
但让人失望的是,这个级别所有模型,都可能会搞错一些信息,给出错误的结果。

小鸟偏向编程,后来又出现了同样基于Qwen的Agents-A1模型,更偏向实际任务工具调用等。
相对来说效果也是非常好。

但是在4B这个参数量级上,没有能够稳定通过测试的。

(1.1)难以通过的测试

我的测试很简单,从OpenCLI出发,给LLM一个指令,让它自己查出最后的正确信息。
考虑了一下之后决定用查询火车票的场景作为例子,因为它需要几个工具步骤,并且需要理解返回信息。

ChatGPT曾经告诉我,这是小菜一碟,本地模型能胜任,甚至不用开推理。
但实际测试结果,给俺泼了一盆冷水。

除了Qwen3.5-88B-A10B这种勉强能运行的REAP超标模型,其它模型多少都会有一定的机率答错。
较大的模型中,MOE模型错误率高些,Dense错误率低些。
小鸟和Agent-A1,比原版的Qwen系列好些。

(1.2)失败的原因

非常不靠谱的失败请看之前的文章。
当AI的查询逻辑和调用工具全对时会拿到如下的数据(当然LLM看到的是Yaml格式)。

12306/trains ┌───────┬──────────────┬────────────┬────────────┬─────────────┬──────────┬───────────┬───────────────┬────────────┬─────────────┬──────────────┬──────────────┬───────────┬─────────┬──────────────┐ │ Code │ From_station │ To_station │ Start_time │ Arrive_time │ Duration │ Available │ Business_seat │ First_seat │ Second_seat │ Soft_sleeper │ Hard_sleeper │ Hard_seat │ No_seat │ Train_no │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ G322 │ 成都东 │ 北京西 │ 06:56 │ 14:26 │ 07:30 │ true │ 无 │ 15 │ 无 │ │ │ │ 有 │ 760000G32201 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ D1046 │ 成都东 │ 清河 │ 07:11 │ 18:53 │ 11:42 │ true │ │ 11 │ 17 │ │ │ │ 有 │ 76000D104603 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ G1308 │ 成都东 │ 北京丰台 │ 10:16 │ 20:22 │ 10:06 │ true │ 无 │ 无 │ 有 │ │ │ │ 有 │ 77000G130801 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ G970 │ 成都东 │ 北京西 │ 10:56 │ 20:20 │ 09:24 │ true │ 2 │ 有 │ 无 │ │ │ │ 有 │ 770000G97001 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ G1592 │ 成都东 │ 北京西 │ 11:25 │ 20:30 │ 09:05 │ true │ 1 │ 7 │ 无 │ │ │ │ 有 │ 76000G159202 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ D50 │ 成都东 │ 北京西 │ 13:01 │ 10:07 │ 21:06 │ true │ │ │ 无 │ 无 │ 无 │ │ 无 │ 7600000D5001 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ D118 │ 成都东 │ 北京丰台 │ 13:38 │ 10:44 │ 21:06 │ true │ │ │ 无 │ 无 │ 无 │ │ 有 │ 760000D11801 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ G324 │ 成都东 │ 北京西 │ 15:02 │ 22:32 │ 07:30 │ true │ 6 │ 无 │ 有 │ │ │ │ 有 │ 760000G32400 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ D16 │ 成都东 │ 北京西 │ 15:37 │ 12:16 │ 20:39 │ true │ │ │ 无 │ 有 │ 无 │ │ 有 │ 7600000D1600 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ D966 │ 成都东 │ 北京丰台 │ 19:28 │ 06:47 │ 11:19 │ true │ │ │ 无 │ 无 │ │ │ 无 │ 760000D96600 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ D968 │ 成都东 │ 北京丰台 │ 19:33 │ 06:55 │ 11:22 │ true │ │ │ 无 │ 无 │ │ │ 无 │ 780000D96800 │ ├───────┼──────────────┼────────────┼────────────┼─────────────┼──────────┼───────────┼───────────────┼────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────────┤ │ K118 │ 成都西 │ 北京西 │ 21:12 │ 05:26 │ 32:14 │ true │ │ │ │ 无 │ 无 │ 有 │ 有 │ 760000K1180L │ └───────┴──────────────┴────────────┴────────────┴─────────────┴──────────┴───────────┴───────────────┴────────────┴─────────────┴──────────────┴──────────────┴───────────┴─────────┴──────────────┘

通常LLM们会错在下面这几个地方。
其实非常像咱看错内容的原因。

  1. 内容看到一半就开跑,比如问的是有商务座,则看到G1592G970时就直接给答案了。忽略了后面更快的G324列车。
  2. 弄错车次内部编码,比如G324的内部编码是:760000G32400,AI看漏了0,硬要用76000G32400进一步查询票价和停站信息。
  3. 混淆最快、最早到达,其实是不同的涵义。
  4. 混淆商务座、二等座等明显的结构化数据含义。

(二)Nanbeige-4.2-3B

直到我在世界杯后再一次看到Boss直聘的名字,和这个Nanbeige-4.2-3B模型……
它似乎每次都能通过我的测试。

(2.1)简介

南北阁(Nanbeige)4.2-3B是Boss直聘南北阁实验室从零训练的一款紧凑型通用Agent模型。它最核心的特点是 “小而强” ,以仅30亿的非嵌入参数量,在多项Agent和推理任务上超越了参数量大得多的模型。当然以小博大我们见得太多了,宣传上强,实战拉跨的更多。让我们看看它有啥特点:

  • 创新的循环Transformer架构:4.2版本采用了Looped Transformer架构,在推理时让数据在同一个Transformer层中循环多次(如两次),在不增加参数的前提下,有效增加了模型的“深度”和容量。这个架构是从零开始训练的,效果比事后改造更好。

  • 海量且高质量的训练数据:模型在28万亿(28T)个Token上进行了预训练,相比前代(23T)数据规模更大、质量更高,并特别增加了数学、代码和合成问答数据的比重。

  • 强大的Agent与推理能力:根据其技术报告,Nanbeige4.2-3B在通用Agent、代码Agent和复杂工具使用等任务上表现出色,性能超越了Qwen3.5-9B和Gemma4-12B等更大模型。同时,它在数学、代码和科学推理能力上也保持了强竞争力。

  • 实用的本地部署潜力:模型体积小巧,适合本地部署。当集成到OpenClaw等通用Agent框架中时,它在日常助理、办公流程和深度研究等任务中表现良好,可作为本地个人助理使用。

很官方的文案,似乎只有第一项是真正的特点。
上个版本就曾经冲击到HF的LLM模型的前三,感觉还是挺厉害的。
不过有个小疑问,明明是4B的参数量,为啥名字是3B。

(2.2)测试例子

没开推理,也会输出思维过程(cot),思维过程中总结了工具返回的一些关键信息。
也许就是这些关键的思维过程文字,让它没有跑偏?

[2026-07-30 14:37:42.377][Question]请查询明天从成都到北京的火车。商务座有票的、耗时最短的车次。查询那趟车的票价和停站详情。[2026-07-30 14:37:42.377][Service]LLM provider: http://127.0.0.1:8999/v1[2026-07-30 14:37:42.729][开始]收到用户指令并开始处理…… <352ms>[2026-07-30 14:37:44.674]Streaming...<1.94s> 我来帮您查询明天从成都到北京的火车信息。首先,让我确认12306网站的可用命令。[2026-07-30 14:37:46.452][工具](1.1)site_help →{'site':'12306'}<1.78s>[2026-07-30 14:37:46.797][工具](1.1)site_help ←(3891)command_count: 9 commands:-desc: Open 12306 login and waituntilthe browser session is authenticated name: logi...<344ms> 好的,12306网站支持查询车次、票价和停站详情。现在让我分步执行:**第一步:查询明天(2026-07-31)从成都到北京的火车车次**[2026-07-30 14:37:51.560][工具](2.1)cmd_exec →{'full_cmd':'opencli 12306 trains 成都 北京 --date 2026-07-31'}<4.76s>[2026-07-30 14:37:52.297][工具](2.1)cmd_exec ←(3507)-arrive_time:'14:26'business_seat: 无 code: G322 duration: 07:30 first_seat:'14'from_code: ICW from_station:...<737ms> 已获取车次列表。现在分析:**商务座有票的车次筛选:**-G970(770000G97001):商务座有票,耗时**09:24**-G1592(76000G159202):商务座有票,耗时**09:05**-G324(760000G32400):商务座有票,耗时**07:30****耗时最短且有商务座票的车次是 G324(760000G32400),耗时 07:30!**现在查询这趟车的票价和停站详情:**第二步:查询 G324 车次的票价**[2026-07-30 14:38:03.078][工具](3.1)cmd_exec →{'full_cmd':'opencli 12306 price 760000G32400 --from 成都 --to 北京 --date 2026-07-31'}<10.78s>[2026-07-30 14:38:03.749][工具](3.1)cmd_exec ←(102)"ok: false error: code: COMMAND_EXEC message: Train does not stop at 成都 \ \ exitCode: 1"<670ms> 看来需要从成都东站出发。让我用正确的站点名称查询票价:**第二步(修正):查询 G324 车次的票价(成都东→北京西)**[2026-07-30 14:38:09.928][工具](4.1)cmd_exec →{'full_cmd':'opencli 12306 price 760000G32400 --from 成都东 --to 北京西 --date 2026-07-31'}<6.18s>[2026-07-30 14:38:10.733][工具](4.1)cmd_exec ←(329)-currency: CNY price:'2699.5'seat_code: A9 seat_name: 商务座-currency: CNY price:'1598.5'seat_code: P seat_n...<805ms> 票价已获取!现在查询停站详情:**第三步:查询 G324 车次的停站详情**[2026-07-30 14:38:16.756][工具](5.1)cmd_exec →{'full_cmd':'opencli 12306 train 760000G32400 --from 成都东 --to 北京西 --date 2026-07-31'}<6.02s>[2026-07-30 14:38:17.466][工具](5.1)cmd_exec ←(622)-arrive_time:''start_time:'15:02'station_name: 成都东 station_no:'01'stopover_time:''-arrive_time:'15:39...'<710ms> 所有查询已完成!以下是为您汇总的结果:---## 🚄 明天(2026-07-31)成都→北京 火车查询结果### 🏆 符合条件的车次:商务座有票 + 耗时最短经过筛选,**耗时最短且有商务座票的车次是 G324(760000G32400)**|项目|详情||------|------||**车次**|G324(760000G32400)||**出发站**|成都东||**到达站**|北京西||**出发时间**|15:02||**到达时间**|22:32||**总耗时**|**7小时30分钟**✅(最短)||**商务座**|有票 ✅|---### 💰 票价信息|座位类型|票价(元)||----------|-----------||**商务座**|**¥2,699.5**||特等座|¥1,598.5||一等座|¥1,403.5||二等座|¥877.5||无座|¥877.5|---### 🛤️ 停站详情|序号|站名|到达|出发|停站时间||------|------|------|------|----------||1|成都东(起点)|15:02|15:02|||2|绵阳|15:39|15:41|**2分钟**||3|西安北|18:16|18:22|**6分钟**||4|郑州东|20:10|20:13|**3分钟**||5|石家庄|21:29|21:32|**3分钟**||6|北京西(终点)|22:32|||---### 📝 小结-该车次共**5个中间停站**(不含起点终点),停靠时间较短,效率较高-商务座票价**¥2,699.5**,适合商务出行需求-建议尽早购票,商务座余票可能有限 如需进一步操作(如登录12306抢票),请告诉我! 🎫[2026-07-30 14:38:41.056]Answer completed <23.59s>[2026-07-30 14:38:41.056]Retrieval: 3265.7 ms,Answers: 42031.24 ms,Total: 58318.13 ms[2026-07-30 14:38:41.056]Tokens in: 33118,Tokens out: 1251,<nanbeige4.2-3b-Q8_0> <29.76 tokens/s>[2026-07-30 14:38:41.056]All done ✅

(2.3)理论速度

提示词处理很快,但输出稍微慢了些。

>.\llama-bench-m nanbeige4.2-3b-Q8_0.gguf-ngl-1-fa on-ctk q8_0-ctv q8_0 ggml_cuda_init: found 1 CUDA devices(Total VRAM: 16379 MiB): Device 0: NVIDIA GeForce RTX 4060 Ti,compute capability 8.9,VMM: yes,VRAM: 16379 MiB load_backend: loaded CUDA backendfromD:\AI\llama.cpp\ggml-cuda.dll load_backend: loaded RPC backendfromD:\AI\llama.cpp\ggml-rpc.dll load_backend: loaded CPU backendfromD:\AI\llama.cpp\ggml-cpu-alderlake.dll|model|size|params|backend|ngl|type_k|type_v|fa|test|t/s||----------------|-------:|-----:|-------|--:|-----:|-----:|-:|----:|--------------:||nanbeige ?B Q8_0|4.13 GiB|4.17 B|CUDA|-1|q8_0|q8_0|1|pp512|3666.17 ± 58.56||nanbeige ?B Q8_0|4.13 GiB|4.17 B|CUDA|-1|q8_0|q8_0|1|tg128|34.84 ± 0.01|

(2.4)参数和资源占用

在如下启动参数的情况下,显存占用11.2+0.8GB。
也就是说虽然文件只有4G多,还是必须得12GB+显存才装得下。

稍做解释:

  • 参数:ctx-size 65536在这个场景下确实需要这么大,比如查询多个新闻来源并总结。如果用在RAG的场景下可以适当缩小比如到8092,可以节约不少显存。
  • 参数:reasoning-budget后面那几个不用管它。这个模型根本用不到,是给无限重复的模型救场用的。
.\llama-server.exe-m D:\AI\llama.cpp\models\nanbeige4.2-3b-Q8_0.gguf--gpu-layers auto--flash-attn on--no-cache-prompt--ctx-size 65536-ctk q8_0-ctv q8_0--reasoning auto--reasoning-preserve--reasoning-format deepseek--reasoning-budget 1024--reasoning-budget-message'. I need to stop thinking, and proceed the users request.'--offline--threads 4--threads-batch 8--threads-http 6--parallel1--no-cont-batching--no-cache-idle-slots--cache-ram 0--poll 0--load-mode none--no-ui--host 127.0.0.1--port 8999

(2.5)小遗憾

有时应调用tool时,它把调用写成了xml格式,直接输出到token中……
因官方没有放GGUF文件,所以不清楚是转换还是模型自身原因造成的。

当然这也不是无解,检测到这种输出后可以手动调tool,然后把结果再喂给LLM。

(三)总结

超高的成功率,可以让我放心的用这个4B小模型。
在本地资源较为极限的情况下,不失为很好的选择……或者说目前唯一的选择?
哇系姆巴佩,补水啦!嘘!看球……

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询