拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Hermes Agent 响应速度调优:长对话首字延迟从 10 秒压到 1 秒

Hermes Agent 响应速度调优长对话首字延迟从 10 秒压到 1 秒【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent为什么 Hermes Agent 的响应速度会在对话进行到第 50 轮时肉眼可见地变慢瓶颈不在模型推理而在请求体每轮都在膨胀。下文拆解两个真正生效的优化点把延迟从 10 秒压回 1 秒以内文中数字均来自同一示例会话标注示例。慢在哪里 跑过一轮长会话的你大概都有过这些感受首 token 要等好几秒才出来后面的流式输出反而正常同样的问题第 5 轮几秒回第 50 轮要等十几秒换个新会话再问一遍立刻秒回说白了慢不慢取决于会话里堆了多少内容而不是你这句话有多长。给上下文瘦身上面越问越慢的直接原因每一轮请求都会把整段历史原样发给模型。上下文压缩模块在 agent/context_compressor.py 里策略是头尾保留原文、中间交给轻量模型摘要。默认参数长这样# 触发条件与默认参数agent/context_compressor.py ContextCompressor( threshold_percent0.50, # 占满窗口 50% 即触发压缩 protect_first_n3, # 前 3 轮对话保留原文 protect_last_n20, # 最近 20 条消息保留原文 )中间内容会被摘要成结构化快照摘要预算默认只占被压部分的 20%summary_target_ratio0.20。另有一层防抖连续两次压缩各省不到 10% 就跳过避免压缩本身变成死循环。改前改后第 50 轮请求体约 4 万 tokens示例约 1.5 万 tokens示例首字延迟约 10 秒示例约 2 秒示例把重复请求挡在缓存层第二次问同样的问题秒回背后是前缀大部分根本没变。提示缓存策略在 agent/prompt_caching.py 里每次请求最多打 4 个缓存断点静态系统前缀、系统提示结尾、工具定义后以及最近两条非系统消息。TTL 分 5 分钟和 1 小时两档。前缀命中后模型端直接复用缓存结果不重新解析。改前改后系统提示 工具 schema每轮完整解析示例第二轮起命中缓存示例首轮之后的首字延迟6~8 秒示例0.5~1 秒示例怎么验证它真的变快了指标优化前优化后首字延迟第 50 轮示例约 10 秒约 1 秒请求体大小示例约 4 万 tokens约 1.5 万 tokens提示缓存命中率示例0约 85%最关键的单项收益是首字延迟tokens 先砍掉近三分之二剩下的靠缓存补齐。想自己核对可以用 agent/model_metadata.py 里的 token 估算工具在每轮请求前后各采样一次请求体大小。今天就能做的 3 件事 ✅检查压缩阈值默认 50% 触发已适合多数模型想更快就别调高它。保持系统提示为稳定前缀它是跨会话命中提示缓存的前提别往里塞时间戳。用 token 估算函数抽查请求体确认压缩真的在触发而不是只在空会话里生效。压缩器的尾部保护还有一个新选项tail_modeleancompaction v2改用 token 预算而非固定条数保护近期对话节省更激进。这是项目正在迭代的下一步你可以在仓库里搜 compaction 相关的 issue 跟踪进展。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门