你是否想过,让浏览器拥有像人一样的智慧,能够自动完成各种任务?
Claude 已经可以像人一样操作电脑,智谱 AI 的 AutoGLM Agent 也可以模拟人类进行手机操作,人工智能正在以前所未有的速度和深度融入我们的生活。在这个自动化浪潮中,网页浏览器,这个我们每天都在使用的工具,也迎来了 AI 驱动的全新时代。
传统的浏览器自动化工具,如 Selenium 和 Puppeteer,主要依赖预先编写的脚本和 XPath 来定位网页元素。但这种方法容易受网页布局变化的影响,且难以处理复杂的交互逻辑,就像一个只会按指令行事的机器人,缺乏灵活性和智能性。
Skyvern 是一款基于 LLM(大型语言模型)和计算机视觉的下一代浏览器自动化工具,它就像赋予了浏览器一个 AI 大脑,让它能够像人一样理解网页内容并进行推理,从而实现更灵活、更强大的自动化能力。
Skyvern 的工作原理
Skyvern 的灵感来自于由 BabyAGI 和 AutoGPT 推广的任务驱动型自主代理设计,并具备一个主要优势:我们赋予 Skyvern 使用浏览器自动化库(如 Playwright)与网站交互的能力。
Skyvern 的核心是一个自主代理架构,多个 specialized 代理协同工作,完成网页自动化任务。 想象一下,每个代理都是一个训练有素的专家,各司其职:
1. 可交互元素代理: 它是 Skyvern 的“眼睛”,负责解析网页的 HTML 代码,识别可交互的元素,例如按钮、输入框、下拉菜单等。
2. 导航代理: 它是 Skyvern 的“双脚”,负责规划在网页上导航的路径,例如点击按钮跳转到下一页、填写表单并提交等。
3. 数据提取代理: 它是 Skyvern 的“双手”,负责从网页中提取结构化数据,例如产品信息、价格、评论等。
4. 密码代理: 它是 Skyvern 的“保险箱”,负责安全地填写密码表单,例如从密码管理器中读取用户名和密码。
5. 2FA 代理: 它是 Skyvern 的“安全卫士”,负责处理双因素身份验证,例如读取验证码或从身份验证器应用中获取验证码。
6. 动态自动完成代理: 它是 Skyvern 的“智能助手”,负责处理动态自动完成表单,例如根据用户输入动态更新下拉菜单选项。
这些代理就像一个高效的团队,协同完成网页自动化任务。
Skyvern 利用 LLM 和计算机视觉技术来理解网页内容和用户目标。 LLM 就像 Skyvern 的大脑,它能够理解网页上的文字信息,例如标题、段落、标签等,并根据上下文推断用户的意图。计算机视觉则像 Skyvern 的眼睛,它能够识别网页上的图像和布局信息,例如按钮的位置、表单的结构等,并辅助 LLM 做出决策。
Skyvern 的工作流程可以概括为以下三个步骤:
1. 解析网页: Skyvern 的代理会解析网页的 HTML 代码,识别可交互元素,并利用 LLM 和计算机视觉理解网页内容。
2. 规划操作: Skyvern 会根据用户目标和网页内容,规划需要执行的操作,例如点击哪个按钮、填写哪些表单字段、提取哪些数据等。
3. 执行操作: Skyvern 会使用浏览器自动化库,例如 Playwright,自动执行规划好的操作。
Skyvern 的核心功能
Skyvern 提供了丰富的功能,可以满足各种网页自动化需求:
• 任务管理: 用户可以通过 Skyvern 的 UI 或 API 创建、执行和监控自动化任务。
• 工作流构建: 用户可以将多个任务组合成复杂的工作流,例如先登录网站,然后填写表单,最后提交表单。
• 表单填写: Skyvern 可以自动填写各种网页表单,包括静态表单和动态表单。
• 数据提取: Skyvern 可以从网页中提取结构化数据,并以 JSON 或 CSV 格式导出。
• 文件下载: Skyvern 可以自动下载网页上的文件,例如 PDF、图片、文档等。
• 身份验证: Skyvern 支持 Bitwarden 等密码管理器集成,以及多种 2FA 方法,例如 Google Authenticator、Authy、电子邮件、短信等。
• 直播: Skyvern 提供了直播功能,就像在你的电脑上安装了一个监控摄像头,可以实时观看 Skyvern 在网页上的操作,方便你调试和监控自动化流程。
Skyvern 与其他自动化工具的比较
功能 | Skyvern | Selenium | Puppeteer |
编程语言 | Python | 多种语言 | JavaScript |
网页解析 | LLM + 计算机视觉 | XPath | CSS 选择器 |
推理能力 | 支持 | 不支持 | 不支持 |
适应性 | 高 | 低 | 中 |
易用性 | 高 | 中 | 中 |
Skyvern 的推理能力和适应性远超 Selenium 和 Puppeteer 等传统工具,能够处理更复杂的网页自动化场景,且不易受网页布局变化的影响。
与 Selenium 和 Puppeteer 等传统工具相比,Skyvern 的优势在于:
• 能够理解网页内容并进行推理: Skyvern 利用 LLM 可以理解网页上的文本信息,并根据上下文推断用户的意图,从而实现更智能的自动化。
• 能够适应网页布局的变化: Skyvern 不依赖于 XPath 定位网页元素,因此能够更好地适应网页布局的变化。
• 能够处理复杂的情况: Skyvern 可以处理需要根据上下文做出决策的情况,例如根据表单字段的值选择不同的操作。
Skyvern 的应用案例
Skyvern 能够轻松应对各种网页自动化挑战,例如:
1. 自动填写求职申请,效率提升 50%
还在为一遍遍填写求职申请表而烦恼吗?Skyvern 可以自动填写 Lever.co 等求职网站上的求职申请表单,并提交申请。它可以根据用户的简历信息自动填写表单字段,并根据职位描述生成个性化的求职信,大大提高求职效率。在实际测试中,使用 Skyvern 填写求职申请表的速度比手动填写快 50%。
2. 自动化电商交易,省时省力又省钱
网购已经成为我们生活中不可或缺的一部分,但繁琐的购物流程却常常让人头疼。Skyvern 可以自动在电商网站上搜索商品、添加到购物车、填写收货地址和付款信息,并完成下单操作。它可以根据用户的购物清单自动完成整个购物流程,甚至可以自动比价和选择最优惠的商品,帮助用户节省时间、精力和金钱。
3. 处理政府表单,准确无误,避免罚款
政府网站上的各种表单,例如税务申报表、申请表等,常常让人望而生畏。Skyvern 可以自动填写这些表单,它可以根据用户的个人信息自动填写表单字段,并根据相关法规进行验证,确保表单填写准确无误,避免因填写错误而导致的延误或罚款。
4. 获取保险报价,快速比较,选择最优
面对各种保险产品,你是否感到眼花缭乱?Skyvern 可以自动填写保险公司网站上的保险报价表单,并获取保险报价。它可以根据用户的保险需求自动填写表单字段,并根据不同保险公司的报价进行比较,帮助用户选择最合适的保险产品。
5. 自动化测试、数据爬取、竞争对手分析
除了以上应用场景,Skyvern 还可以用于自动化测试、数据爬取、竞争对手分析等。它可以自动执行网页测试用例,并生成测试报告;可以自动从网页上爬取数据,并进行清洗和分析;可以自动监控竞争对手的网站,并收集相关信息。
Skyvern 的优势
Skyvern 的出现,标志着浏览器自动化进入了一个全新的时代。它具备以下显著优势:
• 能够理解网页内容并进行推理: Skyvern 利用 LLM 可以理解网页上的文本信息,并根据上下文推断用户的意图,从而实现更智能的自动化。
• 能够适应网页布局的变化: Skyvern 不依赖于 XPath 定位网页元素,因此能够更好地适应网页布局的变化。
• 能够处理复杂的情况: Skyvern 可以处理需要根据上下文做出决策的情况,例如根据表单字段的值选择不同的操作。
• 能够处理不同语言的表单: Skyvern 可以处理不同语言的网页表单,例如中文、英文、西班牙语等。
• 开源且易于使用: Skyvern 是开源软件,用户可以免费使用和修改。Skyvern 提供了简洁的 API 和 UI,方便用户快速上手。
• Skyvern 可以帮助你节省时间、提高效率、降低成本: 通过自动化网页操作,Skyvern 可以帮助你将宝贵的时间和精力投入到更重要的工作中。
未来发展方向
Skyvern 仍在不断发展中,我们期待社区的参与和贡献,共同打造更强大、更易用的网页自动化工具。未来的发展方向包括:
• 增强 LLM 和计算机视觉的能力: Skyvern 将会集成更强大的 LLM 和计算机视觉模型,例如 GPT-4 和 YOLOv5,从而进一步提高 Skyvern 的理解能力和自动化能力。
• 扩展功能: Skyvern 将会增加更多功能,例如支持更多类型的网页交互、提供更丰富的 API、支持自定义插件等。
• 改进 UI: 使其更加直观、易用,即使没有编程经验的用户也能轻松上手。
相关链接
• Skyvern GitHub 仓库: https://github.com/skyvern-ai/skyvern
• Skyvern Discord 社区: https://discord.gg/fG2XXEuQX3