通过大型语言模型引出形式化问题规范

【摘要】认知系统通常需要人类将问题定义翻译成一些规范,认知系统可以使用这些规范来尝试解决问题或执行任务。在本文中,我们说明了大型语言模型(LLM)可以用于将自然语言中定义的问题类映射为半形式化规范,然后现有的推理和学习系统可以利用该规范来解决问题类中的实例。我们提出了支持LLM的认知任务分析代理的设计。该系统通过LLM代理实现,为用自然语言指定的任务产生问题空间的定义。LLM提示源自人工智能文献中问题空间的定义和一般问题解决策略(Polya的《如何解决》)。然后,认知系统可以使用问题空间规范,应用领域通用的问题解决策略(“弱方法”,如搜索),来解决问题类中问题的多个实例。这一结果虽然是初步的,但表明了通过问题表述的非中介化加快认知系统研究的潜力,同时还保留了认知系统的核心能力,如稳健的推理和在线学习。

原文:Eliciting Problem Specifications via Large Language Models
地址:https://arxiv.org/abs/2405.12147v1
代码:未知
出版:未知
机构: Center for Integrated Cognition, IQM Research Institute

1 研究问题

本文研究的核心问题是: 如何利用大语言模型将自然语言描述的问题定义转化为半正式规范,从而使现有的推理和学习系统能够求解该类问题的实例。

假设我们要设计一个自动推理系统来解决"水壶问题"。该问题可以用自然语言描述为:"你有两个容量分别为4夸脱和9夸脱的水壶,但它们都没有刻度。你需要用它们从河里取正好6夸脱的水。"一个人工智能系统要真正解决这个问题,需要将其转化为一个形式化的问题空间表示,包括状态变量(如每个水壶的当前水量)、可用操作(如装满、倒空、相互倾倒)等。本文旨在探索如何借助大语言模型自动完成这一"翻译"过程。

本文研究问题的特点和现有方法面临的挑战主要体现在以下几个方面:

  • 从自然语言描述到形式化表示存在巨大的语义鸿沟。自然语言的表达往往不完整、不精确,包含很多隐含假设。而形式化系统要求所有概念有严格定义,前提条件要明确罗列。如何用LLM的生成能力来填补这一鸿沟是一大挑战。

  • 问题形式化表示(problem formulation)本身就是问题求解的重要一环。早期研究表明,对同一问题的不同表示方式,会极大影响问题的求解难度。因此用LLM生成好的问题表示本身就需要融入问题求解的考量。

  • 现有的认知系统大多依赖人工定义的领域知识。研究人员需要手工将问题描述转化为特定形式如规划领域定义语言(PDDL),这一过程难以扩展到新领域。

  • 纯LLM方法生成的问题表示往往不够严谨,不能保证与手工定义的表示等价,给下游求解系统带来挑战。需要在可用性和准确性之间权衡。

针对这些挑战,本文提出了一种灵活的"认知任务分析师"框架:

本文将问题表示的生成过程比作认知任务分析(Cognitive Task Analysis),由多个专门的LLM代理协作完成。这些代理扮演分析师的角色,围绕问题空间的定义开展对话式交互。它们分别负责提出问题特征、提取状态变量、定义操作及其前后条件、优化搜索控制知识等。本文巧妙地将这些分析步骤组织成一棵对话树,代理可以动态地在不同分支间切换,逐步细化问题表示。这种模块化的设计提高了灵活性,不同领域的问题可以走不同的分析路径。同时,通过交互过程中持续的相互质询和纠错,代理可以提升表示的准确性,弥补单一LLM的不足。最终,该框架输出一个半正式的问题表示规范,经过简单的人工映射,即可接入现有的推理系统来高效求解。可以说,本文的方法像搭建了一座连接LLM和传统认知系统的桥梁,有望实现两者优势的融合。

2 研究方法

论文提出了一种利用大语言模型(LLMs)将自然语言描述的问题类自动转换为半形式化规范的方法,该规范可被现有的推理和学习系统用于求解对应问题类的实例。论文的核心是设计实现了一个LLM驱动的认知任务分析代理(Cognitive Task Analyst, CTA Agent)。

2.1 整体系统设计

如图1所示,论文设计的系统主要包含两大部分:CTA Agent和认知架构。CTA Agent接收自然语言形式的问题描述,输出对应的问题空间规范和问题实例。具体来说,CTA Agent首先由若干LLM代理协作完成任务分析,提取问题的关键特征,定义问题状态空间和状态转移算子,并识别problem solver可能遇到的问题实例。CTA Agent输出的问题空间规范可以用一种一致的符号表示,供人工映射到认知架构的知识组件中。此外,人类用户也可以交互式地为系统提供新的问题实例。

得到形式化的问题空间定义后,问题求解代理可以利用其固有的弱方法(如搜索)来尝试求解各个具体的问题实例。值得一提的是,问题求解代理求解新问题时并不需要人工干预或领域特定的知识输入。

2.2 认知任务分析代理的设计

论文给出了CTA Agent的设计框架,如图3所示。在任务分析过程中,CTA Agent可在四个高层次方向中做选择,以决定下一步分析的侧重点:

  1. 定义问题的特征

  2. 定义问题求解的特征

  3. 制定问题空间

  4. 评估当前方案的质量

每个分析方向还可以进一步分解为若干更具体的分析问题,用树状结构的节点和子节点表示。树的叶子节点实现为提示(prompt),旨在从LLM引出对任务分析特定部分的贡献。例如,一个提示可能要求LLM识别问题空间定义中的unknowns,或是指定某个算子的前置条件(precondition)。每个提示/响应的结果都会添加到一个记忆单元中,代表目前得到的问题空间定义。这些已有定义的内容会作为上下文随每个新提示一并输入给LLM。

在图中,箭头意在表达CTA Agent可以根据分析结果动态地调整分析方向的能力。从长远来看,论文设想CTA Agent能以多种不同的方式遍历分析树,如针对某些问题优先纵向探索问题的特征,针对另一些问题则优先横向比较问题特征和求解特征。不过在论文的可行性研究中,为了支持结果的可比较性和可重复性,CTA Agent采用了固定的节点执行路径。

2.3 问题空间定义的提取

论文利用从两类资源中提取的信息来为LLM生成提示:一是问题空间在AI文献中的定义,如表1所列;二是解题策略,主要来自Polya的著作《怎样解题》(How to Solve It)。

其中一个重要的思想是引入数学记号(notation)来形式化地定义状态和算子,这源自Polya的建议。尽管LLMs通常被视为自然语言的生成器,但已有研究表明它们也能产生形式化或半形式化的规范。不过LLMs对形式化表示的运算能力相对较弱,这是它们的局限之一。

2.4 可行性实现与评估

论文使用LangGraph实现了CTA Agent的原型系统。如图4所示,该原型由一系列依次执行的LLM节点/代理构成。每个节点采用相同的输入形式:总体上下文(system prompt)、问题描述和针对该节点分析任务的具体指令。

为了评估方法的可行性,论文设计了三类测试用例:熟悉的问题(如两个水壶的倒水问题)、熟悉问题的变体(如引入不同单位或增加水壶数量)、与熟悉问题结构相同但表面特征不同的类比问题。每个测试用例都同时输入到三种配置:传统的基于思维链(chain-of-thought)的LLM问题求解、思维链驱动的问题空间一次性生成,以及论文提出的基于CTA Agent的迭代式问题空间生成。

论文定性地分析了不同配置生成结果的正确性、完备性和精确度,定量评估了Soar问题求解代理在执行不同问题空间定义时的搜索效率。结果表明,CTA Agent生成的问题空间定义在多数情况下是正确、完备且精确的,尤其是对变体问题和类比问题,明显优于一次性生成的基线。Soar代理能直接利用这些定义高效地求解问题。不过该方法在搜索控制知识的生成上还有改进空间。

总的来说,这项研究证实了利用LLM进行自动问题空间生成的可行性,为将来进一步完善CTA Agent奠定了基础。从认知系统研究的角度,这类方法有望减轻对人工知识构建的依赖,加速认知系统的开发和应用。 第四步、实验部分详细撰写:

5 实验

5.1 实验场景介绍

本文提出了一个认知任务分析(CTA)Agent,它使用agentic workflows和大型语言模型,根据自然语言描述的问题类别生成半正式的问题空间规范。这些规范可被用于Soar等认知架构中进行知识缺乏的问题搜索求解。实验主要探索这种方法的可行性,能否生成足够精确和正确的规范用于问题求解。

5.2 实验设置

  • 基于图4所示的可行性实现方案,使用GPT-3.5和GPT-4模型构建CTA Agent。实验中只考虑单一的水壶问题领域。

  • 为评估LLM生成规范的新颖性,设计了三类水壶问题变体(表4):经典水壶问题、数值变化(如混合单位)、结构相同但表面特征不同的类比问题。

  • 使用现有的Soar问题求解Agent来测试CTA Agent生成的问题空间规范,该Agent使用迭代深化搜索保证找到最优解。比较有无失败检测、学习与否等不同配置的性能(表7,8)。

  • 使用one-shot CoT方法作为基线,生成问题空间规范和解题过程,与CTA Agent生成的规范进行对比。

5.3 实验结果

5.3.1 实验一、CTA Agent生成问题空间规范的质量评估

目的:评估CTA Agent能否生成足够精确和正确的问题空间规范用于求解水壶类问题。

涉及图表:表5,表6

实验细节概述:针对经典水壶问题、混合单位变体、增加水壶变体等,运行CTA Agent生成问题空间规范,分析其完备性、精确性、正确性。并与GPT-3.5和GPT-4模型生成的结果进行对比。

结果:

  • CTA Agent对水壶问题及其变体生成的问题空间规范总体上是完备、精确和正确的,可用于Soar Agent进行问题搜索求解。

  • GPT-4模型生成的形式化表示明显优于GPT-3.5(表5),更适合未来的代码生成任务。

  • 迭代精化过程可以显著提高问题空间规范的质量(表6),如更精确地定义状态、算子的前置/后置条件等。

5.3.2 实验二、与one-shot CoT方法的对比

目的:将CTA Agent生成的问题空间规范与one-shot CoT方法生成的结果进行对比。

涉及图表:无

实验细节概述:对每个测试用例,使用one-shot CoT prompt生成相应的问题空间规范和问题解。将其与CTA Agent的输出进行定性比较。

结果:

  • 对于经典水壶问题,one-shot CoT方法通常可以生成可接受的问题空间规范。但CTA Agent生成的搜索控制知识更丰富。

  • 对于水壶问题的变体,如混合单位、增加水壶等,CTA Agent的方法明显优于one-shot CoT。后者经常忽略关键的问题约束条件。

  • CTA Agent生成的搜索控制知识虽然有用,但通常表达为自然语言而非形式化表示,有待进一步改进。

5.3.3 实验三、Soar Agent的问题求解能力评估

目的:评估Soar Agent使用CTA Agent生成的问题空间规范求解问题实例的能力,以及与人工配置的Soar Agent的性能对比。

涉及图表:表7,表8

实验细节概述:将CTA Agent生成的问题空间规范转化为Soar Agent可用的形式。评估其求解相应水壶问题实例的能力。通过控制是否使用失败检测、是否使用学习等,评估Soar Agent的不同配置性能。

结果:

  • 使用CTA Agent生成的问题空间规范,Soar Agent能够可靠地求解所有相关水壶问题实例,即使需要探索数百万个搜索状态。

  • 在线学习可以显著减少大状态空间问题的搜索代价(表7,8)。将学习与适当的搜索控制知识相结合,可以使得求解大分支因子问题更加可行。

  • 在多数情况下,使用CTA Agent生成的问题空间规范的求解代价与人工定义的规范相当。这表明该方法具有很好的可行性。

4 总结后记

本论文针对如何使用大语言模型(LLM)从自然语言形式的问题描述中自动生成形式化的问题求解空间表示这一问题,提出了一种基于LLM agents的认知任务分析(CTA)方法。通过设计一系列基于CTA理论的prompts,引导LLM逐步完成问题特征、问题求解特征、问题空间要素的提取和形式化表示。在经典水罐问题及其变种上的实验表明,该方法能够自动生成正确、完备的问题空间表示,供下游的认知系统进行求解,避免了人工编码问题表示的大量工作。

疑惑和想法:

  1. 除了水罐问题,该方法在其他类型问题(如规划、博弈等)上的适用性如何?是否需要针对不同问题类型设计特定的prompts?

  2. 在问题空间表示的形式化程度上,是否可以进一步提升,直接生成可执行的程序代码,而非中间表示?这对prompt设计有何要求?

  3. 当前方法依赖预定义的prompts序列引导LLM,是否可以设计出更灵活的交互机制,让LLM根据问题特点自主调整分析策略?

可借鉴的方法点:

  1. 将认知任务分析理论与LLM结合,为其他需要对问题进行结构化表示的任务提供了新思路,如需求分析、故障诊断等。

  2. 采用模块化的prompt设计,可以方便地对不同阶段的分析子任务进行优化和更新,提高了方法的可扩展性。

  3. 在LLM生成的初步结果基础上,通过反复的质询、修订来提升结果质量的思想值得借鉴,可用于改进其他涉及递增式生成的任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值