综述 | 上交联合Amazon和耶鲁提出:从CoT Reasoning到语言Agent的搭便车指南

随着思维链(Chain-of-Thought, CoT)推理范式与推理时计算扩展(inference-time scaling)技术的协同发展,语言智能正迈向统一且可扩展的认知框架。 推理时间扩展是一种在模型推理阶段投入更多计算资源和时间,以提升模型输出质量的方法。 例如,OpenAI 的 o1 模型以及Deepseek-R1模型通过在推理阶段模拟人类的思考过程,进行多步骤的慢思考推理,最终选择最优答案,从而提升了模型的推理能力。

近日,上海交通大学联合 Amazon、耶鲁大学的研究者在 ACM Computing Surveys (CSUR) 发表综述文章《Igniting Language Intelligence: The Hitchhiker’s Guide from Chain-of-Thought Reasoning to Language Agents》。该文系统回顾了思维链技术的发展,探讨了推理时计算扩展技术如何与思维链推理相结合,提升语言模型的推理能力。此外,文章还深入探讨了思维链在语言智能体构建中的关键作用,涵盖从推理机制到感知、记忆、行动等多个维度的范式变革,为理解和构建具备推理能力的智能体提供了清晰的技术路线与未来展望。

论文:Igniting Language Intelligence: The Hitchhiker's Guide From Chain-of-Thought Reasoning to Language Agents
链接:https://dl.acm.org/doi/10.1145/3719341

什么是思维链(CoT)?

所谓思维链(Chain-of-Thought,CoT),是指利用大型模型对复杂问题进行分步骤的思考。这种方法通过将复杂问题细分为更易处理的子问题,逐步生成一系列的推理中间步骤,从而更好地解决复杂问题。

图:CoT推理与直接推理的对比。CoT推理通过生成一系列的中间步骤来解决问题,直接推理则试图一次性解决问题

思维链通常由以下几个部分组成:

  • 指令(Instruction):指令通常在零样本CoT(Zero-Shot-CoT)中出现,它是用来提示大语言模型(LLM)以期望格式生成答案的简短句子。指令用来引导LLM在推理过程中逐步思考。

  • 理由(Rationale):我们统一将CoT推理的中间过程称为“理由”。理由可以包括解决方案、中间推理步骤或与问题相关的任何相关外部知识。

  • 示例(Exemplars):示例通常在少样本CoT(Few-Shot-CoT)中出现。示例的一般形式为期望的输入-输出对,每个示例包含问题、理由和答案。示例通常在输入问题之前串联,作为上下文为回答目标问题提供示范。

  • 零样本CoT(Zero-Shot-CoT):零样本CoT不需要用户提供示例。相反,它通常依赖于指令(Let‘s think step by step.)来引导LLM进行逐步推理,从而生成答案

  • 少样本CoT(Few-Shot-CoT):少数提示CoT需要提供一组带有相关理由的示例。这些示例与问题一起串联起来,以提示LLM生成推理过程和答案。

思维链的优势在哪里?

1.增强大模型的推理能力:CoT将复杂的问题分解成子问题,通过分步推理的方法,降低大模型忽略关键细节的风险。这种做法可以有效地将更多地的计算资源分配给需要更多推理步骤的问题。为了更加直观的感受CoT的优势,如图所示,本文总结了截至2023年10月,CoT在七个最具代表性的推理任务中的最佳表现。在复杂推理任务的基准性能方面,有了快速的进步,CoT对所有七个任务中LLM的推理能力产生了显著影响。

七个推理任务的性能表现。“直接提示”(Direct Prompt)指的是标准的少样本提示方法,示例采用问题和答案格式,模型直接提供答案,不采用CoT。“SC”(self-consistency)代表自我一致性检验。为了公平比较 “Direct Prompt”, “Manual-CoT”, “Best CoT w/o SC” 和 “Best CoT w/ SC”均使用text-davinci-002作为LLM引擎,“Best CoT*” 允许使用不同的LLM引擎。

此外,我们在表中包括了最佳表现的CoT模型及其使用的LLM引擎。

七个推理任务中“Best CoT*” 的详细实验设置
  1. 增强大模型的可解释性:CoT为我们提供了一种理解大模型决策过程的可解释视角。通过CoT分解生成的一系列相互关联的思维过程,我们可以更容易理解大模型在做出决策或结论时背后的逻辑和推理过程。这种方法可以帮助我们了解模型是如何得出特定答案,并且指出推理过程中的错误,为调试过程提供宝贵的洞见。

  2. 增强大模型的可控性:CoT通过提供更详细的中间步骤,使得用户能够更有效地指导和校正模型的推理过程。例如,通过设计提示(prompt)或选择特定的中间思考步骤,引导模型沿着特定的逻辑路径进行推理,从而产生更加准确和符合预期的答案。

  3. 增强大模型的灵活性:在大模型中,可以通过简单地在输入问题的末尾添加“Let's think step by step”来轻松地激活零样本CoT(Zero-Shot-CoT),或者加入CoT示例进行少样本CoT(few-shot-CoT)。CoT不仅仅可以用来解决复杂的推理问题,还可以广泛应用于AI for science 和 AI Agent等领域中。

如何发挥思维链的最大优势?

  1. 从工程角度来看,CoT 在以下三个场景中会更加有效
    (1) 使用大语言模型(LLM);而较小的语言模型在使用CoT方法时可能会出现,缺乏足够的知识支持或推理能力较弱等问题。
    (2) 更加复杂且需要多步推理的任务;而研究表明CoT在匹配、序列标记和单选题等推理步骤更简单的任务中效果欠佳。
    (3) 增大模型规模不会显著提升直接提示的性能

  2. 从理论角度来看
    (1) 当训练数据(即LLM中的参数化知识)涵盖了密切相关且互相影响的局部变量集合时,CoT推理的效果尤为显著。这意味着LLM必须掌握与特定任务紧密相连的知识,并且这些知识片段之间需要有强烈的相互联系,以便有效地支持CoT推理。
    (2) 另一方面,从上下文学习的视角来看,一系列研究致力于揭示CoT何时发挥最佳效果。这些研究发现,多样化的示例提示、与问题密切相关且逻辑顺序明确的推理步骤,都是激发CoT推理潜能的关键因素。
    (3) 此外,还有研究指出,在LLM的训练语料中融入专门的推理知识,能显著增强其CoT推理能力。研究表明,使用代码数据预训练或CoT风格数据进行微调,都能有效提高CoT的推理性能。

为什么CoT有效?

从经验上来看,有的研究认为CoT推理能力归功于LLM的新兴能力:语义理解、符号映射、话题连贯性、算术能力和忠实性。研究结果表明提示示例中错误的推理过程并不会导致显著的性能下降,即使在示例中提供了无效的推理步骤,大型语言模型(LLM)仍能生成连贯的推理步骤,并达到80-90%的性能。这表明,LLM在预训练之后已经具有了一定的推理能力,CoT更多是为LLM指定了一种输出格式,规范化模型生成,使其逐步生成。换句话说,CoT着重于让模型进行推理,而不是教模型进行推理
从理论上来看,通过实证研究,研究者们发现数据的局部结构特性对于提升CoT推理能力至关重要,当训练数据显示出与变量存在强烈的相互依赖关系时,CoT推理尤为有效。这意味着LLM需要包含与任务紧密相关且相互联系的知识片段。这些发现有力地表明,CoT可能有助于识别用于推理的知识片段,并通过中间推理步骤连接这些知识片段之间的关系。

CoT范式变化

了解了什么是CoT之后,让我们跟这下面这张主流CoT工作概览图,开启一段穿越CoT研究领域的旅程。

图:代表性CoT工作概览。

目前的工作基本聚焦于在如下三个关键方向上对CoT进行改进以及应用:

提示模式
提示模式主要可以分为两个组成部分:指令生成示例生成
指令生成主要关注于找到最佳的指令来提示LLM,使其进行逐步推理。这种方法旨在最大化LLM的零样本能力,用于零样本CoT(Zero-Shot-CoT)。我们可以根据生成过程,将指令生成划分为两种不同的方法:人工指令生成和自动指令生成。最常见的人工指令生成方法是在输入末尾拼接人工设计的指令“Let's think step by step”。自动指令生成的一般方法则是在LLM提出的一系列指令候选者中进行自动搜索来最大化得分函数,从而减少人工成本,生成更加高质量的指令。
示例生成则主要关注于找到最佳的输入-输出示例对,用于少样本CoT(Few-Shot-CoT)。与指令生成类似,示例生成也可以分为两类:人工示例生成和自动示例生成。人工示例生成通常采用人工设计的示例来使得模型进行少样本CoT(Few-Shot-CoT)。自动示例生成则通常根据问题的多样性,回答的不确定性等度量来进行自动采样少样本示例。

推理模式
推理模式主要可以分为三个组成部分:CoT构建、推理聚合和CoT验证
CoT构建侧重于将序列化的CoT转换为各种认知结构,如树状、图状或表格状格式,从而融入结构化的思维信息,如图所示。

CoT构建形式转变。我们按时间顺序展示了五种代表性的CoT构建方式:(i) 链式思维(CoT),(ii) 程序式思维(PoT),(iii) 表格式思维(Tab-CoT),(iv) 树式思维,(v) 图式思维。

推理聚合主要关注通过聚合大型语言模型(LLM)采样结果来提高LLM CoT推理的准确性。其中最常见的做法就是自我一致性检验(self-consistency),通过采样生成的不同推理过程再利用多数投票选择最一致的答案,从而答复提高CoT推理的准确性。

CoT验证最初侧重于通过多轮提问进行自我验证。后续工作涉及利用外部工具(例如信息检索、程序执行、计算器等)进行验证,从而提高模型的可靠性和回答的准确性。

应用场景
随着CoT技术的不断更新,CoT的应用场景也在不断地更新。应用场景的转变包括:(1)从单一语言扩展到多语言任务[Multlingual-CoT] (2)从单一语言模态扩展到多模态任务(例如,文本,图,图像等)

图:多模态CoT的构建。我们将CoT中的多模态分为两种类型:(i) 输入多模态[Multimodal-CoT; Graph-of-Thought(Input);Kosmos-1];(ii) 输出多模态[VCoT]

(3)从复杂推理任务(数学、常识和逻辑推理任务)转向通用任务(文本摘要[SumCoT],开放域问答[Self-Prompting LLMs],机器翻译[MAPS],医学[Med-PaLM],化学[ChemCrow])。

从CoT到语言智能体

至此,相信读者们已经对CoT有了全面而深入的认识。现在,让我们踏上旅程的新篇章,一起探寻CoT是如何赋能语言智能体(Language Agent),开启Agent的新纪元。

构建能够在特定环境中学习和采取行动的Agent,一直是人工智能的长期目标。基于大语言模型(LLM)的Agent,在CoT技术的赋能下,被广泛的应用于不同的领域,如系统控制、自然科学研究、代码生成、Agent交互等领域(如图所示)。

图:Agent代表性应用领域系统控制、自然科学研究、代码生成和Agent交互。

本文总结了一个从技术实践角度出发的语言智能体的一般框架,如图所示。在用户指令(instruction)的引导下,智能体需要在环境中通过多步交互,调用工具,从而完成任务。

图:语言智能体的一般框架。语言智能体能够遵循语言指令并在现实世界或模拟环境中执行行动。

文章还总结了语言智能体的代表性工作,如表所示。

表:代表性智能体的技术比较
LLM如何赋能Agent?

LLM作为Agent的主干模型 语言智能体可以基于单模态LLM或多模态LLM构建。为了完成任务,智能体需要在每个交互回合中提前规划、做出决策、执行行动。规划、决策和行动执行的过程则反映了LLM的推理能力,因为LLM被暴露于在LLM预训练期间不存在的现实世界或虚拟环境中。在这样的环境中,LLM必须感知学习世界的知识并采取行动,这类智能体拓展了语言模型在特定领域的竞争力,包括应用操作、网络搜索和网络购物。主流的语言智能体可以被分为两类:自主智能体交流智能体。典型的自主智能体包括AutoGPT、BabyAGI和AgentGPT。与自主智能体不同,交流智能体通常部署在沉浸式环境中,是具有人类行为的个性化和社交化智能体,能够进行交流、协作和辩论。典型的自主智能体包括Generative Agents、Voyager 和CAMEL。
LLM 环境感知 语言智能体的一个内在特征是与环境(操作系统、第三方应用、网页和虚拟环境等)进行交流、互动和进化。根据LLM是否有能力模拟多模态输入,我们可以将LLM感知环境的方法归类为:环境解析多模态感知
环境解析是指利用外部工具,如光学字符识别(OCR)和图标探测器将环境解析为文本元素(例如,HTML布局)作为LLM的输入。
相比之下,多模态感知,则是指使用多模态LLM同时处理不同模态的输入。构建多模态LLM的一种流行方法是使用简单的投影矩阵将预训练的大型视觉模型(例如,CLIP和BLIP-2)整合到LLM中。最近的研究还探索了将不同模态的输入建模到同一个向量空间中,从而实现图文交织的多模态表示学习。
LLM 工具使用 工具的使用可以被视为LLM能力边界的扩展,补偿推理所需的参数化知识,并使语言模型能够与环境互动。工具的应用包括知识库、搜索引擎、代码解释器、在线模型、应用程序、数据库,甚至为特定任务特别定制的工具。工具使用的目的包括三个方面:(1)真实环境中的动作执行 (2)外部知识获取 (3)推理,验证以及纠正

那么CoT又是如何融入语言智能体的框架之中的呢

CoT在LLM赋能的智能体的发展中起到了催化剂的作用,如图所示,CoT从感知、记忆、推理能力三个方面赋能智能体,从而使其能够更好地理解语言指令并在现实世界和模拟环境中进行交互。

图:CoT在感知、记忆和推理方面赋能的语言智能体框架。

CoT感知
采用CoT的方法来引导智能体逐步解释感知步骤,可以增强智能体对环境或上下文的理解,从而提高行动准确率。如图所示,CoT感知提示可以是“Let’s think step by step. I see unrelated search results in the Google app”。
然而智能体所处的环境通常会随着交互而发生改变,因此智能体不仅需要感知环境,同时还需要有效地利用环境的反馈。此外,当模型处于复杂的环境中,常常会生成错误的动作序列,导致任务执行失败并产生错误信息。解决这种问题的一种常用方法是:基于环境反馈的自我纠正。在这种情况下,智能体不仅需要理解环境线索,还必须接受错误信息并积极参与迭代的错误纠正过程。
多模态感知被视为实现人工通用智能的关键步骤之一。然而由于LLM优秀的推理能力,目前的智能体感知通常采用以语言为中心的感知方法,如图(a)所示。最常见的做法是采用不同的编码器被用来处理来自各种模态的输入。然后,再通过交叉注意力或者额外的适配层,将不同模态的嵌入与语言模型嵌入空间进行整合。这不禁促使我们思考:以语言中心感知是未来的趋势吗
与语言中心的感知方法相反,最近的研究通过将文本渲染为图像,提出了一种以图像为中心的方法(见图9(b))。为了更好地对齐不同模态的输入,并便于模型参数的扩展,最近的研究提出了一种联合建模方法(见图(c))。例如,在视觉-语言模态的背景下,不是使用单独的图像编码器,而是将图像patch视为token,与文本token的表征融合,实现无缝整合。

面对如此多的环境感知方法,如何选择最合适的方法依旧是一个巨大的挑战。这个困难来源于在代理与环境的互动中涉及更多样化和复杂的模态,例如听觉、触觉和脑信号。此外,这些模态通常伴随着数据不平衡问题,使感知过程复杂化。另外,多模态数据的类型和格式的多样性也带来了计算效率和模型可扩展性方面的挑战。

CoT记忆
我们将记忆模块分类为两种主要类型:短期记忆和长期记忆。
短期记忆是动态的,是在多轮交互中灵活变化的临时信息。短期记忆更具时效性,与当前状态有更密切的联系(例如,近期的聊天历史)。短期记忆提供明确的、最近的上下文来帮助智能体决策。短期记忆可以通过提示轻松地进行读写。
长期记忆是静态的,与短期记忆相比,长期记忆一般更为普遍通用(例如,对整个世界的宏观和抽象理解)。由于LLM的输入长度有限,长期记忆通常存储在数据库中,可通过各种检索方法访问,包括树搜索、文本搜索和向量检索。

CoT 推理
CoT推理的关键点在于我们需要为语言智能体精心设计CoT方法来缩小动作执行和状态观察之间的差距
目前的工作主要通过将思考、行动和观察互相交织结合,缩小了推理和行动之间的差距。通过LLM交织生成CoT推理过程行动,推理和行动之间实现了相互促进。推理轨迹帮助模型制定行动计划和处理异常情况,而行动则允许LLM获取外部知识资源(如知识库或环境)。
目前大部分工作都采用CoT提示的方法激发LLM与环境互动时的推理能力。这种做法的好处在于我们可以根据任务的要求和特点灵活的设计并调整提示的构建。然而,不同的提示会大大影响到LLM的性能,且目前缺乏LLM可以从提示中学习领域知识的证据。因此,纯粹的提示方法可能不足以使LLM泛化到新领域。
那么应该如何扩展智能体的能力
为了扩展语言代理的能力边界,近期的工作在精选数据集上对LLM进行微调,以构建有效的代理。结果表明当目标任务和数据格式已知且可以收集足够数据时(例如,使用GPT-4生成数据)微调语言模型,不仅可以实现强大的泛化和鲁棒性,还可以提高性能

与强化学习(RL)智能体相比,语言智能体有何新特点?

早期的智能体研究主要使用强化学习(RL)。RL智能体通过与环境的迭代交互来训练决策制定能力。具体来说RL智能体接收奖励或惩罚形式的反馈——正确的行为得到奖励,而错误的行为则受到惩罚。这一迭代过程旨在最小化错误并最大化正确决策。RL智能体的一个关键特征是:通过与环境持续交互从而获得自我进化的能力。然而,RL智能体泛化能力低,因为其通常严重依赖于专家数据和这对特定任务特定设计的奖励函数。此外,RL智能体的内部工作机制通常缺乏透明度和可解释性

与RL智能体不同,语言智能体则利用嵌入在大型语言模型(LLM)中的常识先验。这些先验减少了对人类标注和试错学习的依赖,使得语言智能体能够轻松适应新任务或环境,并通过CoT提供更好的可解释性。然而,语言智能体面临着在动态环境中更新参数的挑战,主要是因为它们主要通过提示或对LLM进行昂贵的微调来适应环境。

探索如何在强化学习(RL)智能体与语言智能体之间搭建桥梁,以便推动未来的智能体在复杂环境中既展现出强大的性能又具备高度的可解释性,还是一个亟需大家探索的方向。

表:强化学习智能体和语言智能体的优缺点对比

语言智能体发展还面临哪些挑战?

文章为读者总结了6点有前景的挑战,吸引读者更深入的探索

  1. 未知领域中的泛化能力
    将LLMs泛化至未知领域面临着两个挑战:(1)LLM知识常常局限于预训练阶段文本语料库上的知识,缺乏与物理世界的实质性互动。尽管提示和微调是提升LLM泛化能力的有效方法。然而,何时以及如何利用提示(例如,提示模式和推理格式)和微调(例如,指令微调)技术来帮助LLMs泛化到未见领域仍然是一个值得深入探索的方向。(2)不同的任务之间动作空间差异显著(例如,无人机控制与网络浏览)。这使模型的知识与特定任务要求对齐仍然是一个巨大的挑战。

  2. 智能体交互效率
    智能体完成任务需要与环境进行复杂的多步交互。这个过程产生了大量重复的日志,然而,由于计算限制,大多数研究只使用有限数量的日志步骤。一种有效的解决方案是采用记忆机制,用于存储和检索这些日志中的知识。然而,记忆机制的设计关键在于探索有效方法来辨别关键知识并从日志中提炼相关信息,从而提高智能体交互的效率。

  3. 个性化智能体设计
    用户具有专门的需求和个人特征。因此,从LMs构建个性化定制的智能体具有重要意义。开发可定制智能体的挑战仍然存在于三个方面:(1)现有研究主要关注于特定领域中的实际应用方法。然而,对用户具体需求的考虑较少。(2)对于用户级别的语言智能体的定制,与大规模、通用的训练不同,个性化智能体设计追求更少数据、参数或者仅采用提示方法。(3)用户的属性和记录(如年龄、性别和医疗记录)可能会暴露给智能体,导致隐私泄露的风险。

  4. 智能体规模
    扩大智能体的数量,构建大规模的语言模型社会,可以帮助研究者们观察社会现象。然而,在构建多智能体社会时,计算开销仍然是一个不可忽视的挑战。构建多智能体社会有两个富有潜力的探索方向:(1)一个独立智能体在交流沟通中可能出现的新能力;(2)由于智能体规模增大所带来的个性变化和社会现象。

  5. 智能体安全
    想象一个不远的未来,智能体能够与人类和其他智能体无缝协作,简化日常任务并与多样化的环境互动。这种便利伴随着一个重大挑战:如何确保智能体的安全性?例如,移动设备控制代理可能导致隐私泄露和权限滥用。此外CoT推理中潜在的偏见和有害性,也可能给语言智能体带来负面影响。本文总结了智能体安全风险的三个关键因素:(i)新的攻击类型,如通过环境注入、工具滥用、越狱和隐私泄露进行操作攻击;(ii)新的攻击角度:代理-人类、代理-代理、代理-环境的交互过程;(iii)复杂的环境,如操作系统、第三方应用、网页和虚拟环境。
    目前,对语言智能体的安全性研究尚不充分。对于智能体的安全定义还未形成统一标准,这为语言智能体设计的新型攻击方式提出了独特的挑战。同时,开发创新的防御策略来减轻这些复杂攻击引发的安全风险也是未来智能体安全研究的一个富有潜力的方向。

  6. 智能体评价
    如何评估语言智能体在不断变化的环境中的表现仍然是一个巨大的挑战。目前的数据集的主要关注点在于评测LLMs的理解和推理能力,这使得我们难以评估LLM在不同环境中的规划和决策能力。具体来说,任务成功的衡量标准是特定于任务的和模糊的。例如,在系统控制问题中,任务的完成可以采取许许多多不同的动作轨迹,我们很难将所有可能的方法都标注出来。除了评估任务成功率,评价智能体的安全风险也至关重要。此外,由于语言智能体可能在环境中进化,如何持续的跟踪和评估智能体也是一个挑战。


备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群

id:DLNLPer,记得备注呦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值