本地 Agent 慢的真相:自建 harness 每次调用悄悄打碎 KV 缓存,43% 时间被浪费
Stunning-Sherbet1853 · reddit · 2026-10-24
一位开发者在 Reddit 详述排查本地 Agent 性能问题的全过程:基于 Ollama + Qwen3 27B + RTX 3090、驱动真实 Chrome 浏览器写入 Excel 的 agent,一直很慢,团队最初归咎于「27B 消费级显卡就是慢」,甚至写进了 README。
排查过程(逐一排除):
- 变动内容放在 prompt 顶部 → 移到后面,未根治
- 运行中开关 thinking 模式:955 次调用中仅 20 次,首 token 中位延迟 47.3s vs 1.9s,真实但罕见
- 日志功能:关掉后一次 prefill 从 32s 降到 3.7s(单次样本,无法确认)
- 运行中收窄工具列表:工具列表位于 prompt 最前,改动导致全量重读,单次 93s
根因:把模型耗时和工具等待分开统计后发现,一次 1274s 的运行中有 552s(43%)花在「历史被改动」的调用上。罪魁是 harness 自己——为控制上下文预算,它每轮重新挑选要压缩的旧工具结果,导致压缩切点每轮前移一条消息,KV 缓存从该点起每次全被打破。
修复与效果:压缩只做一次并记住结果,历史变为 append-only,只有真正溢出时才批量再压缩。离线重放:重写次数从 15 降到 5,重读文本减少 61%。实测同一任务前后各 3 次:每次运行 prefill 从 327s 降到 196s,总时长从 721s 降到 541s(-25%),完成质量不变。
建议:本地 agent 变慢时,记录每次调用的 prefill 时间,检查本次 prompt 开头是否与上次完全一致。作者下一步在优化步数:读 11 个 GitHub 仓库花 56 步、21 步只是开页面,有 API 的站点根本不需要浏览器。
「编程与Agent」频道最新
- 用开源模型开 4 台 VPS 全力扫描热门开源项目安全漏洞 — DanielLockyer · 2026-10-24
- 越狱旧 Kindle 变最强电子书:KOReader+微信读书,还能用 Claude Code 改界面 — vista8 · 2026-10-24
- 越狱旧 Kindle 装 KOReader+微信读书,还能让 Codex 随手改界面 — vista8 · 2026-10-24
- 固定模型换四个编码框架实测:框架对成绩影响超预期 — Individual-Quote-958 · 2026-10-24
- 开源 Clairic Studio:粘贴文本自动转成类型化数据并导出多语言代码 — dfinke · 2026-10-24
- 生产环境 LLM eval 实战讨论:哪些工具留、哪些弃 — LostLeek1304 · 2026-10-24