Agent-S终极指南:用Agent-Computer Interface让智能体像人一样操作计算机(含OSWorld 72.6%实测与上手教程)
【免费下载链接】Agent-SAgent S: an open agentic framework that uses computers like a human项目地址: https://gitcode.com/GitHub_Trending/ag/Agent-S
Agent-S 是 Simular AI 开源的计算机使用智能体(Computer Use Agent)框架,核心思路是"像人类一样用电脑":智能体接收自然语言指令,通过 Agent-Computer Interface(ACI)把决策翻译为 pyautogui 等可执行代码,直接驱动鼠标、键盘完成点击、输入、拖拽等操作。框架支持 Linux、macOS、Windows 三平台,可通过pip install gui-agents直接安装,也可克隆仓库做二次开发。
它的最新一代 Agent S3 在 OSWorld 基准上取得 66%(单轨迹、100 步)的分数,叠加 Behavior Best-of-N 后达到 72.6%,成为首个在该基准上超过人类平均水平(约 72%)的方案。本文基于仓库内的源码与部署文档,拆解 S3 的组件构成、选优机制和本地代码执行能力,并给出一条最短的上手路径。
一、它解决了什么问题
GUI 智能体的传统做法是让模型直接输出"点 (x, y) 这个坐标",但坐标定位的误差会随界面复杂度放大,且每一步都要重新看一遍完整历史,推理成本很高。Agent-S 的应对方式是把"看"和"做"拆开:主模型只负责生成自然语言级别的计划,另有一个专门的地面化(Grounding)模型负责把计划落到屏幕上,再通过接口层转成真实代码执行。
从仓库目录也能看出这种分工:gui_agents/s3/agents/ 下worker.py只生成动作计划,grounding.py负责坐标定位,code_agent.py则处理需要跑代码的任务。S2 一代曾采用"管理者-工作者"的层级式规划(Manager/Worker),S3 则刻意去掉了层级(源码注释直接写着 "Agent that uses no hierarchy for less inference time"),换来更低的推理时延,这是"更简单、更快"的论文结论在代码上的体现。
二、S3 的三个核心组件
理解 S3 只需看 gui_agents/s3/ 下的三块内容,每一块都对应一个明确的职责。
- Worker(工人):每轮把任务指令、最新截图、上一步反思、界面文本缓冲一起喂给主模型,输出一个带代码块的动作计划,再由接口层转成可执行的 pyautogui 代码。上下文按
max_trajectory_length(默认 8 轮)截断,长上下文模型只保留最近图片,短上下文模型直接丢弃早期整轮消息,防止 token 爆炸。 - Reflection(反思):可选开启的第二个小模型,逐轮审阅"上一步动作 + 当前屏幕",把纠偏意见(例如"刚才点错了位置")注入下一轮 Worker 的输入,属于廉价的自我纠错机制。
- Grounding(地面化模型):独立的视觉定位模型,官方推荐 UI-TARS-1.5-7B,通过 Hugging Face Inference Endpoints 或 vLLM 自建部署。CLI 里要求显式传入
--grounding_width/height,因为不同模型的输出坐标系不同(UI-TARS-1.5-7B 用 1920×1080,UI-TARS-72B 用 1000×1000)。
这种"主模型管想、定位模型管看、接口层管做"的三段式,让主模型可以换成任意支持视觉的 LLM(OpenAI、Anthropic、Gemini、vLLM、Open Router 均可,配置见 models.md),而不需要重新训练定位能力。
三、本地代码执行:GUI 做不了的事交给脚本
S3 相比 S2 的一个实用增强是可选的本地编码环境。启用--enable_local_env后,Worker 可以发出call_code_agent动作,把"处理表格、批量改文件、跑系统命令"这类任务交给 gui_agents/s3/agents/code_agent.py 里定义的代码代理,由它生成并执行 Python 或 Bash 片段(Bash 强制 30 秒超时)。执行结果——完成了几步、失败原因、代码片段——会回灌进 Worker 的上下文,供下一步决策参考。
需要强调安全边界:这段代码以你当前用户的权限直接跑在本地机器上,仓库 README 对此有明确警告,只建议在可信环境、可信输入下开启,非受信任务应放在沙箱里。对纯 GUI 交互来说这是可选能力,但做数据处理和系统自动化时能显著减少"用鼠标一格一格点"的低效路径。
四、Behavior Best-of-N:从 66% 到 72.6% 的选优机制
单轨迹跑分时,S3 在 OSWorld 的 100 步设置下是 66%,已经超过此前最好成绩 63.4%(GTA1 + GPT-5);72.6% 这个超越人类(约 72%)的数字则来自 Behavior Best-of-N(bBoN):同一任务并行跑多条轨迹,再选一条最好的。选优逻辑在 gui_agents/s3/bbon/ 中,分两步走:
- 行为叙述(BehaviorNarrator):
behavior_narrator.py把轨迹中的鼠标点击、移动、拖拽标记画回截图上,生成"这轮到底做了什么变化"的事实描述(fact captions)。 - 对比裁判(ComparativeJudge):
comparative_judge.py拿着事实描述加首尾截图,让一个裁判模型在多条轨迹间做对比,判定哪条真正完成了任务。
部署文档 osworld_setup/s3/OSWorld.md 给出了完整评测命令:先跑多份结果目录,再用generate_facts.py和run_judge.py依次生成事实与判定,输出 BoN2、BoN3 等逐级结果文件。同样的机制在零样本泛化上也有效:WindowsAgentArena 上从 50.2%(单轨迹)提升到 56.6%(3 条选优),AndroidWorld 从 68.1% 提升到 71.6%。
五、快速上手:三步跑通 Agent S3
最短路径只需要装包、配 key、起 CLI 三条命令,全程不需要克隆仓库。
第 1 步,安装与依赖
pip install gui-agents && brew install tesseract第 2 步,配置模型。在.bashrc或.zshrc里导出OPENAI_API_KEY(或 Anthropic、Gemini 等对应 key,详见 models.md);Grounding 模型另起一个推理端点,官方推荐 UI-TARS-1.5-7B。
第 3 步,启动 CLI
agent_s --provider openai --model gpt-5-2025-08-07 \ --ground_provider huggingface --ground_url http://localhost:8080 \ --ground_model ui-tars-1.5-7b --grounding_width 1920 --grounding_height 1080两个注意事项:智能体面向单显示器设计;若要把 S3 部署到 OSWorld 做复现评测,按 osworld_setup/s3/OSWorld.md 拷贝运行脚本到 OSWorld 目录即可,本地 VMware 用run_local.py,AWS 用run.py。需要源码级开发时,克隆仓库后执行pip install -e .安装编辑模式:
git clone https://gitcode.com/GitHub_Trending/ag/Agent-S六、适用边界与下一步
先明确它适合谁:需要在真实桌面环境里做跨应用 GUI 自动化、或想复现/评测计算机使用智能体的开发者。它的边界同样清晰——必须自备视觉定位模型端点、多显示器不在设计范围内、--enable_local_env只在可信环境开启,而 bBoN 的多轨迹选优会成倍消耗推理成本,日常使用建议先跑单轨迹(66% 的 OSWorld 分数对多数场景已够用)。
下一步可以按顺序做三件事:按上文三步跑通 CLI 并观察 Worker 的 plan 与 reflection 日志(gui_agents/s3/cli_app.py里有完整推理循环);在自己的任务上开一组 3 条轨迹试试 bBoN 的收益;需要接入 OSWorld 或其他基准时,直接对照 osworld_setup/ 与各版本的evaluation_sets目录调整评测集即可。
【免费下载链接】Agent-SAgent S: an open agentic framework that uses computers like a human项目地址: https://gitcode.com/GitHub_Trending/ag/Agent-S
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考