Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
AITNT-国内领先的一站式人工智能新闻资讯网站 搜索
Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?
6292点击    2025-02-27 10:51

Web Agent是这样一种特殊的智能体:它借助AI自动控制你的浏览器,并完成你“交代”的任务。比如帮你挑选一部最新的iPhone或者到旅行网站预订机票。这样的智能数字助手,无论是对生活还是工作,未来无疑都具有重大的意义。当前有大量的研究正针对这种Agent展开,本文就来聊聊其最新进展及DeepSeek的应用。


  • Web Agent是什么?
  • Web Agent的工作原理
  • Web Agent的实现技术介绍两个Web Agent框架
  • 实现基于DeepSeek的Web Agent并测试


01 Web Agent是什么


Web Agent是一种工作在UI层的AI智能体。在当前语境下,你可以认为它就是由大模型所驱动(LLM/VLM,大语言模型/多模态的视觉语言模型),能够自主的理解任务、推理并模拟人类在浏览器中的操作,最终完成任务目标。比如一个简单的任务:


“到Apple公司网站上了解最新的iPhone16e的价格信息"


这样一个任务需要Web Agent自动完成如下任务步骤:



Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?


如果你了解RPA(机器人流程自动化),可以把Web Agent看作是一种大模型驱动的更灵活的RPA机器人。


02 Web Agent的工作原理


Web Agent的工作过程与原理看下图,如果你熟悉ReAct范式的Agent应该会似曾相识,即通过Thought(思考)->Action(行动)->Observation(观察)这样的推理循环来逐步完成任务,在过程中会不断的动态调整自己的行为。


Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?


但Web Agent与我们熟知的ReAct Agent的差异主要在于:


  • Observation:ReAct Agent需要观察的对象更多是前置任务已经获得的数据,比如API调用结果;而Web gent需要观察的对象则为屏幕上呈现出的页面内容,更不可预期且结构更复杂。


  • Thought:ReAct Agent推理的下一步一般为LLM调用或者工具使用;而Web Agent的下一步则为交互动作,如点击按钮、输入文字、打开网址等。


  • Action:Web Agent可以使用的工具并非简单的函数或者Restful API,而是浏览器。为了控制浏览器,通常会借助前端的自动化框架,比如Selenium、Playwright。


其他的一些差异总结:


Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?


03 Web Agent的实现技术


针对Web Agent上述的能力要求,你需要有不同于传统Agent的解决方案:


Observation


这是Web Agent的“眼睛”。其作用是把看到的屏幕内容(WebUI)转化为可以让“大脑”(LLM/VLM)用来推理出预期操作的结构化信息。


为什么简单的多模态模型的推理是不够的?


你可能会想到直接把屏幕动态截图让VLM来推理行动,但这是不够的。因为Agent需要推理的下一步动作,不能仅仅是简单的语言描述。如:


“点击屏幕右边的搜索按钮进入下一步”,


而是可以让浏览器接口来执行的更精准的结构化信息,如:


{ "description":"启动搜索",

"type":"click",

"position":{"xpath":"按钮的xpath路径"}

}

而这里的很多信息比如元素位置,是直接的屏幕截图无法提供的。


目前可以看到两种解决方案:


  • 【深层的页面解析】:借助Playwright或者Selenium的浏览器控制API提取页面的DOM与HTML内容,经过解析处理后,对页面的不同节点进行组织与“标识”,最终构造一个详细的页面结构信息,交给推理模块使用。


  • 为了协助后续的大模型更精准的推理,可以同时把界面截图作为辅助信息传入(需要多模态模型)。以下是一个动态标识过的页面:


Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?


  • 【纯视觉识别与定位】直接通过计算机视觉AI模型来识别页面截图上的元素与内容,做图像分类、目标检测、相对定位、文本识别等,从而形成供后续推理使用的结构化信息,通常包含识别出的元素坐标、文字描述、作用等。这种方案常用到的一些视觉模型比如:YOLO、DeepLab、CLIP以及OCR模型等。


Thought


推理是大模型发挥作用的地方。其目的是根据观察到的结果(Observation提供的结构化页面信息),来推理出下一步交互动作。这通常也有两种选择:


  • 普通模型LLM:根据纯文本的结构化信息推理。
  • 多模态模型VLM:输入UI截图协助,获得更精准的推理结果。


Action


Web Agent的动作执行是借助浏览器来实现自动化的web访问与操作,通常借助一些浏览器控制工具(常被用于自动化测试):


  • Selenium:最广泛使用的浏览器自动化工具之一,可以精确控制浏览器行为,模拟用户点击、表单、滚动等操作。
  • Playwright:微软开发的被广泛使用的自动化测试框架。支持多种浏览器与多操作系统,支持复杂的页面操作。


04 介绍两个Web Agent框架


如果你需要尝试构建一个Web Agent,这里首先介绍两个工具:


OmniParser


微软推出的一个纯视觉方案的屏幕解析工具,帮助把UI屏幕转化为结构化的格式。其核心是一个微调过的视觉模型(不是语言模型),训练数据集来自一些热门的网页截图及其标注信息。


OmniParser的输出是一个经过标注的新图片与结构化的描述:


Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?


结构化的描述信息如下:


Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?


但是注意OmniParser只是提供了上述“Observation”部分的解决方案,并不是端到端的Agent开发框架,推理与行动需要自行实现,不过在最新的V2版本中提供了Agent例子与工具。


Browser-use


一个端到端的构建Web Agent的框架。其在WebVoyager的基准测试中取得了最好的性能(WebVoyager本身也是一个Web Agent开发框架,但自带了可用于基准测试的任务数据)。官方公布Browser-use的任务准确率对比结果如下:


Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?


Browser-use采用的技术栈为:


  • Observation:页面解析+截图辅助的非视觉方案。
  • Thought:建议采用gpt-4o作为主模型,目前也支持DeepSeek等模型。
  • Action:微软Playwright作为浏览器控制框架。


05 实现基于DeepSeek的Web Agent


实现Web Agent


我们来构建一个采用DeepSeek模型的Web Agent,基于Browser-use可以非常快速的实现这个Agent:


from langchain_openai import ChatOpenAI

from browser_use import Agent

from dotenv import load_dotenv

from browser_use import Agent

from pydantic import SecretStr


load_dotenv()


import asyncio


llm_deepseekv3 = ChatOpenAI(base_url='https://api.deepseek.com/v1',model="deepseek-chat",api_key=SecretStr('sk-*'))


async def main():

agent = Agent(

task="Learn about the latest price information for the iPhone 16e on Apple's website.",

llm=llm_deepseekv3,

use_vision=False

)

result = await agent.run()


print ("\n===============Final Result===============\n")

print(result.final_result())


asyncio.run(main())


一个最基本的Web Agent创建就是这么简单!


简单测试


首先看下运行的效果,可以看到Agent会自动打开浏览器窗口,然后去完成这里的简单任务。在任务执行过程中,可以看到每打开一个页面,页面元素随后会被标记(如下面视频中展示的带有不同颜色与数字的小box),这是一个结构化信息转换过程。随后大模型会推理下一个步骤,直到任务完成。


Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?


我们在后台跟踪LLM的输出,可以看到每一个步骤(step)的过程,比如Step 2:


Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?


这个输出中可以看到:


  • 大模型会根据结构化的页面信息,推理出下一步的目标(goal)与动作(action),及必要的参数。
  • 随后框架会解析推理结果,比如这里知道下一步需要“点击index为17的元素”,以了解更多的信息。


经过多次这样的迭代,最后成功获得了输出:


Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?


其他模型测试


我们对一些其他模型进行尝试,结果如下:


  • gpt-4o/gpt-4o-mini:成功
  • moonshot-v1-32k: 成功
  • deepseek-r1满血版: 由于速度过慢,未测试成功
  • ollama的部分开源模型:基本全部失败


观测到的一些结果与我们的判断包括:


  • Web Agent对大模型推理与结构化输出能力要求很高,低参数的开源模型,如果不经过针对性的微调,很难直接胜任
  • 作为主推理的deepseek-v3相比deepseek-r1要更适合
  • 对复杂流程的任务能力还不足,很容易失败
  • 对网站访问的一些特殊情形支持不足,比如弹窗
  • 暂时还不支持自动化流程中的人工参与,比如输入验证码


关于deepseek-r1的特殊应用


直接使用deepseek-r1未能成功测试,但Browser-use框架支持一个特性,即允许在主推理模型之外设定一个辅助规划的大模型(Planner_llm)。其作用是在必要的时机(可以设置,比如每3步让Planner_llm参与)充当”参谋”,即根据当前状态分析并给出后续的计划建议,这个计划会被主模型用来参考,以推理真正的行动步骤:


...

planner_llm = ChatOllama(model="deepseek-r1")


async def main():

agent = Agent(

...

planner_llm=planner_llm,

planner_interval=3,

)

...


我们让ollama中的deepseek-r1帮助规划,最终也可以测试成功。如果你感兴趣,可以使用browser-use自带的评估程序,来评估增加Planner_llm后是否能够带来复杂任务准确性的提升。


以上我们详细阐述了Web Agent的技术原理,以及一些实现方法,并借助开源框架构建了基于DeepSeek的测试Web Agent。Web Agent是一种有着极高推理能力要求的智能体,在当前条件下,必须承认无论是端到端的性能表现,还是面对复杂任务的稳定性,都还有着巨大的提升空间。期待未来随着多模态大模型及推理模型的不断演进与增强,这些存在的问题都会得到完美的解决。


文章来自于“AI大模型应用实践”,作者“曾经的毛毛”。


Web Agent技术揭秘:如何让DeepSeek接管与控制你的浏览器?

关键词: AI , Web Agent , deepseek , 智能体
AITNT-国内领先的一站式人工智能新闻资讯网站
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
cursor

【免费】cursor-auto-free是一个能够让你无限免费使用cursor的项目。该项目通过cloudflare进行托管实现,请参考教程进行配置。

视频教程:https://www.bilibili.com/video/BV1WTKge6E7u/

项目地址:https://github.com/chengazhen/cursor-auto-free?tab=readme-ov-file


2
AI代理

【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。

项目地址:https://github.com/browser-use/browser-use


3
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

4
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner