(2)模块和接口的标准化:现有的基于LLM具身智体框架通常会根据额外知识和外部模块的可用性做出不同的假设。例如,Code as Policies[6] 和SayCan[2] 在给定一组基本技能的情况下利用 LLM 进行动作排序,而LLM+P[7] 使用 LLM 进行目标解释,并使用具有给定域定义的 PDDL 规划器生成规划;Ada[8] 利用 LLM 以 PDDL...
虽然LLMs在规划(或者说长期推理)方面表现得不尽人意,但它们在描述和翻译文本输入方面,包括以PDDL格式重写规划提示,方面做得很好。直观上,我们可以将PDDL视为一种不同于英语的语言,所以将规划提示以PDDL的形式重写其实就是一项“机器翻译”的任务,这是LLMs擅长的领域。这里我们提供了一个由GPT-4写就,没有进行任何...
git clone https://github.com/aemartinez/llm-pddl.git -b safety-constraints cd llm-pddl Install the necessary dependencies: pip install -r requirements.txt Ensure that Julia is installed, as the tool relies on the juliacall library for integrating with Julia. Usage The framework is operated via...
直觉上,我们可以将 PDDL 视为与英语不同的语言,因此将规划提示重写为 PDDL 实质上是一个“机器翻译”任务,而 LLMs 在此类任务中表现优异。以下是 GPT-4 无需任何提示工程生成的 PDDL 问题文件示例。我们可以看到,生成的文件看起来具有正确的 PDDL 语法,但使用了一个虚构的谓词(empty),并且遗漏了 b1 在桌子上...
这与启发式规划方法形成了鲜明对比,后者利用领域知识(在行动模型(如 PDDL)中形式化)和启发式搜索来生成可行的最优计划。受此启发,我们建议利用 LLMs 的世界知识和启发式搜索原理,将 LLMs 和启发式规划结合起来。我们的方法是 SayCanPay,它利用 LLMs 在可学习领域知识的指导下生成行动(Say),评估行动的可行性(...
PDDL介绍 Planning Domain Definition Language (PDDL) 是一种用于描述人工智能规划问题的语言。它包括领域定义和问题定义两个部分。 领域定义描述了可能的动作和它们的效果,每个动作都有一些前提条件,这些条件必须满足才能执行该动作,以及每个动作的效果,描述了动作执行后世界的状态如何改变。
LLM+P和LLM-DP等模型通过这种方式与PDDL等规划语言进行交互。有反馈规划:环境反馈:从环境中获取实时反馈,以调整代理的未来行为。ReAct和Voyager等模型采用此方法来进行动态规划。人类反馈:直接与人类用户进行互动,获取其反馈意见。Inner Monologue等模型通过这种方式来优化行动策略。模型反馈:利用预训练模型生成反馈信息...
此外,LLM+P利用传统规划器的能力,使用规划领域定义语言(PDDL)和问题提示来为LLMs创建特定任务的问题文件[44]。这种整合显著提高了LLMs在处理长期规划任务方面的有效性。另外,SayPlan通过集成经典路径规划器来解决规划视野问题。通过这样做,SayPlan能够将从抽象和自然语言指令派生出的大规模、长期任务计划具体化,使移动...
为了评估拟议框架的有效性,作者使用规划领域定义语言(PDDL)合成了环境和规划任务,这是一种广泛采用的规划编程语言。为了验证 AgentGen 的有效性和通用性,作者将评估的任务分为两组:i)域内任务:使用 PDDL 实现的规划任务:这些任务包括使用其他编程语言(如 Python)开发的任务。
这种结果揭示了 LLM 本质上仍是近似检索系统。更进一步的,作者测试了自然语言提示和 PDDL,发现 vanilla 语言模型在前者上的表现更好。作者还发现,与之前的说法相反,one-shot 提示并不是对 zero-shot 的严格改进。这在对 LLaMA 系列模型的测试中最为明显。值得注意的是,基准测试的原始迭代没有考虑效率,因为 ...