⏶6
Alita:实现可扩展代理推理的通用代理,具有最小预定义和最大自我进化
发表
由
Xinzhe Juan 提交
作者:
Jiahao Qiu, Xuan Qi, Tongcheng Zhang,
Xinzhe Juan,
Jiacheng Guo, Yifu Lu,
Yimin Wang,
Zixin Yao,
Qihan Ren, Xun Jiang, Xing Zhou,
Dongrui Liu, Ling Yang, Yue Wu,
Kaixuan Huang,
Shilong Liu,
Hongru Wang,
Mengdi Wang



摘要
大型语言模型(LLMs)的最新进展使得代理能够自主执行复杂、开放式的任务。然而,许多现有框架严重依赖手动预定义的工具和工作流程,这阻碍了它们在不同领域的可适应性、可扩展性和泛化能力。在这项工作中,我们引入了 Alita——一种以“简单是终极的复杂”("Simplicity is the ultimate sophistication")为原则设计的通用型代理,通过最小的预定义和最大的自我演化来实现可扩展的代理推理。对于最小的预定义,Alita 只配备了一个用于直接解决问题的组件,这使得它比以往依赖于手工精心制作的工具和工作流程的方法简单和整洁得多。这种简洁的设计增强了它泛化到挑战性问题的潜力,而不受工具限制。对于最大的自我演化,我们通过提供一套通用组件来激发 Alita 的创造力,使其能够通过从开源生成任务相关的模型上下文协议(MCPs)来自主构建、改进和重用外部能力,这有助于可扩展的代理推理。值得注意的是,Alita 在 GAIA 基准验证数据集上取得了 75.15% 的 pass@1 和 87.27% 的 pass@3 准确率,在通用型代理中名列前茅;在 Mathvista 和 PathVQA 上分别取得了 74.00% 和 52.00% 的 pass@1 准确率,表现优于许多复杂程度远超它的代理系统。更多详细信息将在 https://github.com/CharlesQ9/Alita{https://github.com/CharlesQ9/Alita} 更新。
Alita 在 GAIA 基准测试验证数据集上取得了 75.15% 的 pass@1 和 87.27% 的 pass@3 准确率,在通用代理中名列前茅。
依赖于大规模手动预定义的工具和工作流程会引入几个关键的局限性:
覆盖不全: 预定义代理可能遇到的各种现实世界任务所需的所有工具是不切实际的,甚至是不可能的。
创造力和灵活性有限: 许多复杂任务需要代理创造性地组合新工具或以新颖的方式利用现有工具,而预先设计的工作流程和硬编码的组件限制了这种组合的灵活性,并阻碍了自适应行为的发展。
不匹配: 不同工具的接口或环境并非总是与代理兼容。例如,许多有用的工具并非用 Python 编写,这使得它们很难(尽管并非完全不可能)预先连接到主要用 Python 编写的主流代理框架。
总而言之,这些挑战最终阻碍了现有通用代理的可扩展性、适应性和泛化能力。
与日益复杂的主流趋势相反,我们提出了一种基于两个原则的极其简单的设计理念:
最少预定义: 只为代理配备最少的核心能力集,避免为特定任务或模态手动设计组件。
最大程度的自我进化: 使代理能够根据需要自主创建、完善和重用外部能力。
我们通过 Alita 实现了这一愿景,它是一个通用代理,只构建了一种核心能力(即 Web 代理)和一小组通用模块,这些模块能够实现自我导向的能力扩展。具体来说,我们利用了模型上下文协议(MCPs),这是一种开放协议,它标准化了不同系统如何为大型语言模型提供上下文,并使 Alita 能够根据每个任务的需求动态生成、调整和重用 MCPs,而不是依赖静态的、预定义的工具。这种从手动设计能力到即时 MCP 构建的转变,为构建简单而功能强大的代理开辟了一条新道路。
Alita 生成的 MCP Box 具有两个好处。
更强的代理教导更弱的代理: 这些 MCPs 可以被其他更弱的代理重用并提高它们的性能,因为 Alita 通过试错设计了一套适合 GAIA 的有用 MCPs,而不是人类开发者。
拥有更大 LLMs 的代理教导拥有更小 LLMs 的代理: 这些 MCPs 也可以被拥有更小 LLMs 的代理重用,并显著提高性能。