TheAgenticBrowser
基于 PydanticAI 的三 Agent 协作系统,通过 Planner-Browser-Cri
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 PydanticAI 的三 Agent 协作系统,通过 Planner-Browser-Cri
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:你对着一台电脑说"帮我查一下京东上 iPhone 16 的最新价格,然后把最便宜的三个链接发给我",然后什么都不用管,AI 就自动打开浏览器、导航到京东、输入关键词、筛选商品、整理结果——整个过程像有一位不知疲倦的数字助手在替你操作。这不是科幻,而是 Agentic Browser 正在做的事情。
大语言模型(LLM)的强大能力让 AI 写文章、编程、分析数据都不在话下,但它们始终有一个局限:无法直接和真实世界的网页交互。RPA(机器人流程自动化)工具虽然能模拟人类操作网页,但依赖固定的规则和坐标,一旦页面布局发生变化,整个流程就会崩溃。传统爬虫更是需要专业人员编写解析代码,门槛极高。
Agentic Browser 的出现正是为了解决这个痛点。它基于 PydanticAI 构建——这是 Pydantic 团队开源的新一代 Python Agent 框架,提供了结构化输出、多模型支持、清晰的 Agent 定义范式。项目于 2025 年 1 月发布,由 TheAgenticAI 团队开发,虽然仓库创建至今仅约两周就获得了 415 颗 GitHub 星标,但已经展现出相当的工程成熟度。
Agentic Browser 的设计精髓在于其 Planner — Browser — Critique 三角色分工协作 架构。源码中 core/orchestrator.py(约 30KB)是整个系统的中央调度器,它负责管理三个 Agent 的生命周期和消息流转。
Planner Agent(规划者) 是整个系统的策略大脑。当用户输入自然语言任务后,Planner Agent 首先对任务进行拆解:将"帮我找 iPhone 16 价格"拆解为"打开京东 → 输入 iPhone 16 → 点击搜索 → 提取商品列表 → 排序 → 提取前三个链接"等可执行步骤。它不仅做计划,还会根据执行反馈动态调整后续计划,体现了自我纠错能力。Planner Agent 每次输出的不仅是下一步动作,还有完整的执行计划树。
Browser Agent(执行者) 是直接与浏览器交互的前线战士。它基于 Playwright 驱动真实 Chromium 浏览器,执行"打开 URL"、"点击按钮"、"输入文字"、"提取 DOM 内容"等原子操作。源码 core/agents/browser_agent.py(约 14KB)展示了它如何将 LLM 的自然语言指令翻译为 Playwright API 调用。特别值得注意的是,项目支持截图分析(SS Analysis)功能——Browser Agent 可以对页面截图后,用视觉模型(GPT-4o Vision 等)分析截图内容,这对于处理验证码、复杂 UI 交互等纯 DOM 难以描述的场景至关重要。
Critique Agent(评审者) 是质量守门员。每个 Browser Agent 执行完成后,Critique Agent 会审查执行结果:通过分析 DOM 变化和截图,验证操作是否达到了预期效果。如果发现"搜索按钮点了但页面没跳转"或者"输入框内容不完整",Critique Agent 会触发重试或要求 Planner Agent 重新规划。这三者的协作模式形成了一个完整的反馈循环:Plan → Execute → Critique → Re-plan(如果需要)→ Done。
从 requirements.txt 的依赖分析可以清晰看到项目的技术选型:
| 类别 | 技术选型 | 作用 |
|---|---|---|
| Agent 框架 | PydanticAI 0.0.17 | 定义 Agent、消息结构、工具调用 |
| 浏览器自动化 | Playwright 1.44.0 | 驱动真实 Chromium 浏览器 |
| Web 框架 | FastAPI 0.111.1 | 提供 REST API 接口 |
| 多模型支持 | OpenAI + Anthropic + Groq + Mistral | 接入 GPT-4o、Claude、Llama 等 |
| 异步 IO | asyncio + aiohttp | 高并发任务处理 |
| 观测可观测性 | Logfire (OpenTelemetry) | 结构化日志和链路追踪 |
特别值得一提的是 logfire 的引入——这是 Pydantic 团队自研的可观测性工具,基于 OpenTelemetry 标准构建,让 Agent 内部的思维链路和工具调用变得透明可查。对于需要调试复杂 Agent 行为的开发者来说,这是非常实用的功能。
项目还内置了 10 个可复用的 Browser Skills(core/skills/ 目录),包括 click_using_selector.py、enter_text_using_selector.py、open_url.py、google_search.py、pdf_text_extractor.py 等,封装了常见浏览器操作。这些 Skills 以 PydanticAI 工具函数的形式注册到 Browser Agent 中,实现了能力的模块化复用。
部署方面,项目提供了 Dockerfile(基于 python:3.11),可以容器化运行。Dockerfile 安装了 playwright 驱动和系统依赖,启动后运行 FastAPI 服务 uvicorn core.server.api_routes:app,监听 8000 端口。不过需要注意两点:
API Key 必须自备:无论是 GPT-4o、Claude 还是其他模型,都需要用户自己准备并配置到 .env 文件中。项目支持文本模型和截图分析模型分别配置(AGENTIC_BROWSER_TEXT_MODEL 和 AGENTIC_BROWSER_SS_MODEL),还支持 Google Custom Search API。
截图分析是可选模块:AGENTIC_BROWSER_SS_ENABLED 控制是否启用截图视觉分析,开启后会额外消耗视觉模型的 token。
本地开发模式则需要安装 uv 环境管理工具,创建 Python 3.11 虚拟环境后 uv pip install -r requirements.txt,再执行 playwright install 安装浏览器驱动即可上手。
Agentic Browser 作为一个早期项目(创建仅两周),也面临一些现实挑战:
STEEL_DEV_API_KEY,这可能是用于某些高级浏览器功能的付费服务,增加了使用成本的不确定性。Agentic Browser 代表了 AI Agent 在 Web 自动化领域的一个务实方向。它没有追求"通用超级 Agent"的大而全,而是专注于"浏览器自动化"这个具体场景,通过三个专业化 Agent 的协作,实现了感知-决策-执行的闭环。
这种架构的价值在于:Planner 负责思考,Browser 负责执行,Critique 负责验证——每个角色的能力边界清晰,便于独立优化。对于希望将 AI 能力落地到具体业务流程(如竞品监控、数据采集、表单填写)的开发者和企业来说,这类工具值得关注和试用。