Paper

HEAR 协议论文速读:让 Agent 框架和推理引擎开始说话

DOC
N°748
DATE
Oct 7, 2026
READ
4 min read
TAGS
HEAR, LLM-推理, Agent-框架, KV-Cache, 论文速读

Agent 技术栈有个心照不宣的默契:编排层和推理引擎之间只存在一种对话——请求进去,token 流出来。10 月 5 日提交 arXiv 的 HEAR 论文(编号 2610.06597)向这个默契发难:这两层各自握着对方急需的信息,却互不打招呼,而打通它们只需要一个协议。

断裂的两层视图

论文的问题陈述写得非常清楚。Agent 编排层(harness)掌握的是工作流侧的真相:多轮推理的依赖关系、上下文的生命周期、执行目标;推理引擎(engine)观察到的是运行时的真相:请求队列、KV 缓存状态、资源压力、执行能力。两边的知识恰好互补,现有接口却不做任何系统性的连接。

后果在多智能体、多轮、并发的真实负载下被放大。编排层明明知道「这五个请求属于同一条工作流、共享同一段系统提示、十分钟后整个上下文作废」,引擎只能看见五个互不相干的请求;引擎明明知道「缓存里躺着你们要的前缀、集群已经接近内存上限」,编排层只会按部就班地发下一个请求。调度决策建立在残缺信息上,于是前缀缓存反复失效、低优先级任务堵住高优先级工作流、内存爆掉时大家一起去死。

协议长什么样

HEAR 的全称是 Harness-Engine Pairing(编排层-引擎配对),核心是双向信息交换:编排层向引擎上报工作流意图与执行要求,引擎向编排层回传运行时状态、能力与结果。上行方向携带的是工作流拓扑、上下文生命周期与截止时间这类「未来才会发生」的计划信息;下行方向携带的是缓存命中分布、队列深度、可用执行模式这类「正在发生」的状态信息。两个方向的信息时效完全不同,因此协议对消息频率和新鲜度要求也分开定义,避免高频状态上报把协议本身变成新的瓶颈。

设计上最值得称道的一点是协议语义与优化策略分离。HEAR 只标准化「交换什么」,不规定「怎么用」。论文给出了两个策略实例化:一是在线缓存感知的运行时协调——引擎拿到工作流意图后,把共享前缀的请求做亲和调度,把即将失效的上下文优先处理;二是面向 Agent 角色的工作负载感知执行模式选择——检索型请求和深推理型请求拿到不同的执行策略。同一协议底下,策略可以继续演化,这正是它能成为「可复用协调基座」的关键。

数字:不同负载下的收益分层

实验横跨四个对话与研究型 Agent 基准,全部在内存受限的并发服务场景下进行。收益可以按负载形态分三层看。

多轮对话负载(SCBench):批处理吞吐提速 1.61 倍,中位首 token 延迟降低 2.23 倍——这是缓存亲和最直接的受益场景,多轮共享前缀的请求被黏在同一个批次里调度。

缓存池架构(Mooncake):论文验证了工作流意图与引擎实时状态在不同负载区间提供互补收益——低负载时意图主导调度,高负载时引擎状态信号接管,两层信息缺一不可。

研究型 Agent 负载:BrowseComp-Plus 提速 1.23 倍,DeepResearchBench 提速 2.45 倍,且报告未观察到任务质量下降。最后这一点很重要——很多服务层优化的阴暗面是拿任务质量换吞吐,HEAR 的加速全部来自调度与执行模式,不碰模型输出本身。

工程意义:为什么这篇论文值得转发给你的基础设施同事

今天部署 Agent 应用的事实架构是:LangGraph 或自研编排器跑在应用层,vLLM 或 SGLang 跑在服务层,中间只有 OpenAI 兼容 API 的一道窄门。所有「我们做了智能调度」的努力都只能发生在编排层——因为引擎侧的信息根本拿不到。

HEAR 的价值是把这个问题命名并格式化了。即使协议本身没有落地,它的三个观察今天就能用:给请求贴工作流元数据,让引擎有机会做亲和调度;订阅引擎指标,把队列压力反馈进编排层的重试与限流逻辑;区分请求角色,检索、草稿、终审不必挤同一条执行路径。

从更远看,这篇论文预示的是 Agent 基础设施的下一层抽象。当单请求优化被榨干后,下一个数量级的效率提升必然来自跨层协同——类似当年数据库与应用服务器之间长出的连接池与预编译语句协议。HEAR 未必是最终标准,但它把「两层应该说话」这件事论证得足够清楚,接下来的问题只是谁来先把它塞进 vLLM 的调度器扩展点。

当然,冷静看这项工作也有边界。四个基准都是对话与研究型负载,代码生成、长周期工具编排这类含外部副作用的场景没有覆盖,而后者恰恰是 Agent 生产部署的主流形态;跨层信息交换引入的新故障面——意图上报丢失、状态回传过期——论文只字未提,真实系统里这些问题会决定协议能不能活下去。把它当作方向宣言而非落地蓝图,是当前最合适的姿势。

论文代码与基准细节见 arXiv 2610.06597,四组基准的配置表在附录里可以直接抄作业。

Frequently asked questions

HEAR 协议解决的核心痛点是什么?
现在几乎所有 Agent 框架都把推理引擎当黑盒:只发请求、等结果。但引擎侧的 KV 缓存里可能已经有你上一轮对话的前缀,队列里可能排着会拖慢你的任务,这些信息框架完全不知道。反过来引擎也不知道哪些请求是同一工作流的兄弟任务、哪些上下文马上就要失效。HEAR 让两层互相通报,调度决策因此可以基于完整信息。
1.61 倍和 2.45 倍提速分别是什么口径?
1.61 倍是 SCBench 上内存受限并发场景的批处理吞吐加速,2.23 倍是同场景中位首 token 延迟的降低倍数;这两个数字最能体现缓存感知调度对多轮对话的价值。1.23 倍和 2.45 倍分别是 BrowseComp-Plus 与 DeepResearchBench 上工作负载感知配置带来的端到端加速,且论文报告未观察到任务质量下降。
协议语义与优化策略分离是什么意思?
HEAR 只规定两层之间交换什么信息、用什么格式交换,不规定拿到信息后怎么调度。缓存感知排序、执行模式选择这些策略是可替换的插件。这个设计让同一套协议能容纳不同的优化思路,工作流语义和模型语义都不需要改动,类似 TCP/IP 分层里传输语义与拥塞控制的解耦。
普通开发者现在能用上类似机制吗?
端到端的 HEAR 还在论文阶段,但思想的子集已经可用:给多轮会话请求启用前缀缓存并自己控制会话粘连、用引擎暴露的指标接口观察队列与缓存命中率、把同一工作流的请求打上可关联的元数据。自建栈的话,vLLM 等引擎的调度器扩展点是现成的试验田,可以自己实现一个简化版意图上报。
这项工作可能被标准化吗?路线是什么?
有想象空间但为时过早。它的位置类似当年 gRPC 前夜的 RPC 实践:多智能体负载涨到足够大、引擎厂商足够多时,跨层信息交换才有标准化的必要性。可能路径是先在主流开源引擎的扩展机制里长出事实接口,再被框架层适配收编。近期值得跟踪的是 Mooncake 类缓存池项目是否会采纳类似语义。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.