跳转至

AgentCore Browser OS级操作:Action-Screenshot-Reaction闭环

Ch04.156 AgentCore Browser OS级操作:Action-Screenshot-Reaction闭环

📊 Level ⭐⭐ | 12.5KB | entities/aws-bedrock-agentcore-os-level-actions-browser.md

核心内容

Amazon Bedrock AgentCore引入OS-level Actions,允许Agent直接操控GUI界面——通过Action-Screenshot-Reaction闭环实现浏览器自动化。8个原子操作覆盖鼠标、键盘、截图等OS层交互,Agent通过视觉反馈(截图)感知环境状态并决定下一步操作。

三个关键洞察

1. 视觉反馈驱动的Agent循环

与API工具调用不同,OS-level Actions通过截图获取环境状态(像素级反馈),Agent据此决策——这是"视觉优先"(Vision-first)的Agent架构,类似于人类操作电脑的方式。

2. 8个原子操作的粒度设计

鼠标点击/移动、键盘输入、滚轮、截图、窗口切换等原子操作足够底层以覆盖任意GUI任务,又足够简单以保证可靠性。Agent在高层面构建workflow,低层执行这些原子序列。

3. Browser作为Agent的感知-执行界面

浏览器是Agent最常用的"物理世界代理"——可访问任何web应用。结合OS-level Actions,Agent获得了与人类等价的浏览器操作能力,但速度和规模远超人类。

深度分析

OS层与Web层的能力边界

AgentCore Browser早期基于Playwright和CDP(Chrome DevTools Protocol)构建,擅长操作DOM元素——页面导航、表单填写、元素点击、内容提取均属此类。但Web层存在硬边界:任何操作系统渲染的UI(原生对话框、安全提示、证书选择器、右键菜单、浏览器设置页)均位于DOM之外,CDP无法触及,Playwright无法交互。 OS Level Actions通过InvokeBrowser API突破这一边界,将鼠标/键盘控制能力延伸至操作系统层,结合全桌面截图实现真正的"感知-决策-执行"闭环。

Action-Screenshot-Reaction的工程意义

该循环本质上是感知即观测架构:Agent不依赖结构化API返回状态,而是通过视觉截图直接观测屏幕像素。这与人类操作计算机的方式完全一致——看见对话框 → 理解内容 → 点击按钮。 全桌面截图可捕获:原生对话框、OS模态框、浏览器Chrome界面、甚至多显示器环境的跨屏内容。视觉模型(Claude/Nova Act等)作为"视觉推理引擎"解析截图并输出坐标或操作指令。

8个原子操作的分类逻辑

类别 操作 核心能力
鼠标 mouseClick / mouseMove / mouseDrag / mouseScroll 全范围指针交互,覆盖点击、定位、拖拽、滚动
键盘 keyType / keyPress / keyShortcut 字符输入、重复按键、组合键(ctrl+a等)
视觉 screenshot 全桌面捕获,返回base64 PNG
关键设计细节:
  • mouseClick坐标可省略——继承当前光标位置,适合先move再click的场景
  • keyShortcut最多5键组合,支持["ctrl","a"]等标准快捷键
  • screenshot是唯一返回数据的操作(base64 PNG),其余操作仅返回SUCCESS/FAILED
  • mouseScrolldeltaY负值=向下滚动(符合直觉)

会话与权限管理

每个OS级操作通过x-amzn-browser-session-id头关联正确的浏览器会话。执行角色需持有bedrock-agentcore:InvokeBrowserStartBrowserSessionStopBrowserSession三个IAM权限。坐标空间由viewport决定——1920×1080分辨率下x∈[0,1919],y∈[0,1079]。

虚拟化环境的限制

文档特别指出:部分右键菜单项可能因浏览器会话运行的虚拟化环境而无法预期工作。这是OS级自动化的已知约束,适用于云端托管的浏览器会话而非本地环境。

实践启示

何时使用OS Level Actions而非CDP/Playwright

使用OS Actions:触发window.print()后的系统打印对话框、需要键盘快捷键(ctrl+s)、右键上下文菜单、系统隐私对话框、证书选择器 使用CDP/Playwright:页面导航、表单填充、DOM元素点击、内容提取 两者构成互补层——CDP处理Web层可预测任务,OS Actions处理"最后一公里"的生产环境边缘情况。

实现打印对话框自动关闭

# 1. 截图观测
r = invoke(endpoint, sid, {"screenshot": {"format": "PNG"}}, ...)

# 截图→视觉模型→返回Cancel按钮坐标 {x:410, y:535}
# 2. 点击取消
r = invoke(endpoint, sid, {"mouseClick": {"x": 410, "y": 535, "button": "LEFT"}}, ...)

# 3. 再次截图确认对话框已关闭,工作流继续
核心模式:act → observe → decide → act,循环直到任务完成。

坐标映射与viewport设置

创建浏览器时viewPort决定截图分辨率和鼠标坐标空间。建议设置与目标环境匹配的分辨率,避免坐标映射歧义。截图后通过视觉模型自动解析坐标,Agent无需硬编码像素值。

可靠性设计建议

  1. 异常处理:操作返回FAILED时捕获错误字段,截图分析原因后重试或中止
  2. 超时保护:设置sessionTimeoutSeconds防止孤立会话持续占用资源
  3. 权限审计:执行角色权限遵循最小权限原则,仅授予三个InvokeBrowser相关权限
  4. 虚拟化限制声明:在用户文档中告知OS Actions在虚拟化环境中的已知限制

规模化场景

浏览器是Agent的"物理世界代理"。OS Level Actions使Agent能够:

  • 自动化依赖原生对话框的企业Web应用(OA、ERP)
  • 执行需要组合键的复杂编辑操作(ctrl+c/v/a/s)
  • 穿过浏览器边界操作OS级UI,实现端到端自动化流程

与知识库的连接

  • 原文存档:OS Level Actions官方详解,包含8个原子操作完整示例
  • Agent-Guided Workflows:同属AgentCore生态,Actions是workflow的底层执行单元

Source: 原文存档

相关实体