实测腾讯新产品 Marvis | 你说你是新一代 Agent OS?

问AI · Agent OS与传统操作系统的本质区别是什么?
OS 到底意味着什么?
图片

👦🏻 作者: Daniel

🥷 编辑: Koji

🧑‍🎨 排版: NCon

图片


过去这段时间,至少有五种产品把自己叫做"Agent OS":


给普通人用的桌面 AI 助手(Marvis、阶跃 AI 桌面伙伴),给开发者用的 Agent 构建平台(CREAO、Dreamer),为 Agent 重新设计接口的云服务器 OS(阿里云 Agentic OS),AI 伴侣方向的助手(ColaOS),以及试图让"软件的第一用户从人变成 Agent"的应用生态(remio rOS)


同一个词,至少五种完全不同的含义。


5 月 20 日,腾讯 PCG 应用宝团队推出 Marvis,定位"操作系统层级 AI 助手"。1 个 Marvis Agent 做调度,5 个子 Agent 分别负责文件、系统操作、应用操控、浏览器、搜索。每天 1000 万免费 Token,支持 Windows/Mac/Android。


听起来很厉害。但"OS 级"到底意味着什么?我们做了一轮完整的实测,看看可爱的小马工作台动画之下,每个 Agent 到底在用什么技术完成任务,又与没有踏入 OS 战场的 Agent(比如 Claude Code)有什么本质区别。


图片
子 Agent 实测

1. Computer Agent:依靠丝滑的预建工具

我们给 Marvis 两个系统操作任务。

任务一:调快触控板跟踪速度。
图片

这是在导航栏下面的示例任务。Computer Agent 调用了一个叫 
mcp_mactools_input_device 的预建 MCP 工具,一步完成。没有试错,没有语法修正,整个过程不到 3 秒,并且最后会弹出一个"确认"的 UI,不会贸然进行改动。


图片

任何任务都会先由 Marvis 这个总调度决定由谁来执行具体任务,最后再统一由 Marvis 审核并返回结果。


Marvis 的价值在于:用户说"调快触控板",LLM 直接匹配到这个工具,不需要知道任何终端命令,极致便捷。

任务二:关闭今天没有活跃过的应用程序。

这次没有对应的预建工具。Computer Agent 开始用 shell 命令探索:先试 
find -newer 检查文件时间戳,不行;再试 lsappinfo,犹豫;想用 sfltool,又放弃;最终试了 mdls 查 kMDItemLastUsedDate 找到了方法。


图片

打开工作日志看:每一条命令(lsappinfo、mdls、find、ps、osascript)都是标准的 macOS CLI 工具。通用 Agent 在终端里跑同样的命令,确实能做完全一样的事。

对照结论:Computer Agent 的可靠性取决于是否有预建 MCP 工具覆盖该场景。有工具,一步到位,极其丝滑便捷;没工具,退化为 LLM 临场写 shell 脚本。这一设计的确大幅降低了大部分用户使用 Agent 操作电脑的成本,是产品上的创新。

2. App Agent:Agent 和 OS 之间的根本冲突
任务:用 Apple Music 播放巴赫 Top Songs 里排名第一的歌曲。

这个任务测试的是 App Agent 操控本地应用的能力。执行链路如下:

1.App Agent 加载 mac-desktop-ops skill

2.query apps 查到 Apple Music 的 bundle ID

3.launch app 启动 Apple Music

4.list windows 获取窗口信息

5.dump_ui 尝试读取 UI 结构 → 调用失败

6.capture window 尝试截屏 → 调用失败

7.App Agent 放弃,交回给Marvis


图片

Marvis 接手后改派 Computer Agent,用 AppleScript 尝试。AppleScript 能打开搜索、输入"Bach",但无法点下那个 Bach 的按钮,导航到搜索结果页面里的艺人条目。Apple Music 的 scripting 字典只支持操作本地曲库,不支持浏览在线目录。


Computer Agent 反复尝试了 URL scheme、键盘导航、AppleScript UI scripting,最终也没能完成任务。


图片

dump_ui 失败的原因:它尝试读取 Apple Music 的 Accessibility(macOS 的 AXUIElement API),但 Apple Music 对第三方 Accessibility 访问支持有限。


capture window 失败的原因:Apple Music 涉及 DRM 内容保护,会主动屏蔽截屏。


我用 Claude Code 做了同样的任务。Claude Code 直接走 AppleScript 路径,最终也卡在同一个地方:System Events 的 keystroke 注入被 macOS 拒绝。


两个产品撞的是同一面墙:macOS 的 TCC 安全机制。 这个机制的设计意图就是阻止第三方程序自动操控其他 app 的 GUI


Marvis 虽然自称"OS 级",但在 macOS 看来它就是一个普通的第三方 app。真正不受限的只有 Apple 自己的系统进程。


对照任务:在 Calendar 和 Reminders 里设置每周五 18:00 提醒。

这个任务 Computer Agent 用 AppleScript 顺利完成了。原因很简单:Calendar 和 Reminders 有完善的 AppleScript 字典,直接暴露了创建、修改、删除事件的接口。


图片

两个 case 形成对照:Marvis 能做什么,取决于目标 app 是否暴露了 scripting 接口。 暴露了就能做,没暴露就只能走 GUI。


这个边界由 Apple 决定,而上一个时代面向用户的操作系统,其实主要在做三件事

硬件资源分配(CPU/内存/GPU 谁用多少)

程序隔离(A 程序不能碰 B 的内存)

I/O 通道(所有和外界打交道的事由 OS 统一调度)


macOS 每一代都在收紧权限:沙盒 → SIP(root 都不能改系统文件)→ 公证制度(未签名 app 被拦截)→ TCC 权限弹窗(每个敏感能力单独授权)。


本质就是因为,OS 的安全模型假设"程序是不可信的"。自动化能力被视为攻击面。


3. Browser Agent:技术路径最成熟的一个
任务:去 12306 查 6 月 1 日北京到上海最早的高铁几点出发。

Browser Agent 打开了一个可视化的 Chromium 浏览器窗口,通过 Chrome DevTools Protocol 直接操控 DOM。从工作日志可以看到它在用 JavaScript 检查表单值、设置车站代码、用 eval 点击按钮,最终成功返回结果。


图片
图片

这是 Marvis 所有 Agent 里技术路径最成熟的一个。 原因是浏览器本身已经提供了结构化的程序接口。App Agent 在 macOS 原生应用上没有这样的接口可用,而 Browser Agent 站在 Playwright/CDP 这个已经被业界验证多年的生态上。


我用 Claude Code 配合 Chrome DevTools MCP server 做了同样的任务。操作方式完全一样。


Marvis 的差异化是:用户不需要自己安装 Playwright 或配置 MCP,说"查 12306"就直接打开浏览器开始操控。又一次大幅降低了使用成本。

Marvis的并行调度能力

Marvis 的卖点除了子 Agent 进行了能力预装,提升使用丝滑度之外,就是父-子 Agent 的架构。


我们测试了两个需要多 Agent 协作的任务,看看 Marvis 作为总调度 Agent,能否准确地分配任务、进行 Agent 间通信,和并行调度不同子 Agent。


任务一

搜索 6 月 1 日北京天气预报,整理成 markdown 文档保存到桌面,然后在日历里创建当天提醒'带伞'

Marvis 的执行策略:先让 Search Agent 查天气(后续步骤依赖这个结果),然后并行派发 File Agent(写文档)和 Computer Agent(创日历事件)。任务的规划完全正确,且两个后续任务确实同时开始执行,后面两个任务大概在 10 秒钟就完成了。


图片

任务二

去京东搜索 AirPods Pro,把前 3 个结果的名称和价格整理成表格,保存为 Excel 到桌面,然后设明天的提醒让我比价

Marvis 同样做了依赖分析:先让 Browser Agent 抓取数据(耗时较长,遇到反爬和登录墙),拿到结果后并行派发 File Agent(用 Python 生成 Excel)和 Computer Agent(设提醒)。


图片

遇到需要登录验证时,会弹出清晰易懂的选项卡让用户协助,用户提交后,Agent 进程没有中断,正常执行完毕。


图片

两个 case 都顺利完成。Marvis 展示了依赖识别和并行调度能力:知道哪些步骤有先后依赖,哪些可以同时进行。 Agent 之间的信息传递也没有断裂,Search/Browser 的结果被正确传给了后续 Agent。


这里值得单独说一下 Marvis 的多 Agent 调度策略。目前的大部分 Agent 同样支持并行子任务调度(通过 spawn 多个 sub-agent),但大部分时候需要用户在显式描述任务拆分逻辑。


Marvis 把这一步完全接管了:用户只说一句自然语言目标,总调度 Agent 自动做依赖分析、决定串行还是并行、分配给对应的子 Agent,全程无需用户干预执行顺序。


产品体验上打磨得不错,即从"用户编排任务"变成"用户只描述目标",遇到的 bad case 主要是模型能力的问题。

所有实测的技术栈汇总

Agent
底层技术
其他 Agent 能否做到
Marvis 的真实差异
Computer Agent
shell + AppleScript + 预建 MCP 工具
预建工具库,降低使用门槛
App Agent
Accessibility + 截屏(macOS 上失败)
一样失败
无差异
Browser Agent
CDP/Playwright
能(需配 MCP server)
预配置浏览器环境,降低使用门槛
File Agent
文件系统 API + OCR 索引 + Python
本地语义索引预建,降低使用门槛
Search Agent
搜索引擎 API
无差异
Marvis(调度)
依赖分析 + 并行派发
自动判断依赖关系,体验更丝滑流畅
Agent OS 应该是什么样的?

Marvis 做的事可以概括为:预配置的 MCP 工具 + AppleScript/CDP + 多 Agent 路由 + 精心设计的 UI 和产品交互。


体验很丝滑,这些组合在一起是一个好产品,不过,它在技术上没有超出"CLI + GUI Agent + 浏览器自动化"这个已知范畴。


那"OS"这个词到底指什么?


我认为,传统 OS 管理的对象是进程、窗口、权限、通知。如果 Agent 时代有一个真正的 OS,它管理的对象应该是不同的:

任务(有状态机、有目标、可恢复、可取消、可审计)

上下文(用户当前状态、历史偏好、跨 app 的工作记忆)

能力(app 不再作为前台入口,而是作为后台能力提供者)

授权(按任务临时授予权限,任务结束即收回)

任务流(把碎片事件组织成可执行目标,取代通知中心)


按这个标准看,Marvis 做到了"任务拆解和调度"这一层,但没有做到"任务状态管理"(不能暂停、恢复、回滚一个进行中的任务),没有做到"按任务授权"(还是传统的按 app 授予),也没有做到"把 app 变成能力提供者"(它还是在 hack 现有 app 的 GUI,而不是 app 主动暴露能力接口)。


更根本的是:Marvis 跑在 macOS/Windows 上面,它是 OS 的用户,受 OS 的权限限制。

结论

Marvis 是一个做得不错的桌面 Agent 产品。它对普通用户的价值是真实的:零配置,说人话就能操控电脑,不需要自己装 Playwright、不需要知道 AppleScript 语法。预建 MCP 工具库的覆盖面越大,这个产品的体验就越好。


但现在市面上的"Agent OS"产品,和 OS 之间其实或多或少都隔着一个身份问题:

想当 OS,但跑在别人的 OS 上面。

能做出 Agent OS 的角色可能主要有四种:拥有操作系统的平台方(Apple、Google、Microsoft及手机厂商)、从头做新设备的人(适配 AI 硬件的新的操作系统)、微信(其小程序生态让微信本身就成为了一个类 OS 的存在),以及在内核层重新设计 Agent 接口的人。


期待 Agent 的 Android 时代的到来。


十字路口正在寻找独立撰稿人,撰写 AI 产品和模型评测。

如果你写过类似文章:《实测 PixVerse C1》、《实测 LibTV》,请联系 zeo0811@gmail.com ,邮件内容请包括:① 个人介绍、② 你写过的 AI 评测文章。

我们会提供有竞争力的稿酬。期待与你一起观察与记录 AI 时代 🎪