本地 AI 代理缺失的控制平面

发布: (2026年5月4日 GMT+8 03:23)
5 分钟阅读
原文: Dev.to

Source: Dev.to

(请提供要翻译的正文内容,我才能为您完成简体中文翻译。)

当前移动 AI 代理的问题

  • 模型优先:讨论常围绕模型规模、成本或上下文窗口展开,假设代理已经拥有与操作系统交互的方式。
  • 平台限制
    • iOS 沙箱阻止一个应用控制另一个应用。
    • Android 可访问性服务体积大、需要可怕的权限,并且合成能力有限。
  • 结果:即使是强大的本地模型也无法打开地图、点击“确认”或输入消息,因为它没有手

控制平面提供的功能

控制平面位于模型的下方,并负责:

  1. 观察 – 捕获屏幕状态、UI 层级、当前活动、前台应用。
  2. 执行 – 执行离散操作,如点击、输入、滑动、绘制、键事件或启动应用。
  3. 反馈 – 报告每个操作后发生的变化,以便模型调整下一步。

Source:

Drengr:控制平面的一个实现

Drengr 提供了三个简单的 MCP(Model‑Control‑Protocol)工具,任何支持该协议的 AI 客户端都可以使用(例如 Claude Desktop、Cursor、Windsurf)。

工具用途
drengr_look观察当前屏幕 + UI 树
drengr_do执行点击 / 输入 / 滑动 / …
drengr_query读取结构化数据(设备、活动、崩溃)

这三个动词取代了脆弱的选择器、XPath 操作或持续运行的 Appium 守护进程。

运行时架构

  • 单一静态 Rust 二进制 – 通过原生通道(Android 上的 ADB、iOS 模拟器上的 WDA)驱动设备。
  • 跨平台抽象 – 同一个二进制文件可在 Android 和 iOS 上使用,无需额外依赖。

实践中的 Agent Loop

  1. 观察

    drengr_look

    Drengr 捕获屏幕截图,导出 UI 树,并构建紧凑的文本描述(约 300 个 token,相比图像约 100 KB)。

  2. 决策

    模型处理该描述并返回一个 JSON 包,描述所需的操作。

  3. 执行与反馈

    drengr_do

    Drengr 执行操作,生成 情境报告(相对于前一状态的差异),并将其反馈给模型以进行下一轮迭代。

情境报告是大多数框架缺失的部分;如果没有它,模型在步骤之间是盲目的,可能会过度行动(例如,反复点击一个失效的按钮)。

为什么本地控制平面至关重要

ConcernCloud‑only assistants struggle with
Latency当你手持手机时,两秒的往返延迟让人感觉很糟糕。
Privacy银行、健康和消息数据应保留在设备上。
Network independence地铁、飞机或不稳定的 Wi‑Fi 不应让助手瘫痪。

随着本地模型变得无处不在,控制平面也必须在本地运行。Drengr 的静态二进制设计体现了这一需求。

实际案例

使用上述三种工具,设备端代理可以:

  • 打开 Photos,查找最近的照片,并将其附加到 WhatsApp 消息中。
  • 监控航班预订应用的价格下降,并自动重新预订。
  • 通过屏幕共享为低视力用户操作银行应用。
  • 执行人们通常会请人类助理在手机上完成的各种繁杂任务。

这些场景需要 hands‑and‑eyes 基础设施,而不是新的模型能力。

开始使用 Drengr

Drengr 可免费使用。只需两条命令即可安装并验证:

# Install via Claude Code (or run directly)
claude mcp add drengr -- npx -y drengr mcp

# Verify the installation
drengr doctor

将你的 AI 代理指向正在运行的 Drengr 实例,即可观察模型以真实的手部动作进行操作。

Rust 实现是经过深思熟虑的选择——详情请参阅单独的帖子。

0 浏览
Back to Blog

相关文章

阅读更多 »

让客户交接轻松的文件夹结构

每家机构都有这样一个版本的故事:团队成员离职、客户升级,或者你在替病假的同事顶班——于是你花了20分钟去搜索……