论文笔记:TravelPlanner: A Benchmark for Real-World Planning with Language Agents

news/2024/11/14 12:42:28/

202402 论文

1 intro

  • 规划是一种依赖于多种能力的进化成果,包括使用各种工具迭代地收集信息和做出决策、记录中间计划以进行深思熟虑,以及通过运行模拟探索替代方案
    • 之前的研究常是在受限环境中,因为实现人类级别规划所需的许多认知基质尚未具备。
    • LLM的出现为这一经典问题带来了新的希望
      • 工具使用+各种形式的推理
      • 但现有工作中的规划环境仍然大多遵循传统设置,集中于单一目标优化和固定的真实标准
  • ——>提出了TravelPlanner,一个专注于常见的现实世界规划场景——旅行规划的新基准
    • 计划一个多天的行程本质上是长远的,涉及大量相互依赖的地点、住宿、交通、餐饮等决策
    • 旅行规划涉及许多限制,从预算等显性限制和各种用户需求到隐含的常识限制,例如,人们不能在没有任何交通工具的情况下瞬间移动到另一个城市。
    • 旅行规划需要强大的主动性,利用各种工具(例如搜索航班和餐馆)从部分可观察的环境中获取必要信息,并对收集的信息进行深思熟虑,同时牢记所有显性和隐性限制
    • 这样复杂的规划任务超出了之前的AI代理的能力范围
  • TravelPlanner提供了一个丰富的沙盒环境,包含从互联网上抓取的大约四百万条数据条目,可以通过六种工具访问
    • 还精心策划了1,225个多样化的用户查询(以及它们的参考计划),每一个都带有不同的约束组合
  •  全面评估了五种LLM以及四种规划策略
    • 最先进的LLMs无法处理TravelPlanner中的复杂规划任务。GPT-4仅在少数任务中(0.6%)成功生成符合所有约束的计划,而所有其他LLMs均未能完成任何任务。
    • 现有的规划策略如ReAct和Reflexion,可能对简单的规划场景有效,但对TravelPlanner中的多约束任务来说是不足够的。
  • 训练有素的人工标注员平均需要12分钟手动标注一个计划,但一个语言代理只需1到2分钟就可以自动生成一个计划——>效率高

2 TravelPlanner

2.1 概览

  • TravelPlanner以旅行规划为基础,这是一个包含多种约束的现实用例,旨在评估代理能否通过多样化的工具收集信息并在满足约束的同时制定灵活的旅行计划。
    • TravelPlanner包含总共1,225个查询
      • 这些查询被分为九组,基于旅行持续时间和硬性约束的数量进行分类
      • 数据集分为训练集、验证集和测试集
        • 训练集包括每组5个带有人类注释的查询(共45对),验证集包含每组20个查询(共180个),而测试集包含1,000个查询

2.2 约束

  • 包含了三种类型的约束

2.2.1 环境约束

  • 现实世界是动态的,这要求代理具有适应性。
    • 特定时间内可能没有飞往某地的航班,可能是因为机票已售罄
    • 在这种情况下,代理必须动态地寻找替代方案,如更改航班目的地或交通方式

 2.2.2 常识约束

  • 代理在现实世界中为人类服务,因此在设计计划时应考虑常识
    • 例如,重复访问同一个景点是不寻常的

2.2.3  硬性约束

  • 代理的一个重要能力是有效满足个性化的用户需求。
  • 为评估这一点,TravelPlanner加入了各种用户需求,如预算约束

 2.3 基准构建流程

2.3.1 环境设置

  • TravelPlanner创建了一个静态且封闭的沙盒环境,以实现一致且无偏的评估
    • ——>确保所有代理访问的是相同的、不会改变的信息,避免了动态数据引入的变化和潜在偏差
  • 为了提供与现实世界一致的旅行选择,TravelPlanner中每个工具的数据库包含丰富的信息
  • 代理被指示使用“NotebookWrite”工具记录规划所需的信息
    • 此工具集成的目的是评估代理的工作记忆管理,并防止因上下文累积导致的最大令牌限制

2.3.2 查询构建

  • 为了创建多样化的TravelPlanner查询,从几个基本元素开始
    • 包括出发城市、目的地和特定日期范围,随机选择以形成每个查询的框架
  • 随后,调整旅行的持续时间和硬性约束的数量,以创建不同的复杂性水平
    • 旅行的持续时间——3天、5天或7天——决定了计划中包含的城市数量
      • 3天的计划专注于一个城市,而5天和7天的计划则涉及一个随机选择的州
      • 5天的计划包括2个城市,7天的计划包括3个城市
    • 较长的旅行天数需要语言代理更频繁地使用工具,从而增加了管理长远规划的难度
    • 不确定的目的地挑战代理选择多个城市,要求它们考虑城市间的连通性等因素
  • 引入了多样化的用户需求作为硬性约束,以增加进一步的复杂性和现实性
    • 难度级别分类如下

      • 简单:该级别的查询主要以预算为约束,适用于单人。

      • 中等:除了预算约束外,中等查询还引入了一个额外的硬性约束,从一组约束池中随机选择,包括餐饮类型、房间类型和房间规则。

      • 困难:困难查询在约束池中加入了额外的交通偏好,包含了中等查询的所有约束

        • 每个困难查询包含三个硬性约束,随机从约束池中选择

    • 根据这些元素,利用GPT-4生成自然语言查询。

2.4 人工注释

  • 为了确保每个查询至少有一个可行的计划,邀请了20名研究生对合成查询进行详细的计划注释。
    • 一个计划被视为合格,只有当它满足评估脚本中所列的所有约束时
    • 这种严格的流程最终创建了1,225个经过验证的查询-计划对。
    • 平均向注释人员支付每个计划0.80美元
  • 为确保每个自然语言查询及其相应注释计划的质量,作者对每个查询和计划进行了详细审查,修正了发现的错误
    • 此外,为确保挑战性,使用对应的人类注释计划中的成本重新校准每个查询的预算
      • ——>替代了可能偏高的初始启发式预算,减少了可行计划的数量

2.5 评估

2.5.1 评估标准

  • 交付率
    • 该指标评估代理是否能在有限步数内成功生成最终计划。
    • 陷入死循环、多次失败或达到最大步数(实验设置为30步)将被视为失败。
  • 常识约束通过率
    • 包括八个常识维度,此指标评估语言代理是否能在没有明确指令的情况下将常识纳入计划中
  • 硬性约束通过率
    • 衡量计划是否满足查询中明确给出的所有硬性约束,旨在测试代理根据多样化用户需求调整计划的能力
  • 最终通过率
    • 所有测试计划中符合上述所有约束的可行计划比例,作为代理在生成满足实际标准的计划方面的能力指标
  • 未单独评估环境约束,因为其影响本质上体现在“沙盒内”与“完整信息”指标中

2.5.2 评估策略

  • 微观策略计算通过的约束数量与约束总数的比例
  •  宏观策略计算通过所有常识或硬性约束的计划数量与所有测试计划的比例

2.6 独立规划模式

  • 虽然TravelPlanner的设计目的是评估代理在工具使用和规划方面的综合能力(双阶段模式),论文还设置了一个简化模式,专门评估代理的规划技能(独立规划模式)。
  • 在此设置中,利用人类注释的计划来预先确定目的地城市,并直接向代理提供详细且必要的信息,例如提供城市中的餐馆。
  • 这消除了工具调用的需求,因为代理不再需要通过工具从头收集信息。

3 实验

3.1 效果

  • 在所有指标中,双阶段模式下任何模型的得分都低于独立规划模式 
  • 即使是表现最好的代理在满足硬性约束方面依然不及贪心搜索
  • 尽管代理能够满足一些约束,但往往会忽略其他约束。
    • 因此,这表明当前的代理难以全面考虑多重约束,而这是在TravelPlanner中处理复杂任务的关键要求

3.2 工具使用错误分析

3.3 各约束通过率


http://www.ppmy.cn/news/1546639.html

相关文章

信息化运维方案,实施方案,开发方案,信息中心安全运维资料(软件资料word)

1 编制目的 2 系统运行维护 2.1 系统运维内容 2.2 日常运行维护方案 2.2.1 日常巡检 2.2.2 状态监控 2.2.3 系统优化 2.2.4 软件系统问题处理及升级 2.2.5 系统数据库管理维护 2.2.6 灾难恢复 2.3 应急运行维护方案 2.3.1 启动应急流程 2.3.2 成立应急小组 2.3.3 应急处理过程 …

Ubuntu 22.04.5 LTS配置 bond

本次纯实验,不会讲解bond功能,配置bond mode 1 和 mode 4 如何配置 确定内核模块是否加载 实验使用root用户权限,非root用户使用sudo 调用root权限 rootubuntu22:~# lsmod | grep bonding rootubuntu22:~# modprobe bonding rootubuntu22:~# …

Python PyQt5 实现 .his 文件批量转 Excel 工具

在数据分析和处理过程中,数据格式的多样性常常带来不同的技术挑战。例如,历史数据或日志数据可能存储在 .his 格式的文件中。为了便于分析和操作,我们通常需要将这些文件转为更常见的表格格式如 Excel 文件(.xlsx)。在…

HTML之图片和超链接的学习记录

图片 在HTML中&#xff0c;我们可以使用img标签来显示一张图片。对于img标签&#xff0c;我们只需要掌握它的三个属性&#xff1a;src、alt和title。 <img src"" alt"" title"" /> src用于指定图片所在的路径&#xff0c;这个路径可以是…

Swift从0开始学习 简单值 day1

1.0简单值的初始化: Swift声明值可以使用let 来声明常量&#xff0c;使用 var 来声明变量。let声明是不可修改的且只能赋值一次&#xff0c;var声明是可修改的。两者都不需要显式的指定类型&#xff0c;当你通过一个值来声明变量和常量时&#xff0c;编译器会自动推断其类型。 …

Java实习面经系列(二)— 快手

说一说你对虚拟内存的理解swap的理解&#xff08;程序局部性原理&#xff09;将暂时不用的程序换出到磁盘中&#xff0c;那如果程序在后台呢&#xff1f;那操作系统底层是怎么做虚拟内存和物理内存的映射的&#xff1f;具体说一说分页式、分段式、段页式内部碎片和外部碎片具体…

Linux7 线程(一)

线程 1. 概念2. 库函数线程库创建线程线程ID线程终止线程等待线程分离 3. 线程的互斥相关概念临界资源互斥量 - mutex初始化互斥量静态分配动态分配 销毁互斥量互斥量加锁互斥量解锁死锁概念死锁的四个必要条件避免死锁避免死锁算法 4. 线程的同步条件变量初始化条件变量静态分…

基于ECS实例搭建Hadoop环境

环境搭建&#xff1a; 【ECS生长万物之开源】基于ECS实例搭建Hadoop环境-阿里云开发者社区 搭建Hadoop环境_云服务器 ECS(ECS)-阿里云帮助中心 Hadoop入门基础&#xff08;二&#xff09;&#xff1a;Hadoop集群安装与部署详解&#xff08;超详细教程&#xff09;&#xff0…