LangChain为Managed Deep Agents加上浏览器,90% 任务通过率、单任务约 2 美分
LangChain称,Managed Deep Agents现可为智能体运行浏览器并提供一套浏览器工具,基于Browserbase开源SDK Stagehand构建;在WebVoyager的 100 个任务上通过率 90%,总成本 1.98 美元。
AI解读:LangChain宣布Managed Deep Agents现在可以为其托管的智能体运行一个浏览器,并提供配套浏览器工具;开发者通过项目根目录browser.py中的define_browser启用。
浏览器会话由scope参数控制共享范围:默认的thread让每个对话使用独立浏览器窗口、不留cookie和登录状态;user则在同一登录用户的多个对话间共享cookie等浏览器状态。
无活动后浏览器按idle_ttl_seconds停止,默认 10 分钟。遇到登录页时,智能体可调用browser_handoff把浏览器交给人,用户在LangSmith Studio里自行登录后点“交还”,智能体继续执行。
LangChain表示,在WebVoyager的 100 个日常网站任务上,这套工具通过 90%,总成本 1.98 美元,通过率是所测七套工具中最高的;最接近的Browserbase MCP server通过 89%,成本为其 9 倍。这些是LangChain自述的测试结果。
浏览器运行在与智能体分离的LangSmith沙箱中,并通过私有链路连接智能体的沙箱;端到端测试时,智能体沙箱内运行的应用可经localhost桥接被浏览器访问,无需公网URL。
LangChain称,用开源Deep Agents构建的智能体也能使用浏览器,但需自带托管浏览器等服务;关于工具如何测试和调优的细节,其称将在下周的深入文章中介绍。
LangChain在博客中宣布,Managed Deep Agents现在可以为托管的智能体运行一个浏览器,并提供一套为浏览器操作调优的工具。开发者通过项目根目录browser.py中的define_browser导出浏览器来启用。
LangChain称,在WebVoyager基准的 100 个日常网站任务上,这套工具通过了 90% 的任务,总成本 1.98 美元。该基准测试的是真实网站上的常见操作,这些结果由LangChain自行公布。
浏览器怎么接入,会话怎么隔离
浏览器在Managed Deep Agents中通过代码定义:在项目根目录的browser.py中调用define_browser。scope参数决定浏览器会话的共享方式,idle_ttl_seconds决定无活动后多久关闭浏览器。
默认的scope="thread" 为每个对话线程分配独立浏览器,每次对话都从没有其他线程cookie和登录状态的新窗口开始。scope="user" 则在同一登录用户的多个线程间共享一个浏览器:每个线程仍有自己的窗口,两个同时运行的对话不会互相点击干扰,但会共享cookie等浏览器状态。用户在一个线程登录某网站后,后续线程可直接沿用该会话。
浏览器在超过idle_ttl_seconds无活动后停止,默认 10 分钟。LangChain的说法是,这样不会为无人使用的浏览器付费。
- 入口:项目根目录browser.py中调用define_browser
- scope="thread"(默认):每个线程独立浏览器,无残留cookie和登录状态
- scope="user":同一用户跨线程共享cookie等状态,各线程窗口独立
- idle_ttl_seconds:默认 600 秒,无活动后关闭浏览器
登录交给用户:browser_handoff
遇到登录页时,智能体调用browser_handoff并给出原因,例如请用户登录Acme Travel以便继续。LangChain表示,这样做是为了不让智能体拿到用户密码,避免密码进入模型消息、追踪记录和模型提供商。
在LangSmith Studio中,用户会看到一张带有同一浏览器的交互卡片,自行完成登录后点“交还”,智能体从原处继续,并已处于登录状态。LangChain称该交接功能随每个托管浏览器提供,在Slack等Managed Deep Agents渠道中自动可用,无需额外配置。
LangChain表示,这一机制在scope="user" 时作用最大:登录状态会延续到用户之后的线程,用户只需登录一次。
工具、底层与端到端测试
Managed Deep Agents为智能体提供四项浏览器工具:browser_snapshot读取页面的无障碍树并用ID标记可交互元素;browser_run执行一批点击、填写等操作,或用JavaScript通过Playwright风格的page对象操作页面,由Stagehand翻译成其命令;browser_screenshot截取渲染后的页面;browser_handoff把浏览器交给用户并在完成后收回。
LangChain称browser_run承担大部分工作:智能体可以把打开页面、填写字段、点击、检查结果写成一次调用,只返回需要的内容,从而加快长浏览器任务,并让页面大部分内容不进入智能体的上下文。这些工具基于Browserbase的开源SDK Stagehand构建。
浏览器运行在独立的LangSmith沙箱中,不占用用户机器。与多数远程浏览器不同,它还有一条通往智能体沙箱的私有链路,用于端到端测试:测试应用在智能体自己的沙箱中运行,浏览器打开localhost:5173 时,请求经私有链路到达智能体沙箱的 5173 端口,应用不需要公网URL。测试通过后,LangChain称可以要求智能体把步骤保存为测试文件;由于每次browser_run调用都是普通Playwright脚本的一部分,之后可回放该文件而不再调用模型,直到页面发生变化。
- browser_snapshot:读取无障碍树并标记可交互元素
- browser_run:批量点击、填写,或执行Playwright风格JavaScript
- browser_screenshot:截取渲染页面
- browser_handoff:把浏览器交给用户登录后再收回
测试数据与适用范围
LangChain称,在WebVoyager的 100 个任务上,这套工具通过率为 90%,总成本 1.98 美元,是其所测七套工具中通过率最高的;最接近的Browserbase MCP server通过率为 89%,成本是它的 9 倍。这些数字来自LangChain自述的测试。
LangChain列出两类主要用途:一类是API覆盖不到的操作,如订机票或订餐厅,网站提供API时应优先用API;另一类是端到端测试,如代码智能体在沙箱里启动应用并在浏览器中点击注册表单,LangChain称其Open SWE编码智能体使用了这一方式。
适用范围的另一处限制是:用开源Deep Agents构建的智能体也能使用浏览器,但需要自行提供托管浏览器等服务,例如Browserbase的托管浏览器,具体见其浏览器使用指南。LangChain表示,关于工具如何测试和调优,将在下周的深入文章中介绍。