
卷疯了!2.2k Star通用型、开源Agent平替Manus、GenSpark AI
2025 年是 Agent 之年。AI 能力现在已经在多个领域达到了人类水平,我们都将拥有触手可及的代理团队,在我们的个人生活、工作及其他方面帮助我们。
随着代理群的到来,通过 MCP、A2A 和其他协议连接起来,我们认为这些协议的核心必须具有坚实、开放、透明和可审计的基础。对于真正重要的事情尤其如此——管理我们的健康、教育我们的孩子、协调我们的财务系统等等。这些可以集成专有和专家系统,以两全其美。
今天分享的 II-Agent,不仅在可用代理的基准中名列前茅,而且是完全开源的。 并且正在构建的更广泛的智能互联网系统的一个组成部分:数据集、模型、代理、集群和系统,这些系统将完全开放,以应对每个受监管的行业,并实现最大程度的采用和调整。
Agent爆发
自主 AI 代理的兴起标志着我们与技术交互方式的重大飞跃——从被动工具转变为能够独立执行复杂任务的智能系统。其中最突出的开发成果是 Manus 和 GenSpark AI,这两个尖端的闭源代理就是这种演变的例证:
Manus 于 2025 年 3 月正式推出。Manus 旨在自主桥接人类意图和任务执行,能够独立处理各个领域的复杂活动,包括数据分析、内容创建、编码和个人协助。借助多模式功能,它可以无缝处理和生成文本、图像和代码,并与浏览器、代码编辑器和数据库等工具顺利集成,以执行实时任务和工作流程自动化。Manus 通过用户互动不断适应,改进其方法以提供越来越个性化的结果。它在 GAIA 基准测试中取得了显着的表现,得分约为 65%,并在首次发布时声称是最先进的。它有效地应用于商业分析、教育内容生成、创意媒体和个人组织。
GenSpark AI 是一种创新的 AI 代理引擎,它通过采用多代理框架来生成针对用户查询量身定制的自定义实时“Sparkpages”,从而重新构想传统搜索。该系统中的每个 AI 代理都专注于不同类型的信息,为创建全面、公正的内容提供独特的见解。与将用户引导至现有网页的传统搜索引擎不同,GenSpark 综合来自各种知名来源的信息,提供不受商业影响或 SEO 驱动内容的综合结果。这些 Sparkpages 配备了 AI 副驾驶,可促进动态用户交互和对主题的更深入探索。通过最大限度地减少浏览多个链接和广告的需求,GenSpark 提供了更清晰、信息更丰富、更高效的数字体验,彻底改变了用户在线访问信息并与之交互的方式。
II-Agent,是一款通用的智能助手,旨在简化和增强跨多个领域的工作流程。以下是其核心功能的概述,包括与 Manus 和 GenSpark 提供的功能和性能相当的功能和性能:
核心能力
II-Agent 是一款多功能的开源助手,旨在提高跨领域的工作效率。从研究和内容创建到数据分析、编码、自动化和问题解决,它通过智能、结构化的支持来适应您的需求。深入了解更智能的工作流程,并帮助塑造开放、通用的 AI 的未来。
主要功能 | II-Agent 能做什么 |
研究与事实核查 | 多步骤 Web 搜索、源三角测量、结构化笔记记录、快速摘要 |
内容生成 | 博客和文章草稿,课程计划,创意散文,技术手册,网站创作 |
数据分析与可视化 | 清理、统计、趋势检测、图表和自动报告生成 |
软件开发 | 跨多种语言的代码合成、重构、调试、测试编写和分步教程 |
工作流程自动化 | 脚本生成、浏览器自动化、文件管理、流程优化 |
解决问题 | 分解、替代路径探索、逐步指导、故障排除 |
输出示例:
方法
II-Agent 系统代表了一种构建多功能 AI 代理的复杂方法,能够处理各种任务,从深入研究和数据分析到软件开发和交互式内容生成。我们的方法以强大的函数调用范式为中心,由强大的大型语言模型 (LLM) 驱动,并得到高级规划、综合执行能力和智能上下文管理的支持。这种设计理念受到该领域观察到的成功策略的启发,例如使用强推理模型(如 Anthropic 的 Claude 3.7 Sonnet)来完成复杂的编码任务 [3]。
1. 核心代理架构和 LLM 交互
II-Agent 的作核心是一个中央推理和编排组件,它与基础 LLM(特别是 Anthropic 的 Claude 3.7 Sonnet)直接且最佳地连接。代理的作周期是迭代的,并遵循以下几个关键原则:
- 系统提示:每个交互周期都从 LLM 收到全面的系统提示开始。此提示是根据当前作上下文动态定制的,包括有关代理工作区、底层作系统和临时数据(例如,当前日期)的信息。至关重要的是,它定义了代理的角色、其可用功能库、工具参与的明确规则(包括 Web 浏览、shell 命令执行、文件系统作和软件开发)、首选语言风格、内容生成指南、错误恢复协议以及其沙盒执行环境的详细信息。
- 交互历史管理:整个对话的时间顺序记录被精心维护。这包括用户提供的指令、代理的文本响应、代理调用的任何功能(工具)以及执行这些功能时观察到的结果。这段历史构成了 LLM 后续推理的主要背景基础。
- 智能上下文管理:专用的上下文管理系统在每次调用 LLM 之前分析交互历史记录。该系统估计当前对话的令牌占用情况,并在预定义的令牌预算(例如 120,000 个令牌)面临超出的风险时战略性地应用截断技术。这些技术旨在浓缩或总结对话的旧部分,同时优先考虑完全保留最新和相关的交流。
- LLM 调用和能力选择:LLM 通过此精选的对话上下文、总体系统提示以及当前可用功能或“工具”的动态更新清单来调用。
- 响应解释和工具执行:LLM 的输出可以表现为对用户的直接文本响应,或者更常见的是,表现为使用一个或多个可用功能的指令。我们当前的框架侧重于在每个推理周期处理单个功能调用,以确保有条不紊地执行。调用技能时,代理会识别并执行负责该作的相应内部模块。然后,此执行的结果被系统地记录回交互历史记录中,为下一个周期提供信息。
- 迭代细化和任务完成:这个推理、能力选择、执行和观察的循环迭代继续。当代理确定任务已完成(通常通过调用特定的“完成”功能发出信号)、达到最大轮次数或收到外部中断时,该过程将结束。
2. 规划与反思:结构化推理能力
II-Agent 高级问题解决能力的一个关键要素是其用于结构化规划和反思推理的专用机制。这种能力在概念上与 Anthropic 的 “think” 工具一致,该工具主张在复杂的工具使用场景中为元认知提供离散空间 [4]。这种显式的规划模块也被认为在软件工程等任务的高性能代理架构中至关重要 [3]。
这种结构化推理功能使代理能够:
- 将复杂问题分解为更小的可作步骤,从而通过复杂的任务实现系统化的进展。
- 通过清楚地阐明其内部推理过程,使其决策背后的逻辑透明且可审查,将其战略意图外化。
- 按顺序思考,逐步进步,同时保持足够的灵活性,以便在出现新的挑战或见解时重新制定计划。
- 反思以前的决策,当新信息表明更好的前进道路时,能够重新审视和修改以前的步骤。
- 探索替代策略,在需要时从其原始推理路线中分支出来,同时保持主要目标在眼前。
- 保持开放式和迭代性,即使在得出初步结论后也要继续思考,如果不确定性仍然存在或有更好的解决方案。
- 形成和测试假设,根据其推理链验证结果并重复该过程,直到得出令人满意的解决方案。
每次调用此规划功能都会在代理的交互历史记录中记录一个结构化的 “想法”。这为决策过程创建了透明的审计跟踪,这对于调试、了解代理行为和促进问题解决策略的迭代改进非常宝贵。
3. 执行能力:多功能工具包
II-Agent 被赋予了一组丰富的功能或“工具”,使其能够与环境交互、处理信息并生成不同的输出:
- 文件系统作:代理可以在其安全的指定工作区中查看、创建和修改文件。它的编辑功能非常复杂,支持精确的字符串替换和基于行的插入。一个关键功能是它能够在修改文件时智能地匹配和维护现有的代码缩进样式,这对于保持源代码的完整性和可读性至关重要。
- 命令行执行:代理可以访问持久性 shell 环境,使其能够执行任意 shell 命令。这种交互是稳健的 (通过 pexpect 或类似机制) 。该系统支持命令筛选,允许对命令进行透明修改或包装,例如,将执行重定向到容器化环境。这提供了一种灵活且安全的方式来管理依赖关系和执行上下文,这种技术也因其在标准化代理评估中的实用性而受到关注[3]。
- Web 交互:
导航和管理浏览器会话:包括导航到 URL、创建和在选项卡之间切换。
模拟用户交互:例如单击元素、在表单字段中输入文本、滚动和按键盘键。
捕获和分析浏览器状态:每次作后,都会截取屏幕截图并将其返回给代理。代理使用其视觉功能分析屏幕截图以了解页面并确定下一步作,例如单击按钮或字段。
- 初始信息检索:为了快速收集信息,代理利用工具执行 Web 搜索(例如,通过 Tavily API、SerpAPI、FireCrawl)并从指定的 URL 中提取主要文本内容。如果此提取的内容足以完成任务,则可以避免进一步的浏览器作,从而优化速度和效率。
- 高级浏览器自动化:当任务需要的不仅仅是文本输入,例如视觉解释或网页交互时,II-Agent 会利用一组高级浏览器自动化工具。这些是建立在 [10] 之上的,它利用 lmnr-ai/index [11] 以及语言模型(例如 Claude Sonnet 3.7 或 GPT-4o)的视觉功能,使代理能够:
- 任务完成:专用功能允许代理正式发出已完成分配任务的信号,并提供合并的最终答案、摘要或一组可交付成果。
- 专业能力:代理的体系结构专为可扩展性而设计,可以合并适用于各种模式的专用工具。当前的高级功能包括 PDF 文本提取(利用 pymupdf)、音频转录和语音合成(通过 Azure 上的 OpenAI 模型)、图像生成(在 Vertex AI 上使用 Google 的 Imagen 3)以及从文本生成视频(通过 Vertex AI 上的 Google Veo 2)。
- 深度研究整合:虽然 Claude 3.7 Sonnet 在编码和顺序规划方面表现出色,但他们执行长时间复杂推理和解决困难数学问题的能力仍然不如人意。因此,为了进一步提高 II-Agent 的能力,我们将 II-Researcher [12] 扩展为可用于增强 II-Agent 能力的研究工具。
4. 上下文管理
在可能漫长而复杂的交互中有效管理 LLM 的有限上下文窗口至关重要。II-Agent 实现了一个复杂的上下文管理系统来解决这个问题:
- Token 使用预估:该系统采用令牌计数机制来估计发送到 LLM 的对话历史记录的大小。这通常涉及启发式方法(例如,文本的字符与标记比率)和富媒体(如图像)的特定计算。
- 战略截断:当估计的令牌数量接近 LLM 的运营预算时,将应用截断策略:
标准截断:基线方法包括总结或省略旧工具输出或内部代理审议的内容。此策略优先考虑保留对话中最近轮次的完全保真度,因为这些轮次通常与下一步最相关。
针对大型输出的基于文件的存档:对于可以产生异常详细的输出(例如网页的完整文本内容)的功能,采用更高级的策略。完整内容不是直接包含在 LLM 的直接上下文中,而是将完整内容存档到代理专用工作区中的文件中。然后,对话历史记录会使用指向此存档文件的紧凑占位符或参考标记(例如,[内容保存到:])进行更新。这允许代理“记住”信息的存在,并且可以在后续步骤中明确需要时通过读取文件来检索它,而不会持续消耗 LLM 活动上下文窗口的大部分。该技术对于涉及大量数据处理或审查的任务特别有价值,与在复杂的软件工程工作流中管理大型工件的实践保持一致 [3]。
上下文管理系统透明地记录通过这些策略实现的代币节省,帮助分析和优化代理的对话效率。
5. 实时通信和交互
II-Agent 使用 WebSockets 整合了实时通信接口,以促进交互式用例。它通常使用 FastAPI 等框架实现。
- 连接到 WebSocket 服务器的每个客户端都会实例化一个专用的隔离代理实例。这些实例在其安全的工作区中运行,通常映射到文件系统上的唯一子目录,确保并发会话不会干扰。
- 代理利用内部消息队列将重要的作事件(例如思考步骤的启动、工具调用、工具执行的结果或浏览器状态更改)流式传输回连接的客户端。这通过提供对代理正在进行的活动的实时可见性来实现响应式用户体验。
- 服务器架构通常还包括用于辅助功能的 API 端点,例如允许用户将文件直接上传到其特定代理的工作区、提供必要的输入或资源。
基准:
- 基准:我们的模型在GAIA 基准上进行评估,旨在评估在现实场景中运行的基于 LLM 的代理。GAIA 基准测试在多个维度上测试代理的能力,包括多模式处理、工具利用率和 Web 搜索,需要不同的自主性和复杂性。
- 评估指标:遵循 GAIA 基准,我们采用准确性作为我们的主要评估指标。
- 继 OpenAI Manus 之后,我们也将验证集用于我们的基准测试
II-Agent 在 GAIA 上的表现:
本文转载自CourseAI,作者:CourseAI
