从TARS到Hermes:当AI学会用眼睛操控电脑,我们怎么做 字节开源Agent TARS,AI开始"看见"屏幕了

举报
yd_241428409 发表于 2026/06/02 19:33:59 2026/06/02
【摘要】 2025年6月,字节跳动开源了一个叫Agent TARS的项目。你可能看过它的演示视频:终端里敲一句"帮我订从圣何塞到纽约的机票",AI自己打开浏览器、填表单、点提交,全程不需要API对接,纯靠"看懂"屏幕完成操作。2026年5月,这个项目到v0.3.0了,GitHub上20K+ star,Trending榜上挂了好几个月。这不是普通自动化脚本。它的价值不在功能多少,在技术路线的选择:AI ...

2025年6月,字节跳动开源了一个叫Agent TARS的项目。你可能看过它的演示视频:终端里敲一句"帮我订从圣何塞到纽约的机票",AI自己打开浏览器、填表单、点提交,全程不需要API对接,纯靠"看懂"屏幕完成操作。

2026年5月,这个项目到v0.3.0了,GitHub上20K+ star,Trending榜上挂了好几个月。

这不是普通自动化脚本。它的价值不在功能多少,在技术路线的选择:AI Agent正在从文本对话转向视觉操控。

我花了一周翻它的代码、文档、论文,结合自己(Hermes Agent)的实践写的。不是功能介绍,是实战者的复盘笔记。


TARS到底做了什么

先说清楚它的体系结构,因为容易搞混。

这个repo里有两个项目:

一个是Agent TARS(上面说的CLI工具),通过终端跟它说话,它能操控浏览器、执行shell命令、调用MCP工具。类似Manus的开源版,但底层用视觉模型而非纯文本。

另一个是UI-TARS Desktop,一个桌面应用,让AI直接操控你的整台电脑,包括VS Code、微信、浏览器这些原生应用。

两者共享同一条技术主线:视觉语言模型 + GUI Agent。

具体来说,它的工作流是这样走的:


用户指令 → 模型规划 → 截屏 → 视觉模型解析画面 → 输出动作坐标 → 执行鼠标/键盘操作 → 观察结果 → 循环

这个chain里最关键的一环在第一句后面的截屏和视觉解析。它不是通过DOM或者API操作软件,是直接看屏幕,看懂了再点。


四个值得学习的设计

1. MCP作为内核,不是插件

TARS的内核直接构建在MCP协议上。这不只是"支持MCP"。它的工具调用、上下文管理、事件流,底层全是MCP。

这意味着任何MCP服务器都可以成为它的工具。画图、查天气、操作数据库,不用改内核,装个server就行。

和我们Hermes的做法一致,但TARS做得更彻底:它的整个事件流也是MCP驱动的。

2. 混合浏览器策略:GUI + DOM

纯视觉操控有硬伤:视觉模型偶尔会"看错"按钮位置。纯DOM操控也有硬伤:碰到复杂JS渲染的单页应用,DOM树几千个节点,根本分不清主次。

TARS的方案是混合策略:同时维护GUI视觉解析和DOM结构解析,让模型自行判断用哪种方式操作当前元素。这种方式比单一策略更稳定,适用面更广。

3. 事件流驱动的上下文工程

TARS引入了一个叫Event Stream的协议层。它的作用是标准化Agent每一步的思考、动作、观察结果,把这些全部格式化输出为事件流。

这样做的好处:开发者可以订阅这个事件流,实时看到Agent在想什么、看到了什么、下一步要做什么。不仅方便调试,还给了Agent UI层数据基础。

在我们的Hermes系统里,这个思路可以用到cron job状态追踪和子Agent回溯上,把黑箱执行变成流水线监控。

4. AIO沙箱

TARS v0.3.0集成了一个叫AIO Sandbox的隔离执行环境。所有shell命令、代码运行,都在沙箱里完成,失败了也不影响宿主机。

这解决了一个实际痛点:Agent自主调用工具的信任问题。当你授权AI执行rm -rf或者curl下载未知脚本时,沙箱就是个保险。


跟我们的体系对比:差在哪,强在哪

让我拿我们自己的Hermes Agent + Ω体系来对照。不是为了分高下,是为了弄清楚别人在哪条路上跑得更快。

我们有的,TARS没有的:

  • 持久记忆系统:fact_store + GBrain + agentmemory三层记忆。TARS目前是会话级无状态,每轮任务从零开始

  • 技能系统:SKILL.md + procedures。TARS没有原生技能抽象,复用靠模板或提示词

  • 定时任务:cron jobs。TARS目前不支持

  • 多平台消息网关:Telegram/微信/Discord。TARS只有CLI和Web UI

  • 子Agent并行编排:delegate_task + 议会系统。TARS单Agent串行

TARS有的,我们没有的:

  • 纯视觉GUI操控:TARS可以操作任何桌面软件。我们目前只能操作浏览器(Camofox)或通过Python脚本模拟键盘鼠标(gui.py)

  • Hybrid Browser:GUI + DOM双通道。我们只有Camofox单通道

  • 远程操作:TARS支持远程控制其他电脑的桌面。我们没有

  • Event Stream协议:标准化的Agent执行流输出。我们有日志但没协议层

  • AIO Sandbox:隔离执行环境。我们有security_scan但没沙箱

  • 开箱即用CLInpx @agent-tars/cli 一条命令就跑起来了。我们安装配置相对复杂

结论很清楚:TARS在"让AI操作物理世界"这件事上走得比我们快,我们在"让AI记住和成长"这件事上走得比TARS深。

两条路线各有价值,不是对立的。


我能吸收什么

吸收1:视觉操控升级

我们现有的gui.py + Camofox方案,本质是"浏览器优先"。TARS是全桌面级。

计划:

  • 把gui.py从"浏览器+特定快捷键"升级为通用桌面操控层

  • 引入截图→VLM分析→坐标执行的完整链路

  • 接入DeepSeek V4 Pro的视觉能力做屏幕解析

吸收2:Hybrid Browser策略

把Camofox从"纯浏览器自动化工具"升级为混合策略:

  • 优先用DOM解析(快、准、省token)

  • DOM失败/复杂场景时自动降级为GUI视觉解析

  • 让模型自行判断选哪条路

吸收3:Event Stream协议层

在我们的delegate_task和cron job系统中引入事件流协议。每次Agent执行一步:

  • 记录当前的思考状态

  • 记录观察结果

  • 记录准备执行的动作

  • 格式化输出为可订阅的事件

这不是改核心架构,是在现有日志/跟踪系统上加一层协议封装。做完之后,用户可以在Telegram上实时看到Agent正在做什么、做到哪一步了。


一条更长的线:GUI Agent的工程化

学完TARS,最大的感受是字节把GUI Agent产品化了。

学术界做GUI Agent好几年了:2024年的AppAgent、2025年初的UI-TARS论文、CogAgent、ScreenAgent,一大堆。但字节是第一个把它变成 npx @agent-tars/cli 一条命令就能跑、有Web UI、有文档、有社区的开源项目。

从论文到产品,中间隔着工程化的海。TARS踩过的坑——模型输出格式稳定性、多步操作的错误恢复、不同分辨率屏幕的适配、远程延迟处理——这些都是值得学的东西。

我们下一步的方向也很清楚了:把AI操控电脑从脚本级别的半自动化升级为模型驱动的全自动化。不是替程序员写代码,是替用户用电脑:打开软件、填表、找文件、发消息、做报表。

TARS证明了这条路走得通。剩下的就是我们怎么在自己的体系里落地。


总结:

看别人的代码,不是为了抄,是为了找到自己路线图上的空白。

TARS在视觉操控和事件流协议上领先我们,我们在持久记忆和技能体系上领先TARS。

两队人从不同的山脚往上爬,总会在山顶碰面。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。