论文阅读 - 端云协同智能体

性能与效率的妥协

EcoAgent

论文 [] 设计了一个端云协作的闭环推理和执行算法 EcoAgent:云端大模型做规划与反思,端侧小模型做 UI 操作、结果验证和屏幕摘要.

输入是用户指令 Ins 和初始手机屏幕状态 S0,输出是最终手机状态 Sf. 算法先调用云端 Planning Agent 做初始规划:

$$ P_0 = DualReACT(Ins, S_0) $$

得到一个计划 P0,每个步骤是一个二元组:$(ST_t, EX_t)$. 其中 ST_t 是第 t 步操作目标,EX_t 是该步的期望结果. 然后端侧 Execution Agent 根据当前屏幕 S_t 和步骤 ST_t 执行动作,Observation Agent 再检查执行后的屏幕 S_{t+1} 是否符合期望 EX_t. 如果失败,就把端侧压缩后的屏幕历史传回云端,由云端反思并重新规划.

Dual-ReACT

论文最核心的方法是 Dual-ReACT. 它扩展了传统 ReACT 的 “Reason + Act” 思路,把推理分成两层.

  • 第一层是 Global ReACT. 云端 Planning Agent 先看用户指令和初始屏幕,生成一个全局屏幕描述,然后把任务拆成若干中间子目标.

    $$ P_0 = GlReACT(Ins, S_0) $$
  • 第二层是 Local ReACT. 对每个子目标,云端进一步生成具体可执行的步骤 ST_t,并同时生成该步骤执行后的期望屏幕状态 EX_t.

    $$ P_0 = {LoReACT(ST_1, EX_1), ..., LoReACT(ST_t, EX_t)} $$

也就是说,端侧小模型不需要自己做复杂长程规划,只需要执行当前步骤,并判断“当前屏幕是否符合云端给出的期望”.

Execution Agent

Execution Agent 部署在设备端,输入当前屏幕 S_t 和当前步骤 ST_t,输出具体操作 O_t

$$ O_t = EA(S_t, ST_t) $$

这里的 EA 是经过 GUI 操作能力适配的小多模态模型,例如 ShowUI 或 OS-Atlas. 它的强项不是复杂推理,而是视觉定位和具体点击/滑动/输入.

论文定义的动作空间包括两类. 第一类是输入操作:Tap(x,y) 等等;第二类是导航操作:PressBack()PressHome(). 作者额外加入了 DeleteText() 的动作,用来清空输入框,解决输错后难以重新输入的问题.

Observation Agent

Observation Agent 也在设备端,但它的职责是验证. 它输入执行后的屏幕 S_{t+1} 和该步的期望结果 EX_t,输出验证结果 R_t

$$ R_t = OA(S_{t+1}, EX_t) $$

如果 R_t = Success,说明当前步骤达成,继续执行下一步;如果 R_t = Fail,说明当前计划可能偏离了,需要触发云端反思与重规划. 论文强调,这样可以避免每一步都把截图传到云端让大模型检查,从而降低延迟、token 成本和隐私风险.

Pre-Understanding

为了让云端在失败时能重规划,系统仍然需要知道执行轨迹. 但论文不直接把完整截图作为 Memory,而是在 Observation Agent 里加入 Pre-Understanding 模块,把屏幕 S_{t+1} 压缩成文本表示:

$$ T_{t+1} = PreUnderstand(S_{t+1}) $$

作者认为,重规划通常不需要完整截图的所有细节,只需要知道屏幕状态如何变化、任务进展到哪里、失败点是什么. 论文提到,原始屏幕图像通常会消耗 1400+ token,而压缩后的文本描述只需要 50–150 token.

Memory Reflection

一旦 Observation Agent 判断某一步失败,端侧会把压缩后的屏幕文本 T_{t+1} 加入 Memory. 云端 Planning Agent 再调用 Reflection 模块,根据用户指令、上一轮计划和执行历史生成新计划:

$$ P_n = Reflection(Ins, P_{n-1}, Memory) $$

这一步让 EcoAgent 的端云协作从开环变成了闭环.

EcoAgent

Hybrid LLM

论文 [] (ICLR 2024) 提出一种混合推理方法,使用路由器结合端云各自的优势以节省成本并保持质量.

HybridLLM 路由效果

将小型模型的响应质量接近大型模型的响应质量的查询,称为“简单”查询。查询 x 的质量差定义为

$$H(x) := q(S(x))−q(L(x))$$

即小模型响应 $S(x)$ 和大模型响应 $L(x)$ 之间的质量差.

确定性路由

最简单版本:对每个 query,从小模型和大模型各采样一个回答,然后用质量函数比较两者。如果小模型回答质量不低于大模型,就标为 easy:

$$ y_i^{det} = \mathbf{1}\{H(x_i) \leq 0\} = \mathbf{1}\{q(S(x_i)) \leq q(L(x_i))\} $$

这里选取 BART 分数作为质量函数 $q$. 然后训练 router 做二分类, 最小化交叉熵损失:

$$ L(w) = - \frac{1}{N} \sum_{i=1}^N \left( y_i^{det} \log p_w(x_i) + (1-y_i^{det}) \log (1-p_w(x_i)) \right) $$

概率性路由

当大模型比小模型强大得多时, $y_i^{det}$ 几乎永远都是取 $0$ 的, 所以需要做一些松弛平移, 引入新标签:

$$ y_i^{trans}(t) = \mathbf{1}\{H(x_i) \leq -t\} = \mathbf{1}\{q(S(x_i)) \leq q(L(x_i)) - t\} $$

现在的问题是如何选取最佳的 $t$? 论文提出最大化标签之间的平均成对差异来选择 $t$:

$$ t^\ast = \argmax_t \frac{1}{N^2} \sum_{i, i'} \left| y_i^{trans}(t) - y_{i'}^{trans}(t) \right| $$

用网格搜索解决. 随后再用这个去做二分类.

平移前 平移后

实验

下面三张图能很好说明路由的设计:

小差距模型 中差距模型 大差距模型

CoGenesis

论文 [] (ACL 2024) 更关心隐私上下文不能上传云端时,如何让云端大模型和本地小模型协作生成高质量个性化内容

Sketch-based CoGenesis

先让云端 LLM 在没有私人上下文的情况下,根据一般的指令生成一个草稿;然后本地 SLM 用这个草稿,加上私人上下文,生成最终内容。

显然这个想法很直接.

Logits-based CoGenesis

LLM 虽然不能看私人 context,但它每一步的 logits 或者 token 分布里包含通用语言能力、结构偏好、表达质量等隐性信息。于是每个 token 生成时,同时看 LLM 和 SLM 的输出分布,再用一个轻量 CombModel 学习如何融合。

算法Logit-Based-CoGenesis

输入 > 通用指令 $I$,私人上下文 $C$,云端大模型 $M_L$,本地小模型 $M_S$,融合模型 $\mathrm{CombModel}_\phi$,最大生成长度 $T$.

输出 > 个性化回答 $y$.

  1. 初始化生成序列:

    $$ y_{<1} = \emptyset $$
  2. 对每个生成步 $t=1,\dots,T$:

  3. 云端 LLM 只基于通用指令和当前前缀输出分布:

    $$ p_L^t = M_L(\cdot \mid I, y_{\lt t}) $$
  4. 本地 SLM 基于通用指令、私人上下文和当前前缀输出分布:

    $$ p_S^t = M_S(\cdot \mid I, C, y_{\lt t}) $$
  5. 取两者的 logits / top-token 信息,输入轻量融合模型:

    $$ \alpha_t = \mathrm{CombModel}_\phi(p_L^t,p_S^t) $$
  6. 融合得到最终 token 分布:

    $$ p^t = \alpha_t p_L^t + (1-\alpha_t)p_S^t $$
  7. 从融合分布中选择下一个 token:

    $$ y_t \sim p^t $$
  8. 重复直到生成结束符或达到最大长度。

  9. 返回:

    $$ y = (y_1,\dots,y_T) $$

论文实现里,CombModel 是一个三层神经网络;每一步只使用 LLM 和 SLM 的 top-10 logits,训练时 LLM 和 SLM 共享同一个目标回答,并用验证集 early stopping。

CoGenesis

实验

CoGenesis 结果

使用 Hugo 构建