测试10个编码Agent在Qwen 3.8上的token与缓存差异
原文:10 coding agents, one Qwen 3.8 27B, same llama-server: tokens and cache reuse differ more than pass rates
我的 agent 测试第二部分(第一部分用的是 4B 模型)。硬件:MacBook Pro M5 Max,64 GB。Qwen 3.8 27B Q4 跑在 llama.cpp 上,关闭思考。所有人用同一个模型和服务器。5 个小型编码任务,每个都带一点小陷阱。每个 agent 锁在沙箱里:只能碰自己的文件夹,只能和模型对话。自动批准开启,遥测关闭,限时 5 分钟。结果:# Agent 通过 中位时间 中位 token 缓存复用 尝试联网 1 Pi 5/5 38 秒 9.2k 72% 否 2 DeepSeek Harness 5/5 60 秒 35.3k 83% 否 3 Codex CLI 5/5 94 秒 36.3k 79% 每次运行 4 OpenClaw 5/5 106 秒 39.0k 72% 不明确 5 Cline 5/5 152 秒 29.6k 79% 每次运行 6 OpenCode 4/5 50 秒 32.4k 75% 每次运行 7 Hermes 4/5 80 秒 64.9k 93% 否 8 Atomic Agent 5/5 56 秒 30.4k 86% 否 9 goose 4/5 98 秒 20.3k 76% 每次运行 10 Qwen Code 4/5 183 秒 107.9k 74% 不明确。Token 与缓存:Pi 极其精简,每个任务约 9k token,在每一个任务上都是最低的。Qwen Code 最贪,每个任务约 108k。Atomic Agent 的工作方式与众不同。它是唯一一个通过 llama.cpp 原生端点通信、并用语法强制工具调用成形的。其余九个都走 OpenAI 风格的 API。它还设计成让提示词在每一步之间保持一致,这就是它复用了 86% 缓存的原因(10 个中排第 2)。它全程保持离线,5/5 通过。DeepSeek Harness 是个惊喜。它还是 alpha 版,但 5/5 通过,从未尝试联网,缓存复用仅次于 Atomic Agent。陷阱与网络:日志任务难住了三个 agent。它们 grep “ERROR” 得到 244 而不是 64,因为有些正常行只是提到了错误。Codex、Cline、goose 和 OpenCode 每次运行都试图访问互联网,即使遥测已关闭。沙箱拦截了,所以我不知道它们在调用什么。OpenClaw 和 Qwen Code 是“不明确”,因为它们以普通 node 运行,我无法区分。llama.cpp 指出 Codex 现在需要 llama-server 的 /v1/responses,Hermes 至少需要