桌面控制 MCP 服务器三个教训:批量操作提速 24%、调用减半

_Ar5en1c_ · reddit · 2026-10-22

开发者为了用 Claude Code 测试 Chrome 扩展的侧面板,基于 Ghost OS(MIT)fork 出 YouxPC——一个让 agent 通过 macOS 辅助功能树操作桌面应用的 MCP 服务器,agent 看到的是带 id 的文本控件树,应用可留在后台。作者总结了三条适用于所有 MCP 工具设计的教训:

1. id 必须绑定元素而非位置

初版按位置编号,表格里有六个相同的 Approve 按钮时,删一行会让后续 id 全部错位,agent 刚读到的 id 会点中别人的行。现在 id 跟随元素整个会话,元素消失即退役。

2. 名字有歧义就拒绝执行

agent 说「点 Approve」而页面有六个时,工具直接拒绝并列出每个的 id 和所在行,而不是猜第一个。0.1.1 起每次点击返回还会标注元素所在行,点错行立刻暴露。

3. 展示给模型的格式就是产品的一部分

早期格式 [7] button "9" 导致模型在计算器上把 47×19 按成 13×79,现在改成 e7 风格。

批量操作的量化实测

用 Claude Haiku 5.5 跑同样的 17 个任务各三次,开关 pcdo(单次调用执行多个动作):两者都 51/51 全过,但开启时 594 秒/219 次工具调用,关闭时 780 秒/444 次调用。提速主要来自计算器这类每个按键都是独立按钮的场景,网页场景差异小,且批量未引入额外错误。

作者也坦承局限:任务由自己编写并与工具同步开发、仅测了一个模型一台 Mac,测试代码已开源。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →