Functional Cache Grafting: Robust and Rapid Code-Policy Synthesis for Embodied Agents

TL;DR

FCGRAFT以函数级KV缓存实现代码策略合成,成功率提升18.31%,速度加快2.3倍。

cs.PL 🔴 高级 2026-06-11 23 次浏览
Saehun Chun Wonje Choi Sera Choi Sanghyun Ahn Honguk Woo
具身智能 Code-as-Policies KV缓存 代码大模型 机器人控制

核心发现

方法论

FCGRAFT维护函数级验证代码骨架及其Transformer键值缓存。系统先从两层代码缓存中检索函数接口,再通过cache-stitching拼接已验证结构,最后用cache-patching仅重生成异常代码片段。其缓存评分结合近期使用、调用频率、条件共现和基于困惑度的语义相关性。

关键结果

  • 在ALFRED、TEACh、RLBench及真实机器人操作任务上,FCGRAFT相较RAGCache平均任务成功率提高18.31%,策略合成速度达到2.3倍。
  • 函数级复用同时减少长提示的重复prefill,并保留已验证的API调用和安全控制逻辑;因此错误主要被限制为参数或变量等表层错误,而非完整函数内部的结构错误。
  • 消融逻辑表明,stitching负责结构复用与错误隔离,patching负责局部修复;两阶段联用构成速度与鲁棒性的关键,而非两个独立加速模块。

研究意义

论文回应了具身Code-as-Policies落地中的双重瓶颈:长提示导致的生成延迟,以及从零生成带来的API不匹配、缺少安全防护和控制不稳定。它把机器人技能复用思想推进到模型推理状态层,使历史成功经验既能作为可执行代码,也能作为可直接注入的KV上下文。

技术贡献

核心贡献是将原生KV caching重构为函数级、两层代码缓存H=(I,C)。接口层I保存函数签名、语义元数据及iKV,代码层C保存可执行实现及cKV;前者用于快速组合,后者用于执行链接和局部修补。局部性评分公式同时编码即时保留与长期功能多样性。

新颖性

与RAGCache等文本级或文档级缓存不同,FCGRAFT以可调用函数为缓存单元,并把缓存拼接与代码修补统一进具身控制闭环。其根本创新不是单纯复用提示,而是复用经过执行验证的控制结构及其注意力状态。

局限性

  • 论文报告了总体提升,但未在所给正文中展开各数据集的逐项分数、置信区间或统计显著性,因而难以判断不同任务类型上的稳定性。
  • 方法依赖函数实现、API和缓存状态之间的兼容性;当环境动力学、机器人接口或安全约束发生根本变化时,局部patch可能不足,仍需完整重生成或人工验证。

未来方向

后续可研究跨模型、跨机器人和跨API的缓存迁移,发展更可靠的异常定位与安全验证,并系统评估GPU显存、DRAM换入换出、缓存污染及长期持续学习对延迟和成功率的影响。

AI 总览摘要

让机器人理解“关掉漏气阀”或“把物体放到桌上”,并不只是让语言模型说出几句代码。Code-as-Policies让CodeLLM直接生成可执行控制程序,但每次都要对长提示重新进行prefill,带来明显延迟;从零生成还容易出现API不匹配、缺少安全保护和不稳定控制。对于动态环境,这些问题可能在机器人行动前就造成失败。

FCGRAFT提出函数级缓存嫁接。系统从成功执行的程序中提取函数,分别保存轻量的Function-Interface缓存和完整的Function-Code缓存。新任务到来时,cache-stitching利用接口KV状态组合函数调用,直接链接经过验证的实现;若运行时出现异常,cache-patching保留正确的前缀和后缀,只让CodeLLM重写错误中间片段,并以错误追踪辅助定位。缓存还依据近期使用、频率、共现和语义困惑度进行管理。

在ALFRED、TEACh、RLBench及真实机器人操作任务上,FCGRAFT相较RAGCache平均提升18.31%的任务成功率,并实现2.3倍更快的策略合成。其意义在于把“记住过去经验”从文本检索推进到可执行函数和注意力状态复用。不过,论文提供的正文未展开所有逐数据集统计,且跨API、跨机器人迁移和极端环境变化仍可能超出局部修补能力。

深度分析

研究背景

具身控制逐渐从LLM任务规划转向Code-as-Policies:Liang等、Vemprala等工作让代码模型直接调用感知和运动API。记忆系统能复用轨迹或经验,但多以文本为中心;RAGCache等KV方法主要面向文档或提示前缀。它们尚未充分解决机器人代码的函数级组合、动态参数适配和实时响应。

核心问题

给定部分可观测观察ot和自然语言指令τ,CodeLLM需生成可执行策略πcode,使任务成功率高、合成延迟低且行为一致。长规范和示例造成重复prefill;完全生成则容易产生内部控制错误、API错误和缺失安全逻辑。问题难在新任务既共享旧技能,又需要局部改变参数和约束。

核心创新

FCGRAFT有三项创新。第一,以函数而非文档作为KV缓存单位。第二,以两层缓存分离接口组合和实现链接:I用于轻量生成,C用于执行与修补。第三,将cache-stitching和cache-patching设计成连续流程:前者复用稳定结构并隔离内部错误,后者只修改异常span,区别于RAGCache的文本级检索。

方法详解

  • �� 建模:目标函数为SR−ηPSL+μCSIM,分别权衡成功率、策略延迟和代码行为一致性。
  • �� 缓存:H=(I,C);I保存(itext,iKV),C保存(ctext,cKV)。成功执行后分解新函数并写入缓存。
  • �� 评分:ℓ(fk)=(1−ℓcurr)(αℓfreq+βΣℓasso+γℓsema)+ℓcurr,且α+β+γ=1;低分缓存移至DRAM。
  • �� Stitching:依据ot、τ和接口KV生成调用骨架,再按Call(πcode)链接验证实现。
  • �� Patching:将程序拆为[xpre||xerr||xsuf],复用xpre的KV,仅生成xmid并重组执行程序。
  • �� 闭环:异常触发patch,成功执行后update缓存。

实验设计

评测覆盖ALFRED、TEACh、RLBench和真实机器人操作。论文以RAGCache为主要对照,关注task success rate与policy synthesis latency,并分析函数缓存管理和stitching/patching的作用。给定正文明确报告平均提升18.31%和2.3倍加速,但未列出全部数据集逐项数值或具体模型超参数。

结果分析

FCGRAFT在多种开放域场景中取得鲁棒性与延迟的更优折中。相比RAGCache,成功率提高18.31%,合成速度提高2.3倍。机制上,已验证函数减少内部API和控制逻辑错误;patching将剩余问题限制在参数、变量或运行时异常相关局部区域。

应用场景

适用于移动机器人、机械臂和需要快速响应的家庭、仓储或实验室环境。部署前需定义稳定的感知/运动API,并积累可验证函数;GPU保存高价值KV,DRAM承载低局部性缓存,可支持持续任务执行。

局限与展望

方法效果依赖历史函数质量、接口一致性和可靠的异常定位。缓存占用GPU显存,换入换出也可能引入开销;跨域动力学变化或全新技能无法由局部patch解决。未来需报告更完整的统计结果,并加强安全证明、缓存迁移和长期在线更新。

通俗解读 非专业人士也能看懂

把机器人想成一间会接订单的厨房。传统方法每来一道新菜,都让厨师重新阅读整本菜谱,再从头写完整步骤:既慢,又可能把“先关火”漏掉。FCGRAFT则把过去成功做过的菜拆成“切菜”“控火”“装盘”等经过检查的小模块,并把每个模块的操作记忆放在快速取用的抽屉里。

新订单到来时,系统先把合适模块拼起来,而不是重新发明整道菜。这就是stitching。若客人要求少盐,或发现某一步参数不对,系统只改那一小段,而保留前后步骤,这就是patching。完整做法仍然会被保存在另一个抽屉中,方便真正执行。

论文在ALFRED、TEACh、RLBench和真实机械臂任务上测试,报告相对RAGCache成功率提高18.31%,速度快2.3倍。它的关键不是让机器人“想得更多”,而是让机器人少做重复工作,并尽量重复使用已经证明可靠的动作。

简单解释 像给14岁少年讲一样

想象你在玩一个机器人游戏,任务是“找到杯子、拿起来,再放到桌上”。如果每次都让电脑从零写一整套攻略,它可能把按钮名字写错,或者忘记检查机器人有没有真的拿稳;而且读完很长的说明书也会很慢。

FCGRAFT像一个保存优秀攻略片段的收藏夹。它把“抓取”“移动”“检查是否成功”等步骤分别保存下来。遇到新关卡时,先把合适片段接起来,就像把游戏中的技能连招组合好,而不是重新编写全部攻略。

如果机器人运行时发现某个参数不对,系统不会推倒重来,只修改出错的那几行。这就像数学题前面都做对了,只重新算错的步骤。论文在ALFRED、TEACh、RLBench和真实机器人上测试,成功率比RAGCache高18.31%,生成策略快2.3倍!

当然,收藏夹里的攻略必须真的可靠。如果新游戏规则完全不同,旧片段可能帮不上忙;如果机器人换了另一套按钮,接口也可能不匹配。未来还需要更强的安全检查和跨机器人共享能力。

术语表

Code-as-Policies(代码即策略)

让语言模型把自然语言目标转成可执行控制代码。代码直接调用感知、移动和操作API。

论文研究CodeLLM生成具身智能策略的效率与鲁棒性。

KV Cache(键值缓存)

Transformer注意力中已计算的key和value状态。复用它们可避免重复处理相同提示。

FCGRAFT把KV缓存组织为函数级模块。

Cache-stitching(缓存拼接)

利用多个函数接口缓存组合新的程序结构。它主要复用稳定代码并减少prefill。

系统首先通过stitching生成函数调用骨架。

Cache-patching(缓存修补)

发现运行时错误后,只重生成错误代码片段。正确前缀和后缀保持不变。

它处理stitching后残留的参数或执行错误。

RAGCache

一种结合检索增强生成与缓存的基线方法。其重点是文本或文档级缓存复用。

论文以其作为主要比较对象。

开放问题 这项研究留下的未解疑问

  • 1 论文正文未充分展示ALFRED、TEACh和RLBench的逐项分数、方差及显著性,尚不能判断方法在哪类任务上最稳定。
  • 2 跨模型、跨API和跨机器人迁移仍未解决;需要研究缓存表示是否具有足够的语义与执行可移植性。
  • 3 局部异常定位和安全验证仍依赖系统判断,复杂连续控制中的错误传播边界需要更严格评估。

应用场景

近期应用

仓储移动机器人

机器人可缓存导航、避障、抓取和检查函数,在新订单到来时快速组合策略。部署需要稳定API、成功执行记录及GPU/DRAM缓存管理,预期减少等待并降低代码结构错误。

实验室机械臂

机械臂可复用取放、开关操作和失败重试函数;若目标位置或超时参数变化,只修补局部代码。适合任务变化频繁但基础动作接口相对稳定的工作站。

远期愿景

可持续学习机器人

长期运行的机器人可把成功技能转化为带KV状态的函数资产,形成持续扩展的技能库。关键障碍是缓存污染、版本兼容、安全审计和跨硬件迁移。

原文摘要

Code-writing large language models (CodeLLMs) generate executable code policies for embodied agents by translating natural language goals and environmental constraints into structured control programs. However, policy generation in open-domain embodied environments suffers from two fundamental limitations: (i) delayed decoding caused by repetitive prefill computation over long prompts, and (ii) limited robustness due to fully generative decoding, which often produces API mismatches, missing safety guards, and unstable control logic. To address these limitations, we present FCGraft, a Functional Cache Grafting framework. FCGraft maintains a library of function-level validated code skeletons and their associated prompt-level Transformer key-value (KV) caches, and synthesizes new policies by retrieving relevant functions and grafting their KV caches when a new task is provided. Given retrieved function caches, FCGraft performs cache grafting via stitching, which composes cached function segments into a composite policy, and patching, which locally adapts only the necessary code regions to satisfy task-specific parameters and constraints with minimal additional decoding. By eliminating redundant prefill computation, this approach reduces generation latency, while reusing validated control structures improves robustness over prompt-level caching methods RAGCache, achieving 18.31% higher task success rate and 2.3x faster policy synthesis.

cs.PL cs.AI