人工智能咨询培训老师叶梓 转载标明出处
大模型(LLMs)以其卓越的问题解决能力而闻名,这主要归功于它们内在的知识储备、强大的上下文学习能力以及零样本(zero-shot)能力。然而,这些基于LLM的智能体在长期推理和工具潜力的充分利用方面仍存在不足,尤其在处理复杂的现实世界推理场景时显得力不从心。为了克服这些限制,Baichuan Inc.的研究者们提出了一个名为Sibyl的LLM基础智能体框架,旨在通过高效利用最少的工具集来解决复杂的推理任务。
想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具(限时免费)。
1小时实战课程,您将学习到如何轻松上手并有效利用 Llama Factory 来微调您的模型,以发挥其最大潜力。
CSDN教学平台录播地址:https://edu.csdn.net/course/detail/39987
框架
设计哲学
Sibyl框架的核心设计哲学是减少复杂性,同时提升大模型智能体的功能能力。这一哲学通过几种战略性的方法实现,以重构大模型的操作。图1展示了Sibyl框架的整体流程。从用户查询开始,通过工具规划器、外部信息获取通道、全局工作空间,最终到达基于多智能体辩论的陪审团,生成响应。
传统的大模型智能体设置中,检索增强生成(RAG)常常因为检索过程的限制而导致信息丢失,这种限制可能会丢失长文本中块的顺序信息和连接,并且必须在信息精度和召回率之间进行权衡。Sibyl通过采用用户导向的浏览器界面来解决这个问题,从而摆脱了RAG的约束,转向更直观、类似人类的信息检索方法。这种信息收集形式至关重要,因为它保留了文本的关系动态,为智能体访问的数据保留了更多的上下文和深度。
最近的智能体框架,如AutoGen,使用对话作为不同模块之间的主要通信模式。这种设计旨在模仿人类的对话模式,使交互更加自然和用户友好。然而,对话是状态性的,可能会在会话中创建复杂的依赖关系,显著增加调试和提示工程的复杂性。Sibyl用无状态的、可重入的问答(QA)功能取代了这种对话,解耦了单个大模型推理请求。这种转变显著简化了系统的架构,便于维护和修改,同时允许每个组件独立操作,不受之前交互的遗留约束。
Sibyl将其功能集中在两个主要工具上:Web浏览器和Python环境。它使浏览器的界面更接近人类的交互模式,例如使用页面导航命令(页面上下滚动)、点击和搜索快捷方式(ctrl+f, ctrl+g)。这种方法摒弃了仅依赖于网络爬虫和全页面内容解析,旨在实现更选择性和相关的数据交互方法,模仿人类使用网络的模式。
Sibyl框架强调增强长期记忆、规划和错误纠正的能力——这些对于复杂的长距离推理至关重要。
Sibyl整合了一个全局工作空间,所有模块都共享这个空间,它从底层设计,存储信息时使用增量状态的表示语言。这种语言有选择地压缩过去的事件,只添加与解决问题相关的信息增量,而不是简单地附加所有传入的数据。
Sibyl总结了其工具的结果,并根据当前进度的评估来计划后续步骤。这涉及到战略性思考哪些信息是必要的,以及它们应该如何被处理。此外,Sibyl引入了一个“陪审团”机制,使用多智能体辩论格式进行自我批评和纠正。这个过程允许模型有效地利用存储在全局工作空间中的信息,以完善响应并确保准确的问题解决。
工具规划器 Sibyl中的工具规划器是一个专门设计的模块,用于选择最适合的(工具、功能、参数)三元组和参数来逐步解决传入的查询。给定规划提示,它评估给定的查询和任何相关的步骤历史,以确定最有效的工具、功能和参数以供执行。如果查询可以直截了当地解决,并且不需要额外的工具,规划器也可以选择“None”,表示该特定步骤不需要额外的工具。
外部信息获取通道 外部信息获取通道在增强智能体处理和利用信息的能力方面发挥着关键作用。它首先获得工具规划器的输出,指定要使用的工具、功能和参数。在接收到这些指令后,激活相应的工具来收集并返回所需的信息。
然后,该通道执行分析,提取和验证查询的相关信息。这包括:
分析工具结果,提取直接有助于回答问题的相关数据。 验证提取的信息是否准确和相关。 仅在它们提供独特且必要的信息时记录新事实。 决定工具结果是否足以回答问题,或者是否需要进一步收集数据。 如果当前步骤的信息不足,该通道计划后续步骤以收集更多数据,选择下一个工具和查询,有效地引导至最终目标。这个计划是详细的,专注于最小化不必要的步骤,并强调直接和高效的方法来收集所需信息。
鉴于获得的信息通常是冗长且嘈杂的,提出了一种表示语言来有选择地压缩信息,灵感来自Lee等人(2024)。与简单的数据附加不同,选择性压缩涉及仅整合那些直接有助于解决手头查询的信息。这与任务导向对话系统中的对话状态跟踪模块的目标完全一致,该模块旨在有选择地压缩与完成任务相关的过去信息。这种方法不仅最小化了数据冗余,还增强了系统记忆中信息的相关性和质量。具体来说,设计了一个结构化的输出,包括记录与历史相比的增量事实信息的部分,解释为什么选择下一步以及它如何有助于回答问题,以及下一步的详细计划。
多智能体辩论基础的陪审团 社会心智理论,由Marvin Minsky提出,为Sibyl框架中陪审团系统的设计理念提供了基础。它认为心智由许多半自治的智能体组成,每个智能体负责不同的智力操作方面,使复杂的认知过程从更简单、专门的进程之间的交互和协商中出现。这些智能体协同工作,尽管通过一个分散的协商和合作过程,很像一个社会。这启发了Sibyl框架中的多智能体辩论基础的陪审团机制,多个智能体可以讨论和分析问题,模仿Minsky心智智能体的合作但独立的交互。
在这里使用AutoGen(Wu等人,2023)的最小实现来实例化陪审团,定义了两个主要角色:
行动者:这个智能体试图回答问题,详细解释他们的思维过程,并批判性地考虑他人的反馈。 批评者:这个智能体的角色是识别行动者推理中的逻辑或智力错误。 这些角色允许结构化但灵活的互动,并在确保所提供响应的逻辑连贯性和智力完整性方面发挥着至关重要的作用。探索大模型智能体的不同组织形式的工作留待未来的工作,包括像咨询委员会这样的协作模型。
此外,Sibyl框架采用多数投票集成方法来增强输出答案的稳定性和质量。这种方法汇总了多个推理的决策或建议,使用它们的共识来最终确定答案。这种方法特别有效,可以减少智能体响应中的个别错误,从而实现更可靠和准确的问题解决。
全局工作空间 Sibyl中的全局工作空间概念深受全球工作空间理论的影响,该理论认为大脑由许多专业过程或模块同时运行,其中很大一部分在无意识中运作。注意力作为一个聚光灯,将这些无意识活动的一部分提升到全局工作空间中的意识觉知中。这个工作空间作为广播和整合信息的关键枢纽,允许其分布在各个模块中。这一理论背景激发了Sibyl框架中全局工作空间的设计,作为一个整合平台,促进了各种模块之间的无缝信息共享和对复杂问题的全面理解。
全局工作空间作为一个中心枢纽,不同的模块可以在这里广播它们的输出和见解。这种机制确保了尽管系统具有模块化特性,但在解决问题时仍能保持一致和统一的方法。此外,全局工作空间中的信息结构良好且去噪,这不仅确保了数据易于访问和操作,也简化了人类开发人员的调试和案例分析过程。
通过实施这个全局工作空间,框架支持复杂的信息处理和长推理序列,促进了从快速、反射性响应(系统1思考)到更深思熟虑和结构化的问题解决(系统2思考)的演变。
实验
Sibyl框架在GAIA数据集上的实验评估显示了其在处理复杂推理任务方面的能力。GAIA数据集专为通用AI助手设计,覆盖了与人类感知能力相关的任务,包括视觉、听觉和文本模式。这个数据集考验了智能体解决复杂推理任务的能力,这些任务往往需要多个步骤才能解决,与人类在现实世界中遇到的问题类似。这种设计突出了错误传播的影响,为基于大模型的智能体的问题解决和错误处理能力提供了有力的评估。
在Sibyl框架的实验设置中,使用了两个主要工具:一个Web浏览器和一个基于Python的代码解释器。为了平衡预算和时间成本,实验中仅使用了文本模式下的GPT-4o API,并将模型的最大推理步数限制为20。
表1和表2展示了Sibyl在GAIA测试集和验证集上的性能。Sibyl在更具挑战性的Level 2和Level 3场景中表现优于其他模型。这一改进尤为显著,因为这些问题需要更多的步骤来解决,证明了Sibyl在复杂推理过程中减轻错误传播的能力。此外,测试集和验证集之间的性能比较显示,Sibyl展现出了卓越的泛化能力。与AutoGen和FRIDAY相比,Sibyl从验证集到测试集的准确率下降较小,显示了Sibyl在不同操作环境中的鲁棒性。
表3显示了人类和Sibyl智能体在GAIA验证集上解决问题所需的平均步骤数。在Sibyl智能体正确的问题中,它在效率上一致超越了人类,在1至3级中使用的步骤显著减少。这显示了Sibyl有效简化决策过程的能力。图2进一步提供了洞见,它绘制了人类与Sibyl智能体在GAIA验证集中解决每个问题所需的步骤数。这些结果表明,尽管Sibyl智能体的推理步数限制为最多20步,但它展现出了高水平的推理效率,表明了强大的能力来减轻不必要的推理和抑制错误传播。
表4展示了在GAIA验证集上进行的消融研究结果,主要关注Sibyl框架中的两个主要组件:基于多智能体辩论的陪审团和基于多数投票的集成。结果显示,移除多智能体辩论组件在Level 1中导致了显著的性能下降,表明这一组件对于提高基本问题类型的准确性至关重要。然而,移除它并没有显著影响更具挑战性的Level 2和Level 3的性能。这表明,虽然多智能体辩论对于有效解决简单查询至关重要,但它并不显著影响更复杂推理任务的结果。为了评估集成组件的影响,报告了三次独立运行的平均准确率,以确保与集成配置的公平比较。个别运行的总体准确率分别为40.61、34.55和35.15,平均为36.77,与集成的总体性能40.00相比。虽然有一次运行略超过了集成结果,但集成通常提供了更稳定和一致的结果。这表明,尽管集成并不保证在每个实例中都有优越的性能,但它有效地增强了不同运行中结果的稳定性和可靠性。
从Sibyl的开发中获得的一些洞见包括:
-
复杂推理中的挑战:由于错误传播的高风险,现实世界应用中的复杂推理本质上是具有挑战性的。即使每一步的准确率达到80%,在整个20步中保持这种准确率的概率也骤降至仅约1%。这种错误风险的指数增长凸显了在推理的每一步中保持高准确率的关键性。此外,过多的错误可能导致一系列重试,消耗大量的上下文,淹没有用信息,并妨碍问题解决过程。
-
减轻错误传播的战略方法:将复杂推理分解为更简单、更易于管理的子步骤至关重要,因为提高每一步的成功率可以显著减轻错误传播。在这里,历史信息的选择性压缩起着关键作用,因为在Web导航和先前交互期间累积的大部分数据并不直接有助于解决问题。这种方法不仅简化了信息处理,而且还专注于维护最相关的数据,提高了整个系统的效率。
-
面向调试的设计的重要性:一个健壮的面向调试的设计对于降低调试成本和促进系统的快速迭代至关重要。通过限制状态的引入,并努力实现组件之间乃至单个大模型推理请求之间的解耦,系统的可维护性和适应性得到了显著改善。鉴于Sibyl遵循组合器模式,它可以无缝地作为低成本增强集成到现有框架中,轻松替换原始的GPT-4 API。这种设计使其在各种大模型应用中更加灵活。
-
优化工具使用:考虑到前面提到的复杂推理中的错误传播,优化现有工具往往比添加新工具更为关键。像Web浏览器这样的工具的潜力还远未完全实现;当前的大模型智能体在Web平台上的内容可见性和操作范围方面尚未达到人类的能力。增强这些工具以充分利用其能力可以显著提高性能和实用性,从而推动AI系统在复杂环境中的复杂性和有效性。
项目链接:https://github.com/Ag2S1/Sibyl-System
论文链接:https://arxiv.org/pdf/2407.10718