问题背景在实现 ReAct(Reasoning + Acting)模式的 AI Agent 时,我们面临一个核心挑战:如何高效管理工具调用历史以优化 Token 使用?
ReAct 模式的标准流程
初始化:将 MCP 的 tool 列表转换为 function calling 格式,传给 LLM
LLM 推理:分析请求,决定调用哪些工具及参数
执行 Tool:调用对应的 MCP tool,获取返回结果
反馈循环:将结果添加到对话历史,再次发送给 LLM
迭代判断:
需要更多信息 → 继续调用工具
信息充足 → 生成最终回复
核心问题当 Agent 处理用户的下一个输入时,需要带上 history + 最新 input。那么:
history 是否有必要带上历史 tool 调用信息?
这个看似简单的问题,实际涉及到:
上下文连贯性 vs Token 成本
多轮推理能力 vs 内...
vAttention:无需PagedAttention的动态内存管理
AbstractPagedAttention是LLM服务系统中广受欢迎的动态内存分配方法。它通过按需分配GPU内存来缓解KV缓存碎片问题——这一现象曾严重限制了早期系统的批处理大小(进而影响吞吐量)。然而,为了在运行时分配物理内存,PagedAttention最终改变了KV缓存的虚拟内存布局,从连续变为非连续。这种设计导致了不可忽视的编程和性能开销。本文提出vAttention,一种无需PagedAttention即可实现高效动态内存管理的新方法,在保持KV缓存连续性的同时,达到甚至超越PagedAttention的性能。
Key Contributions
揭示PagedAttention的隐性成本:通过详细分析,首次系统性地量化了PagedAttention的性能开销,包括非连续内存访问、复杂索引计算、编程复杂度等,在实际workload中可导致11%的吞吐量下降
保持虚拟内存连...