flowchart LR
U[用户 / CLI / Benchmark] --> R[轻量 Agent Runtime]
subgraph M[Agent-Memory-Manager]
R --> E[事件日志]
E --> P[记忆投影]
P --> S[Task State View]
S --> C[状态归约]
C --> V[稳定 Prompt 构建]
R --> T[工具注册与路由]
T --> X[工具执行]
X --> O[工具结果外置]
O --> A[摘要 / Result ID / 证据引用]
A --> E
end
V --> G[AgentMem-vLLM 多模型网关]
G --> SM[vLLM 小模型引擎]
G --> LM[vLLM 大模型引擎]
SM --> Q[质量门控]
LM --> Q
Q -->|通过| R
Q -->|不通过| LM
G --> K[引擎状态与缓存统计]
K --> G
AgentMem
面向智能体推理的结构化上下文与 KV Cache 协同管理系统
AgentMem 在 Agent 工作流与 vLLM 推理服务之间构建结构化上下文和多模型协同管理层,通过事件溯源式记忆、工具结果外置、稳定 Prompt 构建、分支上下文共享、状态感知路由与质量回退,降低长生命周期任务中的上下文冗余、重复 Prefill、缓存压力和不合理模型调用。
项目简介
传统 Agent 会在每轮推理中重复拼接系统提示、工具说明、完整对话历史和工具原始输出。随着任务轮次、工具数量和推理分支增加,输入词元持续增长,进一步造成 Prefill 开销上升、TTFT 增大、KV Cache 压力加剧以及并发处理能力下降。
AgentMem 将完整任务历史保留在事件与外部存储层,仅把当前有效的任务状态、工具摘要、证据引用、近期上下文和当前问题组织为稳定、紧凑的模型输入;推理侧通过统一多模型网关,结合任务类型、上下文长度、优先级、会话亲和、缓存会话、KV Cache 使用率和等待队列选择合适的模型服务,并在输出不满足约束时回退至大模型。
项目由两个代码仓库共同组成:
Agent-Memory-ManagerAgentMem-vLLM核心能力
系统架构
flowchart LR U[用户 / CLI / Benchmark] --> R[轻量 Agent Runtime] subgraph M[Agent-Memory-Manager] R --> E[事件日志] E --> P[记忆投影] P --> S[Task State View] S --> C[状态归约] C --> V[稳定 Prompt 构建] R --> T[工具注册与路由] T --> X[工具执行] X --> O[工具结果外置] O --> A[摘要 / Result ID / 证据引用] A --> E end V --> G[AgentMem-vLLM 多模型网关] G --> SM[vLLM 小模型引擎] G --> LM[vLLM 大模型引擎] SM --> Q[质量门控] LM --> Q Q -->|通过| R Q -->|不通过| LM G --> K[引擎状态与缓存统计] K --> G一次请求的执行流程
agent_meta,评估任务所需模型层级。四个核心模块
1. 轻量 Agent Runtime
负责统一组织“任务输入—阶段判断—工具调用—Prompt 构建—模型推理—结果解析—状态更新—最终输出”的执行闭环。它保留 Agent 实验所需的多轮、工具和分支能力,定位为轻量运行框架与 Benchmark Harness,而不是完整 AutoGPT 类平台。
2. 事件溯源式记忆
将任务执行过程记录为
user_message、tool_call、tool_result、assistant_response、memory_delta、final_answer和metric等事件。记忆投影器将事件流转换为当前有效的 Task State View;归约器对重复事实、失效决策、已完成待办和字段容量进行控制;渲染器按稳定顺序构建模型输入。3. 工具调用与输出管理
统一管理工具注册、能力描述、任务路由、工具执行、原始结果存储、摘要生成和证据回填。日志、代码、文件、表格和仓库扫描结果保存在外部结果空间,Prompt 默认只保留摘要、
result_id、元数据和必要证据,需要时再按分块读取原文。4. vLLM 后端优化
通过 Ray Serve/FastAPI 提供 OpenAI-compatible 统一入口,集中管理多个 vLLM 引擎。网关解析任务类型、优先级、会话标识、路由模式和质量约束,并维护引擎健康状态、活动请求、等待请求、KV Cache 使用率和缓存会话集合。路由策略在模型能力、服务负载和缓存复用之间进行权衡,模型输出不满足结构约束时触发大模型回退。
代码仓库结构
建议将两个仓库放在同一父目录下:
快速开始
1. 获取代码
2. 安装 Agent Runtime 与记忆管理组件
3. 无 GPU 快速验证
Mock 模式不依赖 GPU 或真实模型服务,适合先验证事件、工具、记忆和报告链路:
一键运行:
可复现 smoke:
4. 启动双 vLLM 模型服务
以下为通用示例,模型路径、GPU 编号、端口、显存比例和最大上下文长度需按实际环境调整:
5. 启动 AgentMem 多模型网关
默认网关地址:
6. 配置 Agent-Memory-Manager 连接网关
编辑
Agent-Memory-Manager/configs/config.yaml:通过单引擎直接测试时,可额外配置对应模型服务的
/metrics地址;通过多模型网关运行时,引擎状态由网关独立维护。7. 发送 Agent-aware 请求
质量敏感的非流式请求还可以设置:
常用命令
Agent Runtime
上下文管理 Benchmark
通用参数:
多模型路由与流式性能 Benchmark
Benchmark 场景
tool-heavylong-sessionmulti-stagebranchingprefix-cacheablation固定任务位于
benchmarks/tasks/*.jsonl。Evaluator 可基于expected_tools、answer_keywords、expected_stages、min_metrics和max_metrics输出success、score与failure_reason,避免把“API 调用成功”直接等同于“任务完成正确”。关键指标
上下文与工具结果
prompt_tokenshistory_tokenssummary_tokensraw_tool_tokensinjected_tool_tokenstool_compression_ratiostable_prefix_tokenscached_prompt_tokensprefix_cache_hit_rate推理性能
latencyttfttpottokens_per_secondrequests_per_speak_gpu_memory_mbkv_cache_usagewaiting_requests任务与路由
successscorefailure_reasonrouting_accuracyformat_success_rateselected_enginefallback_reason代表性实验结果
上下文管理
并发执行
并发 Agent 数由 1 增加到 2 时,任务吞吐量由
0.1646 task/s提升至0.2139 task/s,提高约29.95%,同时平均时延和 TTFT 下降。本实验环境下 2~4 个并发 Agent 取得较好的吞吐与响应平衡;并发数达到 8 后,等待和资源竞争明显增加。KV / Prefix Cache
在缩减 KV 预算实验中,KV Block 数由
851降至576,AgentMem-vLLM 仍保留3,008个关键前缀命中词元,平均时延由302.7 ms降至82.0 ms。多模型路由
相较 Fixed 7B,AgentMem 的吞吐量提高
15.3%,P95 TTFT 降低约3.5%,并将任务全部路由至预期模型层级。Round Robin 的吞吐量更高,但无法保证任务复杂度与模型能力匹配。输出文件
运行后会生成或更新:
多模型网关 Benchmark 默认输出 JSON,包含逐请求记录和策略汇总:
openEuler / openKylin
Agent Runtime 可运行于 openEuler 用户态容器,并通过 OpenAI-compatible API 连接远程 GPU 模型节点。
最小兼容性验证:
输出位于:
该流程验证容器用户态、Python 环境、CLI、远程模型服务连接和
tool-heavysmoke。它不等同于 openEuler 原生 GPU 推理部署证明。测试与复现
发布级复现:
致谢
本项目基于 vLLM、Ray Serve、FastAPI、OpenAI-compatible API 和 Qwen 系列模型构建。感谢相关开源社区提供高吞吐推理、服务编排和模型能力支持。