05Bread Multi-Agent · 第 6 章
总进度 33 / 33

Multi-Agent + Bread Browser(终章)

Planner 确定要查哪些问题和起始页面。 BrowserWorker 实际读取页面并返回发现。 Summarizer 根据这些发现写出报告。

2026-09-28约 60 分钟500 行代码难度 ★★★★

如果想获取全套课程资料,请关注微信公众号 「AI面包君」,回复 「课程资料」 即可领取。

1. 先分任务,再读取网页、整理报告

假设需要按一个主题查看几个网页,再整理成报告,可以先拆成三个环节:

  • Planner 确定要查哪些问题和起始页面。
  • BrowserWorker 实际读取页面并返回发现。
  • Summarizer 根据这些发现写出报告。

每一步都有明确的输入和交付物,资料没找到时也应把缺口传下去。

本章的处理流程如下:

用户:"研究一下 ..."
         ↓
  ┌───────────────┐
  │   Planner     │  拆成 5-10 个独立检索任务
  │ (强模型)     │
  └───────┬───────┘
          │ 子任务 1, 2, 3, ...
          ↓
  ┌──────────┬──────────┬──────────┐
  │ Worker 1 │ Worker 2 │ Worker N │  并行抓网页
  │ (browser)│          │          │
  └─────┬────┴────┬─────┴─────┬────┘
        │         │           │
        └─────────┴───────────┘
                  ↓
           ┌────────────┐
           │ Summarizer │  汇总成研究报告
           │  (强模型) │
           └────────────┘

其中用到了前面几门课的这些内容:

Bread 课程在这里的角色
Bread AgentPlanner / Summarizer 的循环架构
Bread BrowserBrowserWorker 的浏览器工具
Bread Multi-Agent ch01Planner-Worker 拓扑
Bread Multi-Agent ch04Pipeline 阶段划分
<!-- bread-visual:start -->

研究助手:计划、采集、汇总

图解: 按本章 main.py 的同步实现绘制。 每个任务独立 page;本章代码依次执行 worker,不是实际并行抓取。

<!-- bread-visual:end -->

2. 跑起来

cd ch05_with_browser
python main.py

需要装 Playwright(之前几章可能没装):

pip install playwright
python -m playwright install chromium

预期输出

=== 研究主题 ===
quotes.toscrape.com 上 'love'、'life'、'humor' 三个标签下的代表性引言

=== 阶段 1: Planner 在拆任务 ===
  1. [love-quotes] 访问 /tag/love/,抽出所有 quote 文本和作者
     起始 URL: https://quotes.toscrape.com/tag/love/
  2. [life-quotes] 访问 /tag/life/,抽出所有 quote 文本和作者
     起始 URL: https://quotes.toscrape.com/tag/life/
  3. [humor-quotes] 访问 /tag/humor/,抽出所有 quote 文本和作者
     起始 URL: https://quotes.toscrape.com/tag/humor/

=== 阶段 2: 派 3 个 BrowserWorker 同时干活 ===

  --- Worker 1/3  [love-quotes] ---
      [worker step 0] open_url(https://quotes.toscrape.com/tag/love/)
      [worker step 1] extract_text('.quote .text')
      [worker step 2] extract_text('.quote .author')
     ✓ findings 长度:512 字

  --- Worker 2/3  [life-quotes] ---
      ...
     ✓ findings 长度:488 字

  --- Worker 3/3  [humor-quotes] ---
      ...
     ✓ findings 长度:540 字

=== 阶段 3: Summarizer 写终稿 ===

=== 最终研究报告 ===
# Quotes to Scrape 三大标签的代表性引言研究

## 摘要
本报告汇总 quotes.toscrape.com 上 'love'、'life'、'humor' 三个标签下的核心引言,...

## 主要发现
### 1. Love 标签
- "It is better to be hated for what you are..." — André Gide
- ...

### 2. Life 标签
...

### 3. Humor 标签
...

## 总结
三大标签呈现出截然不同的思想气质:love 偏哲理、life 含警句、humor 多妙喻。...

试读到这里 · 后续内容已封存

关注公众号,继续把这章学完

在「AI面包君」发送关键词「学习AI」拿到口令。验证一次,这个浏览器就能继续阅读全部课程。