云端渲染浏览器:Browser-use 详细介绍

项目概述 browser-use 是一个基于 Python 的开源库,旨在简化 AI 代理与浏览器之间的交互。它融合了先进的 AI 技术和浏览器自动化功能,通过集成 Playwright 等浏览器自动化工具,允许开发者使用大型语言模型(LLM)来自动化浏览网页、提取信息和模拟用户操作1, 3。 browser-use 的目标是为开发者提供一个灵活、可扩展的框架,用于构建复杂的网页自动化任务,从而提高网页数据抓取和处理的效率1。它提供了一个强大而简单的接口,使 AI 代理能够访问网站并执行各种任务,例如网页导航、元素定位、表单填写和数据抓取3。 WebVoyager数据集上的表现👆。WebVoyager数据集难度虽高,但存在局限性:主要测试代理规划能力,未覆盖网站核心挑战(如含iframe/Shadow元素的复杂页面)。部分任务存在歧义性(人类也可能有不同解读),但目前仍是最佳可用基准。 核心功能详解 browser-use 的核心功能主要围绕浏览器自动化和 AI 集成展开,包括以下几个方面1, 3: AI 融合: 将 AI 技术融入到浏览器自动化操作中,允许开发者使用支持 LangChain 的大型语言模型(LLM),如 GPT-4、Claude 等来自动化浏览网页、提取信息、模拟用户操作等1, 3。 Playwright 集成:browser-use 集成了 Playwright,这是一个由微软开发的端到端(E2E)测试工具,用于自动化 Web 浏览器操作。Playwright 支持 Chromium(Chrome、Edge)、Firefox 和 WebKit(Safari)三大浏览器引擎,并适用于跨平台(Windows、macOS、Linux)。通过 Playwright,browser-use 可以实现对浏览器的精确控制,包括页面导航、元素点击、表单填写等1, 3。 实际用例:自动化登录网站、模拟用户在网页上的操作流程等。 LangChain 集成:browser-use 还集成了 LangChain,这是一个用于构建大语言模型(LLM)应用的开发框架。LangChain 通过模块化设计简化了 LLM 应用开发流程,支持开发者快速搭建基于语言模型的复杂应用,如聊天机器人、知识库问答和自动化工作流等。通过 LangChain,browser-use 可以实现对网页内容的智能分析和理解,从而更好地指导浏览器自动化任务1, 3。 实际用例:使用 LLM 分析网页结构,自动提取关键信息,例如新闻标题、文章内容、产品价格等。 多种大语言模型(LLM)支持:browser-use 的 Web UI 扩展支持多种 LLM,包括 Gemini、OpenAI、Azure OpenAI、Anthropic、DeepSeek、Ollama 等1, 3。这使得开发者可以根据自己的需求选择合适的 LLM,从而获得最佳的性能和效果。 ...

March 9, 2025 · 小茄墩

Anthropic:构建有效的Agents

在过去一年中,我们与数十个团队合作,构建了跨行业的大语言模型 (LLM) AI 智能体。我们发现,最成功的案例并非依赖复杂的框架或专门的库,而是采用简单且可组合的模式。 在这篇文章中,我们将分享我们与客户合作以及自身构建 AI 智能体的经验,并为开发者提供构建高效 AI 智能体的实用建议。 “Agent”(AI 智能体)可以用几种方式来定义。一些客户将智能体定义为完全自主的系统,这些系统在较长时间内独立运行,并使用各种工具来完成复杂的任务。另一些人则使用该术语来描述更具规范性的实现,这些实现遵循预定义的workflow(工作流程)。在Anthropic,我们将所有这些变体归类为agentic systems(智能体系统),但在架构上对workflows(工作流程)和agents(智能体)进行了重要的区分: Workflows(工作流程)是指大语言模型(LLM)和工具通过预定义的代码路径进行编排的系统。 Agents(智能体)是指大语言模型(LLM)动态地指导其自身流程和工具使用的系统,保持对其如何完成任务的控制。 下面,我们将详细探讨这两种类型的智能体系统。在附录1(“实践中的智能体”)中,我们描述了客户发现使用这些系统具有特殊价值的两个领域。 在使用大语言模型构建应用程序时,我们建议尽可能采用最简单的解决方案,仅在必要时才增加复杂性。 这可能意味着完全不构建 AI 智能体系统。AI 智能体系统通常会牺牲延迟和成本来换取更好的任务性能,因此您应该仔细衡量这种权衡是否值得。 当需要更高的复杂性时,对于定义明确的任务,工作流程能够提供可预测性和一致性;而当需要在更大规模上实现灵活性和模型驱动的决策时,AI 智能体则是更优的选择。 然而,对于许多应用而言,通过检索和上下文示例来优化单个大语言模型的调用通常就已足够。 何时以及如何使用框架? 有许多框架可以更轻松地实现 AI 智能体系统,包括: LangChain 的 LangGraph; Amazon Bedrock 的 AI 智能体框架; Rivet,一个拖放式 GUI LLM 工作流程构建器 Vellum,另一个用于构建和测试复杂工作流程的 GUI 工具。 这些框架通过简化标准底层任务(如调用 LLM、定义和解析工具以及将调用链接在一起)来简化入门。但是,它们通常会创建额外的抽象层,从而模糊底层提示词和响应,从而使其更难调试。当更简单的设置就足够时,它们也可能使添加复杂性变得很诱人。 我们建议开发人员首先直接使用 LLM API:许多模式可以用几行代码实现。如果您确实使用框架,请确保您了解底层代码。关于底层代码的不正确假设是客户错误的常见来源。 构建模块、工作流程和 AI 智能体 在本节中,我们将探讨我们在生产环境中观察到的 AI 智能体系统的常见模式。我们将从我们的基础构建模块——增强型大语言模型——开始,并逐步增加复杂性,从简单的组合工作流程到自主 AI 智能体。 构建模块:增强型大语言模型 Agentic 系统 的基本构建模块是一个大语言模型,它通过检索、工具和记忆等增强功能得到加强。我们目前的模型可以主动使用这些能力——生成自己的搜索查询,选择合适的工具,并确定要保留哪些信息。 我们建议重点关注实现的两个关键方面:根据您的特定用例定制这些功能,并确保它们为您的 大语言模型 提供一个简单、有据可查的接口。虽然有很多方法可以实现这些增强功能,但一种方法是通过我们最近发布的Model Context Protocol,该协议允许开发人员通过一个简单的客户端实现与不断增长的第三方工具生态系统集成。 在本帖的剩余部分,我们将假设每个 大语言模型 调用都可以访问这些增强功能。 工作流:提示链 提示链将一个任务分解成一系列步骤,其中每个大语言模型(LLM)调用处理前一个调用的输出。 您可以在任何中间步骤中添加程序化检查(参见下图中的“门控”),以确保该过程仍在正轨上。 ...

March 6, 2025 · 小茄墩