当前位置: 首页 > web >正文

AI智能驱动浏览器工具Browser Use详解

前言

在之前关于 AI 测试相关的几篇文章中,我们分别介绍了通过 playwright-mcp,以及 midscene.jsmagentic ui 等几个不同的 AI 浏览器工具,实现 AI 驱动自动化测试的方法介绍。而其实在这些不断涌现的新工具出现之前,还有一个更早推出(2024.11),也同样还在不断完善的AI浏览器驱动工具 Browser Use,其工具实现思路,为后来的相关工具提供了很多借鉴。 而经过半年多40多个版本的迭代,目前最新版本 0.2.5,工具功能也日臻完善。

本文,我们就再来对这个 AI 浏览器做一个系统的介绍。

browser-use简介

browser-use 的定位是提供一个简易且功能强大的,将不同AI Agent和浏览器连接起来的方案,实现基于AI的智能化浏览器自动化。

它是一个基于Python的开源库,在github上已有超过 61K 的Stars,可以说是备受关注。

主要依托 Playwright/Puppeteer 的浏览器控制能力和 AI 大模型的推理分析能力,完成让 AI 从资讯助手向辅助执行的转变。在其之后,mcp大行其道,包括后续的其他各种浏览器AI驱动,也都能看到 browser-use 方案的影子。

实现原理

browser-use 的实现,其实是通过 LangchainLLM 大语言模型实现的一个 AI Agent 智能体,来理解网页内容并进一步生成操作指令。项目底层依赖 Playwright 框架实现浏览器自动化操作,支持多浏览器(如 Chromium、Firefox 等),能够模拟真实用户的点击、输入、导航等行为。

基于 AI 能力,系统能够自动识别网页中的可交互元素(如按钮、输入框等),并结合上下文的理解生成对应的交互逻辑,提升自动化效率,实现基于 AI 的浏览器智能。

核心架构解析

browser-use 通过分层架构实现 AI Agent 与浏览器的深度集成,其核心架构不同分层的主要作用如下:

Agent 层(决策中枢)

这一层,主要负责任务流程编排与决策制定。通过实现小型状态机管理任务流程, 并与 LLM(如 OpenAI)进行交互获取决策指令。

Controller 层(指令转换器)

这一层负责将高级决策转化为具体浏览器操作指令, 支持 DOM 操作、页面导航等基础动作,也提供对多标签页交互逻辑的管理。

DOM 解析引擎

在这一层对网页结构与内容实时解析,包括提供视觉识别能力(OCR 支持),完成对可操作的网页元素映射关系的构建。

Browser 接口层

在这一层,基于Playwright框架实际驱动浏览器行为,除了内置的无头模式控制,也可以通过指定浏览器路径和用户浏览器进行交互。

架构图

功能模块
http://www.xdnf.cn/news/12878.html

相关文章:

  • 【动画】Unity2D骨骼动画-Animation2D
  • 知名的WordPress模板团队
  • 【西门子杯工业嵌入式-5-串口实现数据收发】
  • 算法打卡17天(补)
  • 03.数据类型
  • vue项目使用svg图标
  • 软件工程的软件生命周期通常分为以下主要阶段
  • 计算机网络基础总结:TCP/IP 模型、TCP vs UDP、DNS 查询过程
  • React、Git、计网、发展趋势等内容——前端面试宝典(字节、小红书和美团)
  • Vue项目PDF目录功能集成【一】——方案深度思考
  • Android 线性布局中常见的冲突属性总结
  • 在网络排错中,经常会用到的操作命令和其作用
  • 剑指offer19_链表中倒数第k个节点
  • Jmeter(四) - 如何在jmeter中创建网络测试计划
  • protues仿真+C51+外部中断
  • MATLAB生成大规模无线通信网络拓扑(任意节点数量)
  • 微服务体系下将环境流量路由到开发本机
  • spring中的@KafkaListener 注解详解
  • NLP学习路线图(三十四): 命名实体识别(NER)
  • unity实现自定义粒子系统
  • java 时区时间转为UTC
  • 云原生架构赋能企业数字化转型:从理念到落地的系统性探索
  • springboot启动mapper找不到方法对应的xml
  • 【Redis/2】核心特性、应用场景与安装配置
  • 用于小目标检测的归一化高斯Wasserstein距离(NWD)之论文阅读
  • 国家奖学金答辩PPT+文稿
  • Halo站点全站定时备份并通过邮箱存储备份
  • 【C++】25. 哈希表封装unordered_map和unordered_set
  • Ubuntu系统多网卡多相机IP设置方法
  • 【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)