知识库
知识wiki
Browser Agent:浏览器自动化智能体架构解析

定义
Browser Agent(浏览器智能体)是指一类能够自主操控Web浏览器完成网页交互任务的AI智能体系统。其核心理念是将LLM的推理决策能力与浏览器的执行能力结合,使智能体像人类一样"看"网页、"想"操作、"点"按钮,从而自动化任何需要在浏览器中完成的数字工作流。
术语表
| 术语 | 定义 |
|---|---|
| Browser Agent | 能自主操控浏览器完成任务的AI智能体 |
| Perception Layer | 智能体从页面提取视觉和结构化信息的组件 |
| Action Space | 智能体可执行的浏览器操作集合 |
| DOM Representation | 将网页文档对象模型转换为智能体能理解的表征格式 |
| Visual Grounding | 将自然语言指令映射到界面元素的能力 |
| Self-Reflection | 智能体执行动作后评估结果并修正策略的机制 |
核心架构
观察-推理-行动循环
Browser Agent的工作遵循一个闭环流程:
while not task_complete:
1. 观察:获取当前页面状态(DOM/截图/无障碍树)
2. 推理:分析页面内容与任务目标关系
3. 决策:LLM选择下一个动作及其参数
4. 执行:调用浏览器API执行动作
5. 反馈:获取执行结果(成功/失败/异常状态)
6. 反思:判断是否需要调整策略或回退
感知层
感知模块将网页原始信息转换为结构化表征,供LLM理解:
| 感知方式 | 信息源 | 优势 | 局限 |
|---|---|---|---|
| DOM解析 | HTML文档树 | 完整结构信息,元素可精确定位 | 动态内容需额外处理 |
| 视觉截图 | 页面渲染快照 | 保留布局和视觉样式 | 文本识别存在精度损失 |
| Accessibility Tree | 无障碍属性树 | 语义化、简化结构 | 部分页面无良好ARIA标注 |
| 混合模式 | 以上组合 | 兼顾结构与视觉信息 | 计算开销大、延迟高 |
动作空间
智能体可执行的浏览器操作分为五大类:
| 类别 | 操作 | 说明 |
|---|---|---|
| 导航 | goto / back / forward / refresh | 控制页面跳转与刷新 |
| 交互 | click / type / select / hover | 模拟用户操作 |
| 提取 | getText / getAttribute / screenshot | 从页面获取信息 |
| 脚本 | evaluate(jsCode) | 执行任意JavaScript |
| 等待 | waitForSelector / waitForNavigation | 等待特定条件满足 |
决策策略对比
| 策略 | 机制 | 适用场景 |
|---|---|---|
| ReAct | 推理→行动交替循环 | 通用浏览任务 |
| Chain-of-Thought | 多步推理后执行 | 复杂表单填写 |
| Tree-of-Thought | 并行探索多条路径 | 不确定性高的操作 |
| Reflexion | 失败后回顾并修正 | 长任务容错 |
主要实现方案
1. 基于Playwright/Puppeteer
以浏览器自动化框架为执行后端,LLM为决策核心,将浏览器操作封装为工具函数供LLM调用:
class BrowserAgent:
def step(self):
state = self.observe() # DOM + screenshot
action = self.llm.decide(state) # 输出动作指令
result = self.browser.execute(action)
return self.reflect(result) # 自省评估
典型代表:WebVoyager、Mind2Web、OpenClaw browser-automation skill 均采用此类架构。
2. 基于视觉语言模型(VLM)
使用GPT-4V、Claude Vision等多模态模型直接理解屏幕截图,无需DOM解析。优点是对Canvas渲染页面、SPA站点友好;缺点是每次推理成本高、响应延迟大。代表项目:CogAgent、SeeAct。
3. 基于MCP协议
通过MCP(Model Context Protocol)将浏览器能力标准化为工具接口。Agent通过标准化的工具调用协议与浏览器交互,浏览器作为MCP Server对外暴露goto、click、type等工具。此方案最大的优势是协议层的可替换性——任何兼容MCP的浏览器实现均可无缝替换。
与RPA的区别
| 维度 | Browser Agent | 传统RPA |
|---|---|---|
| 定位方式 | 语义定位(文字描述/功能描述) | 坐标/XPath/CSS选择器 |
| 适应性 | 页面结构变化后仍可自适应 | 页面变更需重新录制 |
| 决策能力 | LLM驱动,可处理异常和分支 | 固定流程,无自主异常处理 |
| 开发方式 | 自然语言描述任务目标 | 录制脚本或编写自动化代码 |
| 适用场景 | 非结构化、频繁变化的任务 | 高度标准化的重复操作 |
应用场景
- 数据采集:从多网站提取结构化信息,自动处理分页、登录、反爬验证
- 表单自动化:跨系统数据录入,多步骤表单填写与提交
- 端到端测试:用自然语言描述测试用例,自动执行和断言
- Web监控:模拟用户操作检测网站功能异常和性能退化
- 日常操作:预订、比价、信息核对等浏览器中的重复性人工操作
主要挑战
- 错误累积:多步操作中单步错误会被放大,需自省和回退机制
- 页面兼容性:SPA、SSR、Canvas等不同技术栈需不同的感知策略
- 反爬对抗:网站的反Bot检测机制可能拦截智能体操作
- 成本平衡:每一步都调用LLM推理,token消耗随任务长度线性增长
- 安全边界:智能体需限制在安全域内,防止恶意指令执行危险操作
参见
- Agent与RAG融合架构 — 检索增强的Agent决策流程
- MCP协议详解 — 标准化工具调用协议
- AI Agent评估体系 — 智能体性能评估方法
- OpenClaw使用指南 — 浏览器自动化技能配置
- Agent vs Function Calling — 工具调用范式演进


黑公网安备 23010302001359号