WorldAPIs: The World Is Worth How Many APIs? A Thought Experiment

📄 arXiv: 2407.07778v2 📥 PDF

作者: Jiefu Ou, Arda Uzunoglu, Benjamin Van Durme, Daniel Khashabi

分类: cs.CL

发布日期: 2024-07-10 (更新: 2025-06-13)

备注: AAAI 2025 & ACL 2024 NLRSE, 7 pages


💡 一句话要点

WorldAPIs:通过 wikiHow 教程,探索具身智能体所需的 API 空间

🎯 匹配领域: 支柱三:空间感知与语义 (Perception & Semantics) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 具身智能 API 归纳 大型语言模型 WikiHow 动作空间

📋 核心要点

  1. 现有具身模拟器提供的 API 集合有限,无法满足现实世界中 AI 智能体执行复杂任务的需求。
  2. 论文提出一个框架,通过分析 wikiHow 教程,迭代地归纳具身智能体所需的 API 空间。
  3. 实验表明,该方法能够有效重用和创建 API,并揭示了现有模拟器在 API 支持方面的不足。

📝 摘要(中文)

人工智能系统通过 API 调用访问的原始动作或可供性,在物理环境中做出决策。虽然在现实世界中部署 AI 智能体涉及许多高级动作,但现有的具身模拟器提供的领域相关 API 集合有限。这自然引出了问题:一个通用的具身智能体需要多少原始动作(API),它们应该是什么样的?我们通过一个思想实验来探索这个问题:假设 wikiHow 教程涵盖了各种人类编写的任务,那么覆盖这些指令所需的 API 空间是什么?我们提出了一个框架,通过将 wikiHow 指令与情境化的智能体策略对齐,迭代地归纳新的 API。受到大型语言模型(LLM)在具身规划方面取得的成功的启发,我们提出了一种少样本提示方法,引导 GPT-4 生成 Python 程序作为智能体策略,并通过以下方式引导 API 的宇宙:1)重用一组种子 API;然后 2)在必要时制造新的 API 调用。这个思想实验的重点是定义这些 API,而不是它们的可执行性。我们将提出的管道应用于 wikiHow 教程中的指令。在小部分(0.5%)的教程中,我们归纳出了 300 多个 API 的动作空间,这些 API 对于捕获物理世界中各种丰富的任务是必要的。对归纳输出的详细自动和人工分析表明,所提出的管道能够有效地重用和创建 API。此外,人工审查显示,现有的模拟器仅支持归纳出的 API 的一小部分(前 50 个常用 API 中的 9 个),这促使人们开发动作丰富的具身环境。

🔬 方法详解

问题定义:论文旨在解决具身智能体在现实世界中执行任务时,所需 API 集合的定义问题。现有具身模拟器提供的 API 数量和种类有限,无法满足智能体执行复杂任务的需求。现有方法缺乏系统性的方式来发现和定义这些 API,阻碍了具身智能体的发展。

核心思路:论文的核心思路是通过分析 wikiHow 教程,将人类执行任务的指令转化为智能体可以执行的 API 调用。WikiHow 教程涵盖了广泛的任务,可以作为定义 API 空间的丰富来源。利用大型语言模型(LLM)的强大能力,将自然语言指令转化为 Python 程序,从而生成 API 调用。

技术框架:整体框架包含以下几个主要阶段:1)选择 wikiHow 教程作为输入;2)使用少样本提示引导 GPT-4 生成 Python 程序,该程序模拟智能体执行教程中的任务;3)从生成的 Python 程序中提取 API 调用,并将其作为新的 API 加入 API 集合;4)对 API 集合进行分析和评估。该过程迭代进行,不断扩充 API 集合。

关键创新:论文的关键创新在于提出了一种基于 wikiHow 教程和大型语言模型的 API 自动归纳方法。该方法能够有效地发现和定义具身智能体所需的 API,并能够重用和创建新的 API。与现有方法相比,该方法更加系统化和自动化,能够处理更复杂的任务。

关键设计:论文的关键设计包括:1)使用少样本提示来引导 GPT-4 生成 Python 程序,这可以有效地利用 LLM 的知识和推理能力;2)设计了一种 API 提取方法,可以从生成的 Python 程序中准确地提取 API 调用;3)对 API 集合进行自动和人工分析,以评估 API 的质量和覆盖范围。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,该方法能够从 wikiHow 教程中归纳出 300 多个 API,这些 API 对于捕获物理世界中各种丰富的任务是必要的。人工审查显示,现有的模拟器仅支持归纳出的 API 的一小部分(前 50 个常用 API 中的 9 个),这表明该方法能够有效地发现现有模拟器中缺失的 API。

🎯 应用场景

该研究成果可应用于开发更逼真、更通用的具身智能体模拟器。通过提供更丰富的 API 集合,可以促进具身智能体在现实世界中的应用,例如机器人导航、物体操作、人机交互等。此外,该方法还可以用于自动化软件开发,例如自动生成 API 文档和测试用例。

📄 摘要(原文)

AI systems make decisions in physical environments through primitive actions or affordances that are accessed via API calls. While deploying AI agents in the real world involves numerous high-level actions, existing embodied simulators offer a limited set of domain-salient APIs. This naturally brings up the questions: how many primitive actions (APIs) are needed for a versatile embodied agent, and what should they look like? We explore this via a thought experiment: assuming that wikiHow tutorials cover a wide variety of human-written tasks, what is the space of APIs needed to cover these instructions? We propose a framework to iteratively induce new APIs by grounding wikiHow instruction to situated agent policies. Inspired by recent successes in large language models (LLMs) for embodied planning, we propose a few-shot prompting to steer GPT-4 to generate Pythonic programs as agent policies and bootstrap a universe of APIs by 1) reusing a seed set of APIs; and then 2) fabricate new API calls when necessary. The focus of this thought experiment is on defining these APIs rather than their executability. We apply the proposed pipeline on instructions from wikiHow tutorials. On a small fraction (0.5%) of tutorials, we induce an action space of 300+ APIs necessary for capturing the rich variety of tasks in the physical world. A detailed automatic and human analysis of the induction output reveals that the proposed pipeline enables effective reuse and creation of APIs. Moreover, a manual review revealed that existing simulators support only a small subset of the induced APIs (9 of the top 50 frequent APIs), motivating the development of action-rich embodied environments.