本地模型能不能当好 agent?7 个模型跑完 12 个长链复杂任务的实测

本地模型能不能当好 agent?7 个模型跑完 12 个长链复杂任务的实测

测一个模型的"单轮对话能力"很容易,测一个模型"能不能真的当 agent 干活"就难得多了——因为它要连续很多步:读文件、写代码、跑命令、查目录、改 Bug、再验证结果,中间任何一步出错都可能带偏后面所有步骤。

这次用 Hermes Agent(本地部署)在单张 RX 7900 XTX 上,把 7 个模型放进 12 个复杂长链任务里跑了一遍,每个任务最多允许 40 轮工具调用,用 35 个自动验证检查点来判分。测的是模型在"真实干活"场景下的工具调用和长链执行能力,而不是单纯的口头问答。


测了什么

12 个任务覆盖了 agent 日常要干的活:

  • 数据分析:生成 sales.csv 并算出各区域合计、最佳区域
  • Bug 修复:写一个 stats.py,再修好里面的 Bug 并跑通测试
  • 包构建:搭一个 Python 包目录结构(含 init.py、hello.py、setup.py)
  • 查找修补:建多个文件、按规则查找内容、打补丁、拼接文件
  • 网页项目:搭一个迷你站点(index.html / style.css / script.js / manifest)
  • 记忆运算:用记忆工具存 5 个商品价格,再跨会话算总价(考验长期记忆)
  • 日志分析:生成 app.log,再从日志里提取统计
  • CLI 工具:写一个能跑命令行参数的 fib.py
  • 目录搜索:建目录树、放文件、移动文件、验证
  • JSON 查询:生成 products.json 数组,再按字段查询
  • 文本处理:生成一段精确文本并处理
  • 毕业设计:一个 7 步多阶段任务,要求用 todo 工具跟踪步骤

环境:Hermes Agent + llama-server,单张 RX 7900 XTX,全部模型无 CPU 卸载,MTP 投机解码启用(不支持者自动降级),最大可用上下文。3.8 系列用 reasoning_effort=medium 思考档,3.6 系列关闭思考。模型间通过独立 HERMES_HOME 隔离记忆,杜绝互相污染。

总分榜

排名 模型 家族 检查点 得分 耗时(s) 工具调用
1 Qwen 3.6 Q5Hyb Qwen3.6-27B 35/35 100.0% 699 95
2 Huihui 3.6 Q5Hyb Huihui-27B 去审查 35/35 100.0% 679 89
3 Qwen 3.8 Q5Hyb Qwen3.8-27B 35/35 100.0% 893 75
4 Uncensored 3.8 Q5Hyb 3.8-27B 去审查 35/35 100.0% 712 73
5 Nemotron 3.5 Lightning Nemotron-30B-A3B 33/35 94.3% 775 107
6 GLM-4.7-Flash GLM-Flash-MoE 31/35 88.6% 1043 101
7 Qwen3.5-9B Qwen3.5-9B 28/35 80.0% 923 132

总分

逐任务热力图

热力图

逐任务明细

模型 数据分析 Bug修复 包构建 查找修补 网页项目 记忆运算 日志分析 CLI工具 目录搜索 JSON查询 文本处理 毕业设计
Qwen 3.6 Q5Hyb 100 100 100 100 100 100 100 100 100 100 100 100
Huihui 3.6 Q5Hyb 100 100 100 100 100 100 100 100 100 100 100 100
Qwen 3.8 Q5Hyb 100 100 100 100 100 100 100 100 100 100 100 100
Uncensored 3.8 Q5Hyb 100 100 100 100 100 100 100 100 100 100 100 100
Nemotron 3.5 Lightning 100 100 100 100 100 0 100 100 100 100 100 100
GLM-4.7-Flash 67 100 100 100 100 0 100 100 50 100 100 100
Qwen3.5-9B 100 0 100 0 100 0 100 100 100 100 100 100

几个有意思的发现

1. 四个 27B 全家满分,但速度和工具效率不一样

Qwen 3.6、Huihui 3.6、Qwen 3.8、Uncensored 3.8 四个模型都是 35/35 满分,但效率差异明显:

  • 耗时最少的是 Huihui 3.6(679s)和 Qwen 3.6(699s),3.8 家族明显更慢(Qwen 3.8 要 893s)
  • 工具调用次数最少的是 Uncensored 3.8(73 次)和 Qwen 3.8(75 次)——说明它们"想得少、一次到位";3.6 家族调用更多(89-95 次),更谨慎但速度更快
  • 值得注意的是:3.6 家族 MTP 接受率更高(0.86-0.88 vs 3.8 的 0.79-0.83),配合更少的思考 token,整体反而更快

这其实延续了之前大阅兵里的结论:27B 这个量级上,3.6 和 3.8 能力基本打平,3.6 靠 MTP 和关闭思考在速度上更占优,工具调用效率的差异更多来自"思考策略"而非"模型能力"。

2. 去审查基本无损

Huihui 3.6(去审查)100%,Uncensored 3.8(去审查)100%——去对齐在长链 agent 任务上几乎不影响工具调用能力,甚至 Huihui 3.6 还是全场最快的。之前测试里担心的"去审查会不会损失能力"在这批场景里没看到代价。

3. 记忆运算是所有模型的共同洼地

六个模型里,除了四个 27B 满分,Nemotron、GLM-4.7-Flash、Qwen3.5-9B 全都在 t06_memory_arithmetic(记忆运算)上得 0 分。这个任务要求用记忆工具存 5 个商品价格、再跨会话算总价——本质是考验"长期记忆 + 多步工具调用"的组合能力。这三个模型要么没把价格正确存进记忆,要么没能在后续步骤调出来。这说明记忆类工具的稳定使用,比单纯"能回答问题"难得多,是中小模型 agent 能力的明显短板。

4. GLM-4.7-Flash:能干的都能干,干不细的会出小错

GLM-4.7-Flash 拿了 88.6%,多数任务满分,但在数据分析上 67%(算错了一个合计数字)、目录搜索 50%(结果长度不对)。它没有大翻车,但会在"需要精确数值"的地方偶尔出错——这正好符合它 MoE 轻量版的定位:速度快、范围广,精度上略逊。

5. Qwen3.5-9B:参数规模是硬约束

9B 只拿了 80%,在 Bug 修复(0 分)、查找修补(0 分)、记忆运算(0 分)三个任务上失败。而且它工具调用最多(132 次)、耗时也长(923s)——说明 9B 模型在长链任务里容易"绕圈子",反复试错但找不到关键步骤。Agent 场景对模型的"规划能力"要求,比单轮问答高得多,参数规模在这时成了实打实的门槛。

6. Nemotron:能打,但会犯小错

Nemotron 拿了 94.3%,唯一扣分在记忆运算(0 分),另外还有 1 次工具错误。它工具调用很激进(107 次,全场第二多),terminal 用了 56 次——干活很卖力,但有时候会多走弯路。

结论

冠军是 Qwen 3.6 Q5Hyb——12 个长链复杂任务全部通过,35/35 检查点满分,耗时也只有 699 秒,是"满能力"里效率最高的。

对选型来说,这次测试给出几个直接可用的判断:

  • 27B 是 agent 任务的安全线:四个 27B(含去审查)全部满分,能力层面没有短板,主要差在速度和工具调用风格上
  • 要快就选 3.6 家族:MTP 接受率更高、可关思考,同样满分下比 3.8 快 20% 以上
  • 去审查版在 agent 场景无代价:如果在意内容自由度,Huihui 3.6 或 Uncensored 3.8 可以放心用
  • 记忆类工具是中小模型的试金石:能不能稳定"记住东西、跨步调用",比能不能答对题更能区分 agent 能力

方法论说明:评测框架是 Hermes Agent 自带的 batch_runner(40 轮上限、单 worker 串行、断点续跑);每任务独立工作目录 + 独立 HERMES_HOME 隔离记忆;35 个确定性验证检查点(文件存在性、内容精确匹配、脚本执行结果、JSON 字段);原始数据含完整对话+工具调用轨迹(trajectories.jsonl)、逐任务工作区快照、服务端日志(MTP 接受率)。所有模型均在同一张 7900 XTX、llama-server 后端下测试,未做多次重复,结果受单次运行影响。