自从OpenAI开发的强大AI聊天机器人ChatGPT推出以来,大型语言模型(LLMs)在学术界和工业界均取得了显著进步,为许多领域带来了根本性的工程范式转变。虽然LLMs强大,但正确利用其力量也至关重要,其中“提示”扮演着核心角色。然而,蓬勃发展的LLMs本身,包括像ChatGPT这样的优秀API,也有几个固有的局限性:1)训练数据的时间滞后性,以及2)缺乏执行外部动作的物理能力。最近,我们观察到了使用基于提示的工具来更好地利用LLMs的下游任务的趋势,但由于这一领域的快速发展,系统性的文献和标准化术语仍然缺乏。因此,在这项工作中,我们综述了相关的提示工具,并推广了“提示框架”(PF)的概念,即用于管理、简化和促进与大型语言模型交互的框架。我们将PF的生命周期定义为一个分层结构,从下到上依次为**:数据层级、基础层级、执行层级和服务层级**。我们还系统地描述了新兴PF领域的整体格局,并讨论了潜在的未来研究和挑战。为了持续跟踪这一领域的发展,我们维护了一个存储库https://github.com/lxx0628/Prompting-Framework-Survey,这可以成为该领域学术界和工业界的有用资源共享平台。
https://www.zhuanzhi.ai/paper/87864bd938cf69ffa9efc8be8854ac81
自从引起广泛社会关注的ChatGPT发布以来,大型语言模型(LLMs)的研究在学术界和工业界已全面展开,产生了许多令人惊叹的产品,如PaLM [27]、GPT-4 [82]和LLaMA [108, 109]。这些LLMs在对话、文本翻译和情感分析[2, 11, 25, 54]等方面显示出接近甚至超越人类水平的卓越能力,可能会为许多领域带来根本性的变革[18, 30, 38, 61, 65, 76, 123, 137]。语言模型的发展到目前的繁荣状态经历了一系列演变过程:全监督学习 → NLP的深度学习 → “预训练,微调” → “预训练,提示,预测”[60, 135]。最初,语言模型(LMs)应用了全监督学习范式,其中特定任务的模型仅在目标任务数据集上训练,严重依赖特征工程[53, 80, 98]。随后,随着深度学习的兴起,出现了NLP的神经网络,实现了特征学习和模型训练的集成,即设计用于自动学习数据特征的网络架构[7, 8, 29, 72]。后来,随着LMs的需求增加并适应越来越多的NLP任务,“预训练,微调”范式被引入。在此范式中,具有固定架构的模型经过预训练来预测观察到的文本数据的概率。然后引入额外的参数,并使用特定于任务的目标函数对模型进行微调,以将预训练的LM适应于各种下游任务[55, 100, 111, 128]。然后是LLMs的时代,趋势转向下游任务主动适应预训练模型。“预训练,提示,预测”的范式成为主流,提示成功地赋予LLMs轻松应对各种复杂和多样化任务的能力。通过提供一套合适的提示,一个完全基于上下文预测训练的单一语言模型可以被用来解决各种任务[13, 95]。因此,提示的质量和适当性在任务解决中越来越起到关键作用[51, 120, 136]。学术界和工业界对与提示相关的研究都表现出日益增长的关注和兴趣。
众多研究表明,使用合适的方法发挥LLMs的潜力是必要的[116, 120, 129, 136]。2023年3月,OpenAI正式推出了一个重大创新,称为ChatGPT插件,它使ChatGPT能够使用外部工具,反映了增强LLMs与外部世界交互能力的日益增长的需求。当类比于人类时,LLMs可以被视为智能系统的大脑,负责感知指令并生成和控制一系列动作。因此,通过将它们固有的知识和能力与搜索引擎、计算工具、视觉模型等外部工具结合,LLMs可以执行广泛的现实世界任务,包括实时数据检索、基于浏览器的信息检索、数据库访问、精确的数学计算、复杂的语言生成和图像分析,从而在教育、医疗保健、社交媒体、金融和自然科学等多个领域展示其潜力[64, 68, 78, 93]。因此,开发促进交互过程优化和简化的工具变得至关重要。在本文中,我们将这些前瞻性工具统称为一个新颖的概念:“提示框架”(PF)。
自Harrison Chase于2022年10月发布开源项目LangChain [20]以来,它已在GitHub上吸引了超过60,000名支持者,成为迄今为止最受欢迎的提示框架之一。LangChain是一个通过可组合性构建带有LLMs的应用程序的框架。除了LangChain外,我们的调查还涵盖了各种最先进的提示框架,包括1) 可以被认为是LLMs的操作系统的Semantic Kernel [112]、LlamaIndex [59]和OpenDAN [83],以及2) LLMs的输出限制器,如Guidance [69]、TypeChat [70]、NeMo-Guardrails [79],和3) 与LLMs交互的语言,如LMQL [10]、gpt-jargon [14]、SudoLang [40]。在提到提示框架时,由于该领域发展迅速,难以追踪并了解分布在GitHub、预印本论文、Twitter以及顶级会议/期刊上的众多方法,这带来了一个显著的挑战。此外,具有不同重点的众多提示框架方法的丰富性使得系统性地分类和比较它们变得具有挑战性,阻碍了为特定需求选择最合适产品的过程。因此,目前缺乏但迫切需要系统性的文献和标准化术语来介绍和比较这些对于更好利用LLMs能力至关重要的工具。
在这份综述中,我们介绍了‘提示框架’的概念,并对现有的提示框架进行了全面和系统的调查。我们为它们提供分类、比较分析和评估标准,评估它们的适用性和局限性,并为其有效利用于实际LLM启用的任务提供实用建议。此外,我们还讨论了一些超出提示框架范围但与提示相关的有用工具包。我们还为未来的研究提出了建议。简而言之,我们作出了以下主要贡献:
• 我们介绍了在学术界和工业界引起关注的提示框架概念,并提供了系统化和标准化的定义和术语。 • 我们将现有的提示框架分为3类,进行了全面的比较,探讨了它们在不同维度的优势和局限性,并提供了实用建议。基于研究发现,我们展示了提示框架的未来方向,并广泛探索了其在更多领域的潜在发展和挑战。 •** 我们进行了广泛的研究,超出了提示框架的范围,包括与LLMs的提示和提示框架的任务执行相关的作品和工具**。我们将它们汇集在我们的GitHub存储库中,以便研究人员访问和探索进一步的研究。 文章的其余部分安排如下。
第2部分介绍了提示框架的背景知识,包括LLMs的特性和提示框架的必要性。第3部分描述了调查,包括方法论和结果。第4部分提供了提示框架的系统性定义和分类。第6部分展示了各种提示框架在不同维度上的比较和挑战。第5部分回顾了与LLMs相关但超出提示框架范围的基于提示的工作。第7部分展示了提示框架的未来方向以及在更多领域的潜在发展和挑战。
总述
在本节中,我们提供了对我们调查过程的全面描述。LLMs及相关技术领域目前正在经历一个前所未有的快速发展阶段。因此,相关研究和成就的景观以其分散的性质为特征。许多贡献尚未在传统学术期刊或会议上正式发表。相反,它们通常在像arXiv这样的平台上找到,或作为GitHub上可用的开源工具包。一些值得注意的发展主要存在于Twitter、GitHub和Discord等平台上的在线社区中,缺乏正式文档。此外,该领域缺乏全面的综述文献,导致建立的学术术语和官方定义的稀缺。
我们对提示框架的探索始于对LangChain的深入调研,该框架被认为是该领域最有影响力的框架之一。我们首先深入研究LangChain的官方描述,该描述强调了“通过可组合性用大型语言模型(LLMs)构建应用程序”的概念。我们研究的主要阶段旨在建立对这些框架的术语和概念的基础性理解。我们仔细调研并分析了诸如“框架”、“工具”、“代理”、“大型模型”、“提示”和“工具包”等术语。这些关键词被深思熟虑地选择,以确保全面的视角,使我们能够包括广泛的相关材料和资源。
在我们对全面调研的追求中,我们在不同平台上进行了多轮关键词搜索。这包括在GitHub等著名存储库和arXiv等学术数据库上进行彻底的搜索。此外,我们扩展了我们的探索范围,以涵盖人工智能(AI)和自然语言处理(NLP)领域内的知名会议和期刊。这些额外的搜索确保我们不仅捕捉到最新的发展,而且还能访问具有重要性的学术和研究导向的材料。在整个研究过程中,我们的重点是识别、收集和分析相关材料。总的来说,我们积累了大量的作品,包括GitHub上可用的49个开源项目和大量的学术论文。这种方法论的方法和对资源的严格调研是我们对提示框架研究的基石,促进了全面和全方位的探索。
随后,我们的调查深入进行了对49项作品的细致和系统性评估。这项全面的评估始于对它们的技术文档进行详尽的调研,在此过程中,我们仔细调研了每项作品的概念基础、功能实现和关键代码段。我们着手进行深入探索,配置并实际使用这些工具进行科学和方法论的分析,评估它们的性能、效率和适用性。具体来说,我们进行了广泛的测试和研究,包括运行技术文档中提供的所有测试用例,并手动创建更多详细的测试用例,以更好地反映现实世界的要求。遵循软件测试的基本程序,我们首先进行每个框架内各个模块的单元测试。随后,我们进行模块的性能测试,这些模块根据要求和标准在复杂的应用程序中组装起来,从而完成集成测试。最后,我们进行全面的系统测试,以验证和评估这些任务中声称的能力,同时也组织与用户体验相关的方面。 最后,这种多方位的调研使我们能够识别每项作品的优点和局限性,为我们提供了对它们的能力和与我们调查的总体目标的相关性的细致理解。经过这种严格的评估,我们审慎地选择了约30项作品,这些作品不仅符合提示框架的概念先决条件,而且在该领域中脱颖而出。这些选定的作品被选入我们的调查中,以确保全面和具有代表性地描绘不断涌现且不断发展的提示框架景观,这在很大程度上塑造了个人与LLMs之间的互动。