前言

最近两年 AI 浏览器代理彻底爆火。

市面上绝大多数浏览器框架,都在做一模一样的事情:

  • 封装 click/type/scroll 操作
  • 手写 DOM 解析器、元素定位器
  • 层层抽象,给大模型提供极简接口
  • 自己写一堆异常捕获、页面崩溃重试、超时处理

人类过度封装、过度干预、过度抽象,反而限制了大模型本身的能力。

1. 我们曾经犯的错:既封装大模型,又封装工具

1.1 第一层错:给 LLM 套抽象壳

很早之前 Browser Use 发过一篇文章:不要给大模型过度包装框架。

当时团队意识到:不要用厚重的代码结构约束大模型,要给它最大的行动空间。

1.2 第二层错:手动封装浏览器操作

几乎所有自动化开发者都有这个通病:

觉得原生 CDP 太难、太繁琐、坑太多,于是自己封装一层又一层工具。

早年 Browser Use 同样如此:

  • 手写几千行 DOM 解析器
  • 封装元素索引、页面判断、交互函数
  • 基于 Playwright 再套一层业务壳

现在回头看,全部是无用代码。

每一个你手动写的 click、type、upload,都是给大模型增加的枷锁。

大模型经过海量训练,本身就懂底层协议,反而要适配人类写的劣质封装。
请添加图片描述

2. 彻底推翻:为什么要直接裸用 CDP?

这里说一句所有爬虫、自动化开发者都要记住的真话:

现在的大模型,天生就懂 CDP。

训练数据里塞满了:

  • Page.navigate
  • DOM.querySelector
  • Runtime.evaluate

它见过无数 Chrome 调试协议、无数浏览器报错、无数网页异常。

而我们开发者,非要自作聪明,给它套一层 Playwright、套一层自己封装的工具。

2.1 裸 CDP 带来的三大碾压级优势

① 原生支持复杂页面

跨域 iframe、Shadow DOM,传统框架各种兼容报错。

CDP 直连浏览器内核,直接穿透层级,不需要任何适配代码。

② 天然反爬、无痕特征

框架自动化特征太重,而原生 CDP 是 Chrome 自身和自身通信。

指纹、检测、风控通过率碾压所有封装框架。

③ 粒度无限细

可以直接下发鼠标物理坐标事件,连 Azure 后台那种魔改嵌套页面都能精准操作。

3. 最扎心反思:我们为什么要替模型屏蔽错误?

以前 Browser Use 团队有一个非常典型的错误认知:

CDP 底层太复杂,模型不需要懂,我们帮它处理异常。

于是他们写了大量看门狗服务:

  • 标签页崩溃捕获
  • 渲染进程 OOM 处理
  • GPU 进程异常重启
  • 目标解绑重连

每一种异常,手写一套处理逻辑。

维护成本爆炸,代码臃肿不堪。

后来他们发现一个极其讽刺的事实:

大模型本来就懂这些报错。

它看过几十万条 Chrome 崩溃日志、社区排错帖子。

只要你把原始报错丢给它,它自己就能重连、重试、修复上下文。

人类写的异常处理,远不如大模型原生判断聪明。

4. 封神架构:600 行代码,吊打几万行框架

抛弃所有冗余封装后,Browser Harness 最终只剩下四个文件,总代码不到 600 行

  • run.py(13行):极简执行入口,预加载依赖

  • helpers.py(192行):极薄 CDP 封装,允许模型自行修改

  • daemon.py(220行):维持 Websocket 长连接

  • SKILL.md:给模型的能力说明文档

整个架构只有一条逻辑:

除了浏览器本身,上层所有代码都允许大模型自己改。

5. 真正的黑科技:自修复 Harness,模型自己补代码

这是整篇文章最震撼我的地方。

传统框架:缺一个功能 → 开发者手动更新代码、发版本、部署。

Browser Harness:缺一个功能 →大模型自己写

5.1 真实案例:自动补全上传函数

团队忘记写文件上传方法。

Agent 执行任务遇到上传按钮,检测到helpers.py 没有对应函数。

它自己:

  1. 读取源码
  2. 分析 CDP 原生上传指令
  3. 手写一个 upload_file()
  4. 重新执行任务

研发人员是看 Git Diff 才发现模型自己加了代码。

5.2 智能超限处理:自动分块上传

模型写完上传函数后,遇到 12MB 大文件。

它检测到 CDP 单包大小限制,自主改成分片上传逻辑

没有任何人提示、没有任何预设代码。

6. 写在最后

以前我做自动化、写爬虫、开发 Agent,总想着:

我要把接口写死、流程写死、逻辑写死,越严谨越好。

看完这篇文章我彻底改观:

在大模型面前,人类严谨的代码,全是冗余束缚。

最好的架构,不是写更多代码。

而是敢于删代码、敢于放权、敢于把底层原始能力,赤裸裸交给 AI。

如果你也在做 AI Agent、浏览器自动化、爬虫开发,强烈建议记住这句话:

不要包装工具,不要束缚模型。删代码,回归裸金属,才是未来。

附加资源

开源地址:https://github.com/browser-use/browser-harness

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐