本地模型能不能当好 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 后端下测试,未做多次重复,结果受单次运行影响。