微信扫码
添加专属顾问
我要投稿
Agent-S,一个革命性的智能代理框架,让计算机操作更自然、高效,成功率提升83%!核心内容:1. Agent-S项目概述:自然语言交互,提升人机交互体验2. 主要功能:多任务处理、跨平台支持、记忆与学习、实时反馈与调整3. 技术原理:经验增强的分层规划,实现任务高效执行
在人工智能技术飞速发展的当下,多模态大语言模型(MLLM)取得了显著突破,智能代理(Agent)技术随之成为研究与应用的热点领域。Simular AI 推出的开源智能代理框架 Agent-S,旨在通过自然语言交互实现对计算机的高效控制,为用户带来更加自然、高效的人机交互体验。
Agent-S 是一个聚焦于通过自然语言控制计算机操作的开源智能代理框架。它巧妙融合多模态大语言模型(MLLM)的强大能力与图形用户界面(GUI)操作,使其能够像人类一样娴熟地完成复杂计算机任务。Agent-S 的核心愿景是攻克传统自动化工具在灵活性与适应性上的短板,为用户打造一种全新的、直观的人机交互模式,从而在提升工作效率、优化操作体验等方面发挥重要作用。
1. 自然语言交互:Agent-S 支持用户以自然语言形式下达指令,例如 “打开浏览器并搜索最新 AI 论文”,这一功能打破了传统命令行或菜单操作的局限,使用户能够以更加直观、便捷的方式与计算机进行沟通,尤其对于非专业用户或不熟悉复杂操作流程的用户而言,极大地降低了使用门槛,提升了操作效率。
2.多任务处理:Agent-S 能够将复杂的任务分解为多个相互关联的子任务,并按照合理的顺序逐步执行。例如,在处理 “分析竞争对手产品特点并生成报告” 这一任务时,它会先打开浏览器搜索相关信息,再整理数据、启动办公软件进行报告撰写等,这种多任务处理能力使其能够应对各种复杂的工作流程,满足用户多样化的需求。
3. 跨平台支持:Agent-S 兼容 Windows、macOS 和 Linux 等多种主流操作系统,这为其在不同用户群体、不同工作环境中的广泛应用奠定了坚实基础。无论用户使用的是何种操作系统,都能享受到 Agent-S 带来的高效人机交互体验,无需因平台差异而担忧兼容性问题,有力地促进了技术在不同领域的普及与推广。
4. 记忆与学习:Agent-S 拥有叙事记忆和情景记忆两大记忆模块。叙事记忆负责存储高级别的任务经验,如过往完成类似任务的整体流程和策略;情景记忆则记录具体的子任务执行细节,如在某个特定任务中如何处理特定的文件格式或解决特定的软件问题。通过这些记忆模块,Agent-S 能够对过去的任务经验进行有效的存储与检索,从而在后续的任务执行中不断优化操作策略,提升任务完成的质量和效率,实现自我进化与提升。
5. 实时反馈与调整:Agent-S 能够根据任务执行过程中的反馈实时调整操作策略。例如,当用户在执行文件下载任务时,若网络出现波动导致下载中断,Agent-S 能够自动检测到这一情况,并尝试重新连接或切换下载源,确保任务的顺利进行,这种实时反馈与调整能力使其在面对动态变化的环境时表现出色,能够灵活应对各种突发情况,提高任务的成功率。
1. 经验增强的分层规划:Agent-S 采用经验增强的分层规划策略,将复杂任务层层分解为多个子任务,并结合在线网络知识和内部经验进行综合规划。在规划过程中,它不仅参考当前网络上的最新信息,还充分调动自身存储的任务经验,从而制定出更加科学、合理的任务执行方案。
2. Agent-Computer Interface(ACI):ACI 是 Agent-S 实现高效人机交互的核心组件之一,它以语言为中心,通过屏幕截图和可访问性树(Accessibility Tree)为 Agent 提供丰富的视觉信息,帮助其准确理解计算机环境并精准执行操作。屏幕截图能够直观地展示当前界面的布局和内容,而可访问性树则提供了界面元素的层次结构和属性信息,使 Agent 能够像人类一样识别按钮、文本框等界面元素的位置和功能。
3. 记忆模块:Agent-S 的记忆模块包括叙事记忆和情景记忆,二者协同工作,为其提供了强大的学习与适应能力。叙事记忆存储高级别的任务经验,如同人类对过去完成过的项目或经历过的事件的整体回忆,当面临类似任务时,能够快速调用这些经验,为任务规划提供参考;情景记忆则记录具体的子任务执行细节,类似于人类对特定场景下具体操作的记忆,有助于 Agent 在遇到相似情况时迅速做出准确的反应和处理。
4. 实时反馈与自我评估:Agent-S 在任务执行过程中,通过持续观察界面变化等反馈信息,实时评估任务执行的效果,并据此调整操作策略。同时,它会将成功的任务经验及时存储到记忆模块中,为后续类似任务的执行提供参考。这种实时反馈与自我评估机制,使 Agent-S 能够在动态变化的环境中保持高效、稳定的工作状态,不断提升自身性能,更好地满足用户需求。
Agent-S 在多个权威基准测试中展现出了卓越的性能表现。以 OSWorld 基准测试为例,它将 Agent-S 与其他同类智能代理技术进行了全面对比。在该测试中,Agent-S 的成功率从 11.21% 显著提升至 20.58%,相对提升幅度高达 83.6%,这一成绩不仅超越了众多竞争对手,还确立了新的最佳水平,充分彰显了其在处理复杂任务方面的强大能力。此外,在 WindowsAgentRena 测试中,Agent-S 的成功率也从 13.3% 提升至 18.2%,再次证明了其在不同测试环境下的稳定性和优越性。这些优异的性能表现,得益于 Agent-S 先进的技术架构和独特的设计理念,使其能够在任务执行的准确性、效率和适应性等方面全面领先,为用户带来更加出色的使用体验。
1. 办公自动化:在日常办公场景中,Agent-S 可以帮助用户高效完成各种重复性、繁琐的任务。例如,自动处理大量 Excel 表格数据,包括数据的整理、分析、生成可视化图表等操作。对于需要频繁处理报表的财务人员或数据分析师而言,Agent-S 能够显著节省时间,提高工作效率,让他们能够将更多的精力投入到核心业务分析和决策中。
2. 系统设置:对于不熟悉计算机系统设置的普通用户,Agent-S 可以轻松完成诸如在 Windows 下启用夜间模式、调整屏幕分辨率,或在 Mac 下关闭自动保存、优化系统性能等操作。它能够通过自然语言指令引导用户完成复杂的系统设置流程,避免用户因误操作而导致系统问题,提升用户体验的同时,也降低了技术支持的成本。
3. 多应用工作流:在涉及多个软件协同操作的复杂工作流中,Agent-S 能够发挥重要作用。例如,在设计行业中,设计师可能需要在图像处理软件、绘图软件、排版软件等之间频繁切换,完成从创意构思到最终作品输出的整个流程。Agent-S 可以根据用户指令,自动协调这些软件的操作,如将图像处理结果自动导入到排版软件中指定位置,实现工作流的无缝衔接,提高设计效率和质量。
4. 教育与培训:在教育领域,Agent-S 可以作为辅助教学工具,帮助学生快速掌握各种软件的操作技巧。例如,在计算机编程课程中,教师可以利用 Agent-S 演示编程环境的搭建、代码的编写与调试等操作流程,学生通过观察和模仿 Agent-S 的操作,能够更加直观地理解软件的使用方法,加速学习进程
5. 智能客服:在企业客服中心,Agent-S 可以集成到客服系统中,自动处理客户的常见问题咨询和简单业务办理。例如,当客户询问产品相关信息、订单状态查询或申请售后服务时,Agent-S 能够快速准确地从企业知识库中提取信息,通过自然语言与客户进行沟通交流,解答客户问题,办理相关业务。这不仅能够提高客服响应速度,降低人力成本,还能确保客户服务的质量和一致性,提升客户满意度。
6. 数据分析与挖掘:对于数据科学家和研究人员,Agent-S 可以协助完成数据采集、清洗、预处理以及初步的数据分析工作。例如,自动从多个数据源(如数据库、网页、文件等)采集数据,按照预设规则进行数据清洗和转换,生成数据统计报表和可视化结果,为后续深入的数据挖掘和建模分析提供有力支持,加速科研和数据分析项目的进展。
在开始之前,请确保您的计算机满足以下条件:
- 操作系统:Windows、macOS 或 Linux
- Python 已安装(推荐 3.8 及以上版本)
- Git 已安装
- 对于 Linux 用户,建议直接在系统环境下进行操作,避免使用 conda 环境,因为 conda 可能会与 `pyatspi` 库产生冲突
1. 克隆仓库
打开终端(Windows 用户可以使用 Git Bash),输入以下命令克隆 Agent-S 的 GitHub 仓库:
git clone https://github.com/simular-ai/Agent-S.git
这将把 Agent-S 的项目代码下载到您的计算机中。
2. 安装依赖项
进入项目目录,安装所需的依赖包:
cd Agent-S
pip install -r requirements.txt
如果您在安装过程中遇到权限问题,可以在命令前添加 `sudo`(Linux 和 macOS)或以管理员身份运行终端(Windows)。
3. 设置环境变量
Agent-S 需要访问语言模型的 API,因此需要设置 API 密钥。
对于 Linux 和 macOS 用户:
打开终端,输入以下命令设置环境变量:
export OPENAI_API_KEY="your_api_key_here"
如果希望每次开机自动设置该变量,可以将其添加到 `~/.bashrc`(Linux)或 `~/.zshrc`(macOS)文件中。
对于 Windows 用户:
打开命令提示符或 PowerShell,输入以下命令:
setx OPENAI_API_KEY "your_api_key_here"
该命令会将变量永久保存在系统环境中。
注意:请将 `"your_api_key_here"` 替换为您实际的语言模型 API 密钥。如果您使用的是 OpenAI 的模型,可以前往 OpenAI 官网获取 API 密钥。如果您使用其他模型(如 Azure OpenAI、Anthropic 等),请根据项目文档中的说明设置相应的环境变量。
4. (可选)配置 Web 检索功能
如果您希望 Agent-S 能够访问网络知识,可以配置 Web 检索功能。这需要安装 Docker Desktop 并运行相关服务。具体步骤如下:
安装 Docker Desktop 并确保其正在运行。
在项目目录下,执行以下命令:
cd Perplexica
git submodule update --init
将 `sample.config.toml` 文件重命名为 `config.toml`,并根据您的需求填写相关字段,如 API 密钥等。
返回项目根目录,执行以下命令启动服务:
docker-compose up
这将启动 Web 检索服务,使 Agent-S 能够访问网络知识。
5. (可选)配置 OCR 服务
如果您需要使用光学字符识别(OCR)功能,可以按照以下步骤配置 OCR 服务:
打开新终端,进入项目目录。
设置 OCR 服务地址环境变量:
export OCR_SERVER_ADDRESS="http://localhost:8000/ocr/"
同样,您可以将其添加到环境变量配置文件中以便永久生效。
启动 OCR 服务:
python gui_agents/utils/ocr_server.py
该服务将允许 Agent-S 识别屏幕上的文本内容。
1. 命令行界面(CLI)使用
在项目根目录下,打开终端,输入以下命令启动 Agent-S:
python cli_app.py
您将看到一个用户查询提示符,您可以在这里输入自然语言指令,例如:
```
请打开浏览器并搜索人工智能的最新发展动态
```
Agent-S 将根据您的指令执行相应操作,并在完成后返回结果。
2. 使用 `gui_agents` SDK
如果您希望在自己的 Python 脚本中集成 Agent-S,可以使用 `gui_agents` SDK。以下是一个简单的示例:
import pyautogui
import io
from gui_agents.core.AgentS import GraphSearchAgent
import platform
# 根据操作系统选择相应的 ACI
if platform.system() == "Darwin":
from gui_agents.aci.MacOSACI import MacOSACI, UIElement
grounding_agent = MacOSACI()
elif platform.system() == "Windows":
from gui_agents.aci.WindowsOSACI import WindowsOSACI, UIElement
grounding_agent = WindowsOSACI()
elif platform.system() == "Linux":
from gui_agents.aci.LinuxOSACI import LinuxACI, UIElement
grounding_agent = LinuxACI()
else:
raise ValueError("不支持的操作系统")
# 设置模型参数
engine_params = {
"engine_type": "openai",
"model": "gpt-4o",
}
# 初始化 Agent
agent = GraphSearchAgent(
engine_params,
grounding_agent,
platform="ubuntu", # 根据您的操作系统修改此处
action_space="pyautogui",
observation_type="mixed",
search_engine="Perplexica"
)
# 获取屏幕截图和可访问性树
screenshot = pyautogui.screenshot()
buffered = io.BytesIO()
screenshot.save(buffered, format="PNG")
screenshot_bytes = buffered.getvalue()
acc_tree = UIElement.systemWideElement()
obs = {
"screenshot": screenshot_bytes,
"accessibility_tree": acc_tree,
}
# 执行任务
instruction = "关闭 VS Code"
info, action = agent.predict(instruction=instruction, observation=obs)
# 执行返回的操作
exec(action[0])
在上述代码中,请根据您的操作系统修改 `platform` 参数,并确保已正确设置环境变量和依赖项。
Agent-S 作为 Simular AI 推出的开源智能代理框架,凭借其强大的多模态交互能力、灵活的任务处理机制以及卓越的性能表现,为智能代理技术的发展注入了新的活力,开启了高效人机交互的新时代。尽管在某些极端复杂任务上仍有提升空间,但其在办公自动化、系统设置、多应用工作流、教育与培训等多个领域的广泛应用,已经充分展现了其巨大的应用潜力和价值。
项目主页:https://www.simular.ai/agent-s
GitHub 仓库:https://github.com/simular-ai/Agent-S
论文链接:https://arxiv.org/pdf/2410.08164
推荐阅读
1.autoMate:无代码自动化神器,让电脑任务“自己动起来”
2.OmniSteward:大语言模型驱动,语音文字交互,智驭家居与电脑
3.电脑也能“自动驾驶”?Open-Interface 用 LLM 颠覆智能操作新体验
点亮“关注”,设为“星标”,精彩不迷路!与你携手探索AI的无限可能,精彩内容持续更新!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-06
vllm近期更新的一些trick总结
2025-04-06
Meta Llama 4 全面解析:全新的原生多模态 AI
2025-04-06
字节跳动开源神器Agent TARS,AI自动化时代真来了
2025-04-06
一文读懂开源 Llama 4 模型
2025-04-06
Meta深夜开源Llama 4!首次采用MoE,惊人千万token上下文,竞技场超越DeepSeek
2025-04-06
Meta 对 DeepSeek 的回应来了:Llama 4 发布,上下文长达 1000 万,参数超 2 万亿!
2025-04-06
Colab上运行Gemma 3 + Ollama:开发者快速入门指南
2025-04-06
开源LLaMA 4 发布,288B参数巨擘,传统RAG可能原地失业!
2025-01-01
2024-07-25
2025-01-21
2024-05-06
2024-09-20
2024-07-20
2024-06-12
2024-07-11
2024-08-13
2024-12-26
2025-04-03
2025-04-03
2025-04-03
2025-04-01
2025-03-31
2025-03-25
2025-03-25
2025-03-24