← 返回 2026-05-21

智能代理计划-执行流水线中的时间语义缓存与工作流优化评估 Evaluating Temporal Semantic Caching and Workflow Optimization in Agentic Plan-Execute Pipelines

Alimurtaza Mustafa Merchant, Krish Veera, Sajal Kumar Goyla, Shambhawi Bhure, Dhaval Patel, Kaoutar El Maghraoui 📅 2026-05-20 👍 12 2026-07-13 08:36
Caching Industrial AI LLM Agents MCP Protocol Plan-Execute

针对工业资产操作场景,提出时间语义缓存和MCP工作流优化,实现3.48倍加速

前置知识

Plan-Execute范式

一种LLM代理架构,将查询分解为两个阶段:规划阶段使用规划器LLM将用户查询转换为结构化的工具调用计划,执行阶段调用这些工具(通常通过MCP等标准化接口)并收集结果,最后通过总结阶段生成最终答案。这种两阶段结构虽然表达能力强,但引入了显著的墙钟延迟。

论文中的AssetOpsBench基准完全基于Plan-Execute范式,理解这一架构是理解优化机会和性能瓶颈的基础。

Model Context Protocol (MCP)

一种标准化接口协议,用于LLM代理与领域专用工具和数据源的交互。AOB暴露四个MCP支持的领域服务器:IoT遥测、故障模式与传感器关系(FMSR)、时间序列基础模型(TSFM)和工作订单(WO)记录。

论文的工作流优化完全针对MCP协议特性设计,包括工具发现、工具调用、连接池管理等,不理解MCP无法理解这些优化的具体实现。

语义缓存(Semantic Caching)

存储(输入、输出)对并通过嵌入相似性匹配新查询的缓存技术。它利用改写词共享潜在意图的事实,在输入文本不同但语义等价的查询之间重用答案。典型实现包括ANN检索、基于重排序器的判断器、LCFU淘汰策略等。

论文的时间语义缓存建立在语义缓存基础之上,理解语义缓存的工作原理和局限性(静态输出假设、参数不敏感性、时间盲点)是理解本文创新的关键。

嵌入相似性与余弦相似度

将文本编码为高维向量后,通过计算向量间的余弦相似度来衡量语义相似性。余弦相似度公式为 $\cos(\theta) = \frac{A \cdot B}{\|A\| \|B\|}$,值域为[-1,1],越接近1表示向量越相似。论文中使用Qwen3嵌入模型计算查询嵌入。

论文的核心发现是纯嵌入相似性在参数丰富的工业查询中不是答案有效性的可靠代理,理解余弦相似度的局限性是理解这一发现的技术基础。

有向无环图(DAG)拓扑分层

将计划步骤按依赖关系分组为拓扑层,同一层内的步骤相互独立可以并行执行,层之间保持执行顺序。例如,如果步骤A依赖于步骤B和C,但B和C相互独立,则B和C可以在同一层并行执行,A在下一层执行。

论文的并行执行优化基于DAG拓扑分层,这是理解如何并行化MCP工具调用、实现1.99倍执行加速的技术基础。

研究动机

工业资产操作工作流对延迟极为敏感,因为单一用户查询可能需要协调传感器数据、工作订单、故障模式、预测工具和领域专用代理。AssetOpsBench(AOB)是一个工业代理基准,其计划-执行流水线暴露了来自工具发现、LLM规划、MCP工具执行和最终总结的重复开销。在实践中,同一操作员可能会针对相同资产发出许多语义相关的查询:改写词、重复、参数偏移(如Chiller 6 vs Chiller 9)或时间窗口偏移(如昨天 vs 上周)。一个朴素的计划-实现在每次查询上都支付完整的编排成本,在改写规模上这使得系统化评估MCP支持的代理变得极其缓慢。更关键的是,现有的LLM缓存技术(如KV-cache重用和基于嵌入的语义缓存)是为聊天机器人服务设计的,当输出有效性取决于时间、资产或传感器参数时,这些技术会失效。例如,"工单WO-1234的状态是什么"根据订单是打开还是关闭返回不同的答案,但查询文本及其嵌入每次都相同。

本文的目标是本文的目标是为AOB计划-执行流水线提出两个互补的优化层:在查询级别,构建一个时间语义缓存,使用轻量级时间分类器将每个查询路由到四个桶之一:Volatile(实时状态,绕过缓存)、Static(无时间依赖,标准语义匹配)、Relative(如"昨天",解析为具体窗口)或Anchored(固定时间窗口,与兼容窗口匹配)。在工作流级别,添加两个MCP优化:磁盘支持的工具发现缓存和依赖感知的并行步骤执行。这两个优化层独立有益且可叠加:MCP层无论缓存状态如何都减少每个查询的延迟,而缓存层在查询解析为有效命中时添加大量额外节省。

与已有工作不同的是,本文的独特切入点在于发现了纯语义缓存在参数丰富的工业查询中的具体失败模式,并提供了关于缓存选择如何与MCP支持的代理基准中的评估正确性交互的关键分析。与现有的计划缓存、语义缓存等工作不同,本文针对MCP支持的工业基准,其中时间有效性是核心,并且添加了位于Asteria风格检索之前的时间分类层,以处理相对时间表达式和实时状态查询。更重要的是,作者没有将缓存命中率的限制归因于调优问题,而是识别出这是纯语义缓存在参数丰富查询中的结构性属性:共享语言框架主导嵌入,独特的操作参数则被忽略。这一发现为何时可以安全地将缓存部署为评估流水线的一部分提供了具体指导。

核心方法

本文方法分为两层独立但互补的优化:时间语义缓存层和MCP工作流优化层。时间语义缓存层的核心思想是在语义检索之前插入一个时间分类器,根据查询的时间敏感性将查询路由到不同的处理路径。直觉上,并不是所有查询都适合缓存答案:查询实时系统状态的查询(如"当前的传感器读数是多少")答案会持续变化,缓存后可能很快过期;查询固定时间窗口的数据(如"2020年12月第一周的传感器读数")在时间窗口不变的情况下可以安全重用;使用相对时间表达式的查询(如"昨天的数据")需要先解析为具体时间窗口才能判断缓存有效性。MCP工作流优化层的核心思想是通过减少重复的工具发现开销和并行化独立的工具调用步骤来降低每次查询的编排开销。直觉上,工具签名作为半静态元数据,不需要在每次查询时重新生成;计划步骤之间的依赖关系可以被识别,相互独立的步骤可以并行执行。这两层优化的设计原则是独立性和可叠加性:MCP层无论缓存状态如何都减少延迟,缓存层只在命中时提供额外收益,不会在未命中时增加开销。

核心创新点在于将时间感知引入语义缓存,通过预检索时间分类和窗口感知判断器来区分语义相关性与安全答案重用。与Asteria等现有语义缓存框架相比,本文添加了时间分类层,在检索之前将查询路由到Volatile、Static、Relative或Anchored四个桶。Volatile查询直接绕过缓存,Static查询进入标准语义检索,Relative查询先解析为具体时间窗口然后作为Anchored处理,Anchored查询进入近似最近邻检索并使用窗口感知判断器检查时间窗口兼容性。这种设计的本质区别在于:现有语义缓存假设输出仅取决于输入提示词(静态输出假设),而本文识别出在工业代理中输出有效性取决于运行时查询的外部状态(资产、传感器、时间窗口),这些状态在查询嵌入中不可见。通过时间分类和窗口兼容性检查,本文方法避免了返回过时答案的风险,同时仍然为适合缓存的查询提供显著加速。另一个核心创新点是MCP工作流层面的组合优化,将工具发现缓存(296倍加速)、DAG分层并行执行(1.99倍执行加速)和持久服务器连接池结合,共同减少每个查询的编排开销。这些优化的关键在于它们不针对LLM推理本身(规划阶段和总结阶段的延迟没有显著变化),而是针对代理编排循环,因此与任何底层服务引擎兼容。

方法步骤详情

时间语义缓存的工作流程如下:第一步,每个传入的查询与运行时时间戳配对,并传递给时间分类器。分类器使用基于正则表达式的轻量级组件,将查询分配到四个桶之一。第二步,根据分类结果进行路由:Volatile查询请求实时系统状态,直接绕过缓存进入完整的计划-执行流水线;Static查询没有时间依赖,进入语义检索;Relative查询使用"昨天"或"上周"等表达式,这些表达式在插入时根据运行时间戳解析为具体窗口,然后作为Anchored处理;Anchored查询引用固定时间窗口,进入近似最近邻检索。第三步,对于Static和已解析的Anchored查询,使用Qwen3嵌入模型计算查询嵌入,并在FAISS索引中执行ANN检索以获取候选集。第四步,候选集通过重排序器基于判断器,该判断器对新查询与缓存条目的语义和时间对齐进行评分。如果判断器分数超过阈值$\tau_{\text{judge}}=0.92$,则返回缓存的答案;否则,查询进入完整的计划-执行流水线。第五步,对于缓存未命中的查询,执行完整的计划-执行流水线,将生成的答案插入缓存,附带时间窗口信息(如果适用)和运行时间戳。MCP工作流优化的步骤如下:第一步,工具发现缓存检查是否已存在工具签名缓存文件,缓存键基于服务器源代码、服务器注册和项目配置自动失效。第二步,如果缓存有效,直接加载聚合的工具目录,省去每次查询时生成Python子进程、建立stdio连接、通过list_tools()请求工具目录和终止服务器的开销(2-3秒)。第三步,在执行阶段,使用持久MCPServerPool,为每个所需服务器维护一个stdio会话,而不是为每个工具调用生成新进程。第四步,使用轻量级LLM或启发式方法将生成的计划解析为有向无环图,并按拓扑依赖关系将步骤分组为层。第五步,并行执行同一层内的独立步骤,同时使用每服务器异步锁序列化对同一域服务器的并发调用,同时允许服务器间并发。第六步,在层之间保持依赖屏障,确保有依赖的步骤按正确顺序执行。第七步,通过LLM总结阶段综合工具输出以生成最终答案。

技术新颖性

本文的技术新颖性体现在多个层面。第一,将时间感知引入语义缓存是一个新颖的创新,通过预检索时间分类和窗口感知判断器解决了工业代理中参数和时间敏感性的问题。与现有的上下文缓存、语义缓存和计划缓存相比,本文方法首次将时间有效性作为一等公民纳入缓存决策,处理了"昨天"解析为不同窗口每天、"工单状态"在不同时间返回不同答案的场景。第二,MCP工作流层面的组合优化具有新颖性,将工具发现缓存、DAG分层并行执行和持久服务器连接池结合在一个统一框架中。特别是工具发现缓存的296倍加速展示了在代理编排循环而非LLM推理本身优化的重要性。第三,对纯语义缓存失败模式的结构性分析是一个重要的新颖贡献。作者不是将缓存命中率的限制归因于调优问题或数据问题,而是识别出这是纯语义相似性在参数丰富查询中作为答案有效性代理的根本缺陷:共享语言框架主导嵌入,独特的操作参数则被忽略。作者展示了即使使用严格的重排序器阈值$\tau_{\text{judge}}=0.92$,交叉参数假阳性仍然普遍存在,将命中决策F1限制在0.64附近。这一发现为在评估流水线中何时可以安全部署缓存提供了具体指导,是超越单纯性能加速的更深层贡献。第四,评估设置的创新性体现在配对的基线与优化测试线束、基于parent_id的命中/未命中标签真实值、以及每阶段延迟分析,使得在单台机器上系统化AOB消融变得可行。

MCP Workflow
Figure 1: MCP Workflow
Temporal semantic cache workflow
Figure 2: Temporal semantic cache workflow
The optimized MCP Workflow component paths
Figure 3: The optimized MCP Workflow component paths

实验结果

论文通过三个主要实验报告了关键发现。在MCP工作流优化实验中,作者在18个IoT查询上评估了MCP层,每个查询在基线和优化配置下执行3次(总共120次分析运行)。两个查询(Q5、Q19)在两种模式下所有尝试都超时被排除。结果显示,MCP层单独实现了1.67倍的端到端中位数加速,每条记录平均节省22.738秒(40%减少)。每阶段的中位数节省分别为:发现阶段2.089秒(296.08倍加速)、预取阶段0.413秒(210.53倍加速)、执行阶段17.224秒(1.99倍加速)。规划和总结阶段均由LLM推理主导,没有统计学显著变化,确认优化仅针对编排层。每查询的加速与并行性相关:优化流水线在18个查询中的16个上实现大于1.0×的加速,最大增益出现在具有多个独立分支的计划上(Q16:5.06×、Q3:3.27×、Q6:3.03×)。两个查询显示适度回归(Q1:0.92×、Q11:0.67×),这些回归归因于总结阶段的LLM侧方差而非优化开销。在端到端联合流水线实验中,作者在从20个AOB IoT种子场景派生的80个改写层查询上评估了完整流水线(缓存+MCP优化)与未优化基线的对比。基线实现了34.10秒的中位数端到端延迟(均值68.68秒,范围6.73秒到398.73秒)。完全优化的流水线将其降低到9.80秒(均值33.06秒,范围0.26秒到230.78秒),整体3.48倍中位数加速。缓存命中率为45.0%(80行中的36行)。在命中行上,优化流水线完全绕过计划-执行并返回缓存的响应,实现31.87倍中位数加速,每条记录节省中位数25.50秒。在44个未命中行上,优化流水线仍然击败基线:中位数延迟差为-3.30秒。这种节省来自MCP层单独,因此未命中路径相对于未优化基线没有净开销。在缓存决策质量实验中,联合流水线上的缓存达到精度0.75、召回率0.5625、F1 0.6429和特异性0.7188。与附录B中的仅缓存配置相比,精度提高(0.667到0.75)而召回率略有下降,反映了当完整流水线可用作为回退时更保守的判断器。残留错误集中在参数偏移的查询上:仅在资产ID或传感器名称上不同的改写词嵌入接近种子条目,通过相似性门,并要求判断器做出嵌入不表面化的细粒度区分。这在本实验设置中经验性地限制了F1。

Per-row latency for all 80 evaluation queries
Figure 4: Per-row latency for all 80 evaluation queries
查看结构化数据
任务指标本文基线提升
MCP工作流优化(18个IoT查询) 端到端中位数延迟加速比 1.67× 1.0×(56.902秒) 67%加速,每查询节省22.738秒
MCP工具发现阶段 发现阶段中位数延迟 0.007秒 2.096秒 296.08×加速,节省2.089秒
MCP执行阶段 执行阶段中位数延迟 17.415秒 34.639秒 1.99×加速,节省17.224秒
端到端联合流水线(80个改写查询) 中位数端到端延迟 9.80秒 34.10秒 3.48×加速
缓存命中情况(36行) 命中行中位数加速比 31.87× 1.0× 每命中行节省25.50秒
缓存未命中情况(44行) 未命中行中位数延迟差 -3.30秒 0秒 未命中路径仍比基线快
缓存决策质量 命中决策F1分数 0.6429 理想值1.0 被参数碰撞假阳性限制

局限与改进

作者承认的局限性包括最重要的结构性限制:纯语义相似性不是参数丰富的工业查询中答案有效性的可靠代理,没有任何相似性阈值的选择可以完全解决这个问题。主导失败模式是跨参数假阳性:共享语言框架但在资产、传感器或时间窗口上不同的查询可以嵌入余弦相似度高于0.95,然后通过重排序器判断器严格阈值$\tau_{\text{judge}}=0.92$,并返回来自不同操作上下文的答案。作者在评估中观察到查询"2020年12月第一周MAIN站点Chiller 6和Chiller 9的吨位传感器读数"返回最初为"2020年6月MAIN站点Chiller 6的%加载数据"生成的缓存答案,判断器分数为0.97。两个查询在三个操作维度上不同(传感器、设备范围、时间窗口),但嵌入被它们的共享框架主导。这种模式在联合系统中将命中决策F1限制在约0.64。另一个失败模式是合法改写词上的判断器不一致性:观察到同一种子查询的改写词在语义等价内容上接收0.5到0.95的判断器分数,归因于Qwen3-Reranker-0.6B(其家族中最小的变体)的有限容量。工作负载结构限制了可实现的命中率:80行改写层偏向于热父改写词(60%/40%热/冷分割),给出45%的命中率。在完整的未过滤AOB语料库上,可实现的命中率结构上更低,约15%到30%,因为大多数AOB查询是参数丰富的数据获取(特定资产ID、特定传感器、特定时间窗口),其中纯语义匹配根本上不安全。时间分类器解析固定语法的相对短语("昨天"、"上周"、显式ISO范围),但"2020年6月"或"2020年12月最后一周"等自然日期短语当前提取为bucket=Anchored但window=None,因此在查找时降级到Static路径。所有实验都在单台Apple M系列机器上运行16GB统一内存;缓存仅存在于内存中,进程重启会丢失所有预热条目。我自己的观察是:虽然作者在附录中提供了更多细节,但论文正文对时间分类器的具体语法规则和窗口兼容性检查算法描述不够详细;判断器阈值$\tau_{\text{judge}}=0.92$的选择缺乏系统性的消融分析;单机器评估排除了跨机器变异性和并发负载效应,这些在实际部署中可能是重要的。

独立分析的弱点

独立分析的弱点包括:第一,参数碰撞假阳性问题没有在本文中得到根本解决。虽然作者识别出这是纯语义缓存的结构性限制,但解决方案留给了未来工作。在工业资产操作等参数丰富的场景中,这是可能阻碍部署的关键弱点,因为用户可能收到来自不同操作上下文的错误答案。改进方向是实现参数感知缓存,提取结构化参数(实体、传感器、时间窗口、动作动词)并在参数精确匹配时优先使用缓存,仅在参数集重叠时回退到语义检索。第二,判断器不一致性影响缓存决策的可靠性。使用0.6B的小型重排序器模型导致相同改写词的判断器分数在0.5到0.95之间变化,这会影响缓存命中/未命中决策的一致性。改进方向是使用更大的重排序器(如Qwen3-Reranker-4B)或使用AOB风格的查询-答案对微调的领域自适应重排序器。第三,自然日期处理的限制影响时间预过滤的收益。当前实现无法处理"2020年6月"或"2020年12月最后一周"等自然日期表达式,这些查询降级到Static路径,失去了时间预过滤的好处。改进方向是实现更丰富的日期解析器,将这些表达式提升到适当的Anchored桶。第四,缺乏缓存持久化影响实际部署的实用性。进程重启会丢失所有预热条目,每次启动有30秒预热成本,这对于需要高可用性的生产环境是不可接受的。改进方向是实现缓存持久化,包括缓存状态和FAISS索引的序列化带版本控制。第五,评估规模有限影响结论的置信度。AOB语料库只有152个话语,80行改写层可能不足以全面覆盖失败模式。改进方向是使用现有的改写生成器生成1000+话语,跨查询类型和参数偏移进行分层。第六,时间分类器的固定语法限制可扩展性。需要手动编码每种相对时间表达式规则,难以覆盖所有可能的表达方式。改进方向是使用基于LLM的时间表达式解析器,可以更灵活地处理各种时间表达。

未来方向

作者提出的未来研究方向包括:参数感知缓存是参数碰撞发现的自然后续工作,提取结构化参数(实体、传感器、时间窗口、动作动词)并在形式为(canonical_intent, param_combo)的键下缓存。参数精确查找短路到缓存答案;语义匹配仅在参数集重叠时触发。这结合了哈希键精度和改写鲁棒性,将消除第5节中观察到的假阳性类。混合检索在查找层是一个轻量级参数提取层,位于现有的时间和语义缓存之前。分类器输出时间桶(如今天)和参数签名;查找首先尝试精确参数匹配,然后回退到限制在具有重叠参数的条目的语义检索。这与现有的Asteria基板自然集成。更大或领域自适应的重排序器:将Qwen3-Reranker-0.6B替换为4B变体或使用AOB风格的查询-答案对微调的重排序器,可以减少第5节描述的判断器不一致性。更丰富的自然日期语法:处理"2020年6月"、"2020年9月19日晚上7点"和类似自然表达的日期解析器将当前降级的Anchored查询提升回时间预过滤路径,提高时间边界查询上的缓存命中安全性。缓存持久化:pickle缓存状态加上带版本控制的FAISS索引往返将避免每次进程重启的30秒预热成本。这是机械工程工作,但对任何非平凡部署都是必要的。在线判断器阈值重新校准:Asteria(18)指定了$\tau_{\text{judge}}$调优的在线真实值采样过程。本文实现当前使用单个离线集阈值;在线重新校准循环将适应工作负载漂移。扩展评估:152个话语的AOB语料库很小。使用现有的改写生成器生成1000+话语,跨查询类型和参数偏移分层,将收紧对失败模式和加速声明的置信度。与服务基础设施集成:时间缓存和MCP优化与引擎级优化如PagedAttention(19)或SGLang的结构化程序执行(20)正交。在生产部署中结合两层是一个单独的工程练习,但应该复合这里报告的增益。基于成果可延伸的方向包括:将参数感知缓存扩展到其他工业基准,将时间语义缓存应用于非工业场景(如金融数据查询、医疗记录查询),将DAG分层并行执行推广到其他代理框架(如LangChain、AutoGPT),研究跨机器缓存共享和分布式部署,以及将缓存决策与用户意图理解结合(识别用户希望实时数据而非历史数据的查询)。

复现评估

论文复现性评估:开源情况方面,作者提供了论文实现但未发布数据集或模型。论文提到了使用Llama-3.3-70B via LiteLLM进行规划、工具参数解析和总结,使用Qwen3嵌入和重排序器模型进行语义缓存,使用FAISS进行ANN检索。这些模型是公开可用的,但论文没有提供具体的模型版本字符串或下载链接。数据集方面,论文使用AssetOpsBench(AOB)基准的all_utterance.csv(152个手写查询),但论文没有明确说明AOB数据集是否公开可用,也没有提供改写生成的具体代码或种子查询列表。实验使用两个目的性子集:20个具有至少两个可并行化分支的查询用于MCP工作流实验,以及80个改写层查询(60%热父改写词、40%冷父改写词)用于缓存实验。这些子集的构建过程描述清晰,但具体的查询列表和改写生成代码没有在论文正文中提供。算力需求方面,所有实验都在单台Apple M系列机器上运行16GB统一内存,这表明算力需求相对较低,大多数研究者应该能够复现。但是,LLM推理(Llama-3.3-70B)可能需要外部API调用或强大的GPU,这可能会增加复现难度。评估指标方面,论文报告的指标包括端到端延迟、每阶段延迟、加速比、缓存决策质量(精度、召回率、F1、特异性),这些指标定义清晰且易于复现。论文还提到了5%修剪均值作为稳健性检查,但论文正文中没有提供修剪均值的结果。实现细节方面,论文在附录A中提供了精确的模型字符串、阈值值、缓存容量和硬件规格,这有助于复现。但是,时间分类器的具体语法规则、窗口兼容性检查算法、DAG解析方法等关键实现细节在正文中描述不够详细。总体而言,论文的复现性评估为中等:算力需求低,关键模型公开可用,指标清晰,但缺少数据集公开、详细的实现代码和具体的查询列表。建议作者在补充材料中提供数据集、改写生成代码和完整的实现细节以改善复现性。