综合介绍
Agent S 是由 Simular AI 开发的开源框架,让智能体通过图形用户界面(GUI)像人类一样操作电脑。它使用多模态大语言模型和经验学习技术,能完成浏览网页、编辑文档、使用软件等任务。项目在 GitHub 上开源,开发者社区活跃。Agent S1 的论文已于 2025 年被 ICLR 接受,Agent S2 在 2025 年 3 月发布,性能超越 OpenAI 和 Anthropic 的类似工具。它支持 macOS、Windows 和 Linux,适合自动化办公、软件测试和 AI 研究。
功能列表
- 图形界面操作:模拟鼠标和键盘,与电脑软件互动。
- 任务分解与规划:将复杂任务拆成小步骤,自动执行。
- 经验学习:从历史任务中学习,提高效率。
- 跨平台支持:可在 macOS(一键安装包)、Windows 和 Linux 上运行。
- 多模态输入:结合屏幕图像和界面元素,精准操作。
- 开源定制:提供源代码和文档,开发者可自由调整。
- 知识库更新:运行时持续更新经验数据,提升智能性。
使用帮助
Agent S 是一个面向开发者的开源工具,安装和使用需要一定编程基础。以下是详细步骤和功能操作说明,帮助用户快速上手。
安装流程
- 准备环境
- 安装 Python 3.9 到 3.12。
- 安装 Git,用于下载代码。
- 可选:准备虚拟机(如 VMware),用于测试或隔离环境。
- 下载代码
- 打开终端,运行:
git clone https://github.com/simular-ai/Agent-S.git
- 进入项目目录:
cd Agent-S
- 打开终端,运行:
- 安装依赖
- 创建虚拟环境(推荐):
python -m venv venv source venv/bin/activate # macOS/Linux venv\Scripts\activate # Windows
- 安装核心库:
pip install gui-agents
- 设置环境变量(如 API 密钥):
export OPENAI_API_KEY=<你的密钥> export ANTHROPIC_API_KEY=<你的密钥> export HF_TOKEN=<你的Hugging Face密钥>
- 创建虚拟环境(推荐):
- 启动 Agent S
- 运行 Agent S1 或 S2:
agent_s1 # 运行 Agent S1 agent_s2 # 运行 Agent S2
- 启动后,输入任务即可开始使用。
- 运行 Agent S1 或 S2:
主要功能操作
图形界面操作
- 功能说明:通过屏幕截图和界面识别,模拟人类操作。
- 操作步骤:
- 运行
agent_s2
。 - 输入任务:“打开记事本并输入‘你好’。”
- Agent S2 找到记事本图标,点击打开,然后输入文字。
- 按 Ctrl+C 可随时停止。
- 运行
任务分解与规划
- 功能说明:将复杂任务拆解为小步骤,逐步完成。
- 操作步骤:
- 输入:“发送一封邮件给朋友。”
- Agent S2 自动执行:打开邮件软件、新建邮件、填写内容、点击发送。
- 用户可在终端查看每步日志。
经验学习
- 功能说明:记录任务过程,优化后续操作。
- 操作步骤:
- 完成任务后,经验保存在
gui_agents/kb
文件夹。 - 再次运行相似任务,效率会提升。
- 开发者可检查知识库文件,了解学习内容。
- 完成任务后,经验保存在
特色功能操作
跨平台支持
- 功能说明:支持三大主流操作系统。
- 操作步骤:
- Windows 需要安装
pywin32
和pywinauto
。 - macOS 需要
pyobjc
,用pip install pyobjc
安装。 - Linux 检查
pyautogui
兼容性,可能需调整权限。
- Windows 需要安装
多模态输入
- 功能说明:结合图像和界面数据,提高操作准确性。
- 操作步骤:
- 输入:“在浏览器中搜索‘天气’。”
- Agent S2 分析屏幕,找到浏览器窗口,输入搜索词。
- 结果自动显示。
知识库下载
- 功能说明:Agent S2 使用预训练知识库,支持离线运行。
- 操作步骤:
- 首次启动时,自动从 GitHub Releases 下载知识库。
- 手动下载示例:
download_kb_data(version="s2", release_tag="v0.2.2", download_dir="kb_data", platform="linux")
- 知识库路径在
kb_data
文件夹。
高级配置
集成 Perplexica 搜索
- 功能说明:增强 Agent S 的网页知识检索能力。
- 操作步骤:
- 安装 Docker Desktop 并启动。
- 下载 Perplexica:
cd Perplexica git submodule update --init
- 重命名
sample.config.toml
为config.toml
,填写 API 密钥。 - 启动服务:
docker compose up -d
- 设置 Perplexica URL:
export PERPLEXICA_URL=http://localhost:端口/api/search
自定义模型
- 功能说明:支持多种大模型和自定义端点。
- 操作步骤:
- 使用 Claude 模型:
agent_s2 --model claude-3-7-sonnet-20250219
- 使用 Hugging Face 端点:
agent_s2 --endpoint_provider "huggingface" --endpoint_url "<端点URL>/v1/"
- 使用 Claude 模型:
注意事项
- 首次运行需联网下载依赖和知识库。
- Linux 用户避免使用 Conda 环境,可能干扰
pyatspi
。 - 详细文档在
README.md
和models.md
中。
应用场景
- 办公自动化
Agent S 能自动填写表格、发送邮件,减少重复工作。 - 软件测试
模拟用户操作,测试软件在不同系统上的稳定性。 - AI 研究
研究者用它探索智能体与电脑交互的技术原理。
QA
- Agent S2 和 S1 有什么区别?
S2 是 S1 的升级版,性能更强,支持更多基准测试,如 OSWorld 和 AndroidWorld。 - 需要一直联网吗?
首次安装和下载知识库需要联网,之后可离线运行。 - 如何联系社区支持?
加入 Discord 服务器(https://discord.gg/E2XfsK9fPV)或在 GitHub 提交 issue。
Agent S2 技术细节公布:面向通用计算机操作的组合式 AI 框架
构建能够像人类一样熟练使用计算机的智能体,是通往通用人工智能(AGI)道路上的关键挑战之一。这类任务涵盖了从执行开放式数字任务到通过图形用户界面(GUI)导航不熟悉应用程序的广泛场景,其问题空间具有庞大、充满噪声和高度动态的特点。近日,关于 Agent S2
的技术论文正式发布,该研究提出了一个模块化的框架,并在多个计算机使用基准测试中取得了领先性能。
Agent S2
的相关代码已于此前开源。此次发布的技术论文(可于 arXiv 获取)则深入介绍了该系统的核心理念与架构设计。相关研究团队 Simular AI 此前也发布过一篇面向非专业读者的介绍性文章。
Agent S2 概览:组合式智能设计
Agent S2
的核心设计理念是将复杂的计算机操作任务分解,并非依赖单一的、庞大的模型来完成规划、行动和屏幕交互理解的所有工作,而是将这些职责分配给通用规划模块(generalist)和专门化的执行/理解模块(specialist)。这种组合式架构旨在模拟人类专家团队的工作方式:高层规划者、低层执行者以及界面交互专家协同工作。
Agent S2 架构图:结合了通用规划器与专业化的基础模块。
Agent S2
的关键特性包括:
- 混合基础模型 (Mixture of Grounding, MoG): 利用一套基础专家模型(包括视觉、文本和结构化信息提取)来准确定位 GUI 元素。例如,处理电子表格时可能侧重结构化数据,而点击按钮时则依赖视觉定位。这种设计将交互理解(Grounding)从规划(Planning)中解耦,有效降低了问题的复杂度,使其更符合当前通用推理模型和专用视觉基础模型的训练分布。
- 主动分层规划 (Proactive Hierarchical Planning, PHP): 该框架能够根据环境反馈动态调整和细化其计划,而不是 rigidly 遵循预设脚本。这使得智能体能更灵活地应对预期之外的情况。
基准测试结果:跨平台性能领先
论文数据显示, Agent S2
在广泛使用的 OSWorld
基准测试中设定了新的性能记录。 OSWorld
主要评估 AI 智能体在模拟操作系统环境中完成文件管理、软件使用、信息检索等多样化任务的能力。
OSWorld 基准测试成功率对比。
此外, Agent S2
在其他平台上也展现出良好的泛化能力:
- WindowsAgentArena: 这是一个专注于 Windows 环境下复杂交互任务的基准。
Agent S2
在此测试中的表现,相较于之前的最佳公开结果 (SOTA),提升了 52.8%。 - AndroidWorld: 该基准测试衡量在 Android 移动操作系统上的任务完成能力。
Agent S2
的表现在此也优于之前的 SOTA 结果,提升了 16.5%。
OSWorld 上的成功率表现,显示 Agent S2 优于先前方法。
WindowsAgentArena 上的成功率表现。
设计创新:MoG 与 PHP 的协同作用
许多现有计算机智能体在实际应用中面临的主要挑战源于不准确的界面元素理解(即“基础 grounding”问题)或过于僵化的计划执行流程。 Agent S2
通过其两大核心设计来应对这些问题:
- 混合基础模型 (MoG): MoG 机制能够根据当前的交互需求,智能地将任务路由给最合适的专家模型。例如,识别并操作电子表格单元格时,可能会调用基于结构分析的专家;而在点击一个视觉特征明显的按钮时,则切换到视觉基础模型。将基础交互理解与高层任务规划分离,实质上是将一个复杂问题分解为两个相对更简单、更易于模型处理的子问题。
- 主动规划 (PHP): PHP 模块使智能体能够持续地根据环境中的新观察信息来调整子目标和行动计划。这种适应性模仿了人类在执行任务时,当情况发生变化后重新评估和修正计划的行为模式。
示例:Agent S2 在交互中自我纠正,从视觉基础模型切换到文本基础模型。
扩展性与错误恢复能力
研究表明,在需要执行更长序列操作的任务中, Agent S2
的组合式架构相比于单一模型(monolithic models)展现出更好的扩展性。其动态适应和自我修正能力使其能够在初步行动未达预期效果时调整策略,从而提高复杂任务的完成率。单一模型往往在长序列任务中更容易因累积误差或规划僵化而失败。
Agent S2 在长时序任务中保持性能的原因:自适应导航、交互与纠错机制。
超越桌面环境:在 Android 平台的泛化表现
尽管 Agent S2
的主要开发目标是桌面环境的智能体,但其框架设计在移动环境中也显示了良好的泛化能力。在 AndroidWorld
基准测试中的领先表现证明了其核心理念(如 MoG 和 PHP)对于不同类型 GUI 环境的适用性。
Agent S2 在 AndroidWorld 智能手机使用基准测试中达到领先水平。
模块化智能体的进展
Agent S2
的研究结果表明,组合式设计不仅是一种架构上的选择,更可能是构建能够稳健地、类人地操作计算机的智能体的有效途径。这项工作为未来在 AI 规划、基础交互理解(grounding)以及多模态协调方面的研究开辟了新的可能性。