llama.cpp 分支实现无损 prompt 去重,重场景省下数万 token
Odd_Cauliflower_8004 · reddit · 2026-09-26
一位开发者发布了一个针对 agent 循环常见成本问题的 llama.cpp 分支:同一段大内容被反复发送——文件十轮后重读、工具返回相同输出——每个副本都占着上下文并消耗 prefill 计算。
- 实现方式:在 llama-server 的 chat parser 中加一道处理,当后一条消息与前一条同角色、超阈值的消息字节级完全相同时,后者的副本替换为一行引用(注明与第 #3 个工具结果相同、自那时未变),首次出现永远保留全文
- 默认关闭,关闭时渲染结果与上游逐字节一致;无状态且确定,早期轮次每次渲染相同,prompt cache 持续命中
- 可配置:--message-dedup 开启,--message-dedup-min-bytes 和 --message-dedup-roles 调参,也支持单请求级 messagededup 字段;响应计时里报告 dedupn、dedupbytessaved、deduptokenssavedest
- 配套 15 个合成 agent 场景的 eval 套件,开关各跑两轮:关时通过的场景开时也全部通过;重型场景 prompt 显著缩水,如 18,092→6,820 tokens、108,197→71,697 tokens
限制:只识别完全相同的重复,不识别近似重复;尚未实测端到端耗时,目前只统计 token 数。
「编程与Agent」频道最新
- 开发者讨论从语言框架转向模型版本差异与 harness 细节 — vboykis · 2026-09-26
- 开源 CLI 工具 Minara AI:桌面端直跑自主 Agent 工作流 — dr_cintas · 2026-09-26
- Codex 合并 Memory V2 专属提示词:摘要限 1 万字节、带引用机制 — morqon · 2026-09-26
- JHU 团队 AgentOdyssey 获 NeurIPS 接收,专测智能体测试时持续学习 — DanielKhashabi · 2026-09-26
- 借马里奥设计法则谈垂直智能体:一致输入加逐步解锁能力 — dragon_khoi · 2026-09-26
- Agent UX 还在「Apple Newton 阶段」:90% 准确率注定输给 100% 方案 — dragon_khoi · 2026-09-26