Capability-Driven Skill Generation with LLMs: A RAG-Based Approach for Reusing Existing Libraries and Interfaces

📄 arXiv: 2505.03295v2 📥 PDF

作者: Luis Miguel Vieira da Silva, Aljosha Köcher, Nicolas König, Felix Gehlhoff, Alexander Fay

分类: cs.AI, cs.RO, cs.SE

发布日期: 2025-05-06 (更新: 2025-12-09)

备注: \c{opyright} 2025 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works

DOI: 10.1109/ETFA65518.2025.11205724


💡 一句话要点

提出基于RAG的LLM能力驱动技能生成方法,复用现有库和接口

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 技能生成 大型语言模型 检索增强生成 自动化系统 机器人 ROS 2 代码生成

📋 核心要点

  1. 现有自动化系统技能开发耗时且具挑战,难以快速适配新的能力需求。
  2. 利用大型语言模型,将能力定义视为技能实现的契约,自动生成可执行代码。
  3. 通过检索增强生成架构,集成现有软件库和接口,实现跨语言技能生成。

📝 摘要(中文)

现代自动化系统日益依赖模块化架构,其中能力和技能是关键解决方案。能力以机器可读形式定义资源的功能,而技能提供实现这些能力的具体实现。然而,开发符合相应能力的技能实现仍然是一项耗时且具有挑战性的任务。本文提出了一种将能力视为技能实现契约的方法,并利用大型语言模型根据自然语言用户输入生成可执行代码。该方法的一个关键特征是集成了现有软件库和接口技术,从而能够跨不同的目标语言生成技能实现。我们引入了一个框架,允许用户通过检索增强生成架构将他们自己的库和资源接口整合到代码生成过程中。该方法通过一个由Python和ROS 2控制的自主移动机器人进行评估,证明了该方法的可行性和灵活性。

🔬 方法详解

问题定义:论文旨在解决自动化系统中技能开发效率低下的问题。现有方法在将能力需求转化为具体技能实现时,需要大量的人工编码和调试,尤其是在需要集成现有软件库和接口时,更加复杂和耗时。这限制了自动化系统快速适应新能力需求的能力。

核心思路:论文的核心思路是将能力定义视为技能实现的“契约”,利用大型语言模型(LLMs)理解这些“契约”,并自动生成符合“契约”的可执行代码。通过检索增强生成(RAG)架构,LLM可以访问和利用现有的软件库和接口信息,从而生成更准确、更可靠的技能实现。

技术框架:该方法的核心是一个基于RAG的技能生成框架。该框架包含以下主要模块:1) 能力定义模块:定义技能需要实现的能力,作为LLM的输入。2) 检索模块:根据能力定义,从现有的软件库和接口知识库中检索相关信息。3) 生成模块:利用LLM,结合能力定义和检索到的信息,生成可执行代码。4) 验证模块:验证生成的代码是否符合能力定义,并进行必要的调整。

关键创新:该方法最重要的创新点在于将RAG架构应用于技能生成领域,使得LLM能够有效地利用现有的软件库和接口信息。这大大提高了技能生成的效率和质量,并降低了对人工编码的依赖。与传统的代码生成方法相比,该方法更加灵活和可扩展,能够适应不同的目标语言和平台。

关键设计:论文中没有详细描述具体的参数设置、损失函数或网络结构等技术细节。检索模块的设计是关键,需要选择合适的检索算法和知识库构建方法,以确保能够检索到与能力定义最相关的信息。生成模块需要选择合适的LLM,并进行必要的微调,以提高代码生成的准确性和可靠性。验证模块需要设计有效的测试用例,以确保生成的代码符合能力定义。

🖼️ 关键图片

fig_0
fig_1

📊 实验亮点

该方法通过在自主移动机器人上的实验进行了验证,该机器人由Python和ROS 2控制。实验结果表明,该方法能够有效地生成符合能力定义的技能代码,并成功地控制机器人完成各种任务。具体的性能数据和对比基线在论文中没有详细给出,但实验结果证明了该方法的可行性和灵活性。

🎯 应用场景

该研究成果可广泛应用于机器人、自动化生产线、智能家居等领域。通过自动生成技能代码,可以显著降低开发成本,缩短开发周期,并提高系统的灵活性和可扩展性。未来,该技术有望实现自动化系统的即插即用,使得用户可以轻松地添加和移除各种功能模块。

📄 摘要(原文)

Modern automation systems increasingly rely on modular architectures, with capabilities and skills as one solution approach. Capabilities define the functions of resources in a machine-readable form and skills provide the concrete implementations that realize those capabilities. However, the development of a skill implementation conforming to a corresponding capability remains a time-consuming and challenging task. In this paper, we present a method that treats capabilities as contracts for skill implementations and leverages large language models to generate executable code based on natural language user input. A key feature of our approach is the integration of existing software libraries and interface technologies, enabling the generation of skill implementations across different target languages. We introduce a framework that allows users to incorporate their own libraries and resource interfaces into the code generation process through a retrieval-augmented generation architecture. The proposed method is evaluated using an autonomous mobile robot controlled via Python and ROS 2, demonstrating the feasibility and flexibility of the approach.