<!-- title: 搭AI知识库前，先补上这三块免费地基 -->
<!-- domain: new-tools -->

最近帮朋友排查一个企业知识库项目，RAG 问答效果稀烂，检索、模型、提示词翻来覆去调了个遍，最后发现问题出在最不起眼的地方：**PDF 解析**。财务报表里的表格被解析成了乱码，喂给大模型的就是一堆噪声，神仙模型也救不回来。

这暴露了一个国内教程圈的集体盲区：讲 RAG 的文章九成篇幅在讲向量库选型、模型对比、提示词技巧，但没人讲“原料端”——文档怎么变成干净的结构化数据、网页数据怎么稳定抓取、数据实验怎么可复现。海外 RAG 和数据工程圈过去一两年已经沉淀了几块成熟的开源地基，全部免费，但国内中文教程几乎没人系统写过。今天就补上这个信息差，四件工具一次讲透。

## 一、Docling：IBM 开源的文档解析器，RAG 的“切菜刀”

**链接**：https://github.com/docling-project/docling

**功能**：IBM 研究院开源的文档理解库，能把 PDF、Word、PPT、图片、扫描件一键转成 Markdown 或结构化 JSON。关键能力有三块：版面分析模型（识别标题、段落、图、表的位置）、表格结构识别（内置 TableFormer 模型，能把复杂合并单元格还原成真正的表格）、OCR（扫描件也能吃）。提供命令行和 Python API 两种用法，还支持导出成对话式的分块结构，直接对接 LangChain、LlamaIndex 的官方集成。

**价格**：完全开源免费，本地运行，没有 API 费。唯一的成本是首次运行会自动下载模型权重（几百 MB 级别），和你的电费。

**三步上手**：

```bash
pip install docling
docling convert 财报.pdf          # 命令行一把梭，输出 Markdown
```

```python
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("财报.pdf")
print(result.document.export_to_markdown())
```

**为什么值得关注**：做过 RAG 的人都懂，检索效果差，八成坏在解析端，而表格是重灾区。pdfplumber 之类的传统库只能抠文本坐标，遇到跨页表格、无线表格直接躺平；很多团队最后是花钱买付费解析 API。Docling 的思路是拿视觉模型理解版面，表格还原度是肉眼可见的强。国内对标方案里，RAGFlow 自带的 DeepDoc 是类似思路，但绑死在整套平台里；Docling 是一个干净的库，想嵌进自己的管线随便嵌。

**适用人群**：做企业知识库、财报研报解析、合同合规文档处理的开发者。如果你手里全是扫描件，记得开 OCR 选项。

## 二、Marimo：会“自动重算”的 Notebook，Jupyter 的降维打击

**链接**：https://marimo.io （在线试用：https://marimo.new，免注册）

**功能**：一个用响应式编程思路重造的 Python Notebook。核心区别一句话就能说清：**Jupyter 的单元格可以乱序执行，变量状态一团糟；Marimo 把所有单元格建了依赖图，你改任何一个格子，下游所有格子自动重新运行**。用过的都回不去了。

除此之外还有三个杀手级特性：

1. **文件存成纯 .py**。不是 Jupyter 那种 .ipynb 的 JSON 大杂烩，git diff 清爽，可以直接 code review，可以当普通模块 import。
2. **一个文件既是 Notebook 又是 Web 应用**。`marimo edit` 打开是交互式开发环境，`marimo run` 启动就是一个干净的网页应用，滑块、下拉框、按钮都能当输入控件——写个数据看板给不会 Python 的同事用，不用写一行前端。
3. **内置 SQL 单元格**。直接在格子里写 SQL 查 pandas DataFrame 或 DuckDB，数据库、数据文件都能接，写数据管线的人狂喜。

**价格**：开源免费（Apache-2.0），另有云托管服务收费，个人用本地版完全够。

**为什么值得关注**：国内数据人的标配是 Jupyter + VSCode，但“脏状态” bug 每个人都踩过：改了上游格子忘了重跑，下游结论全是错的，拿去汇报当场社死。Marimo 从根上消灭了这类问题。对标 Streamlit，后者只能做应用不能交互探索；对标 Jupyter，后者没有应用模式。Marimo 是两头都占。

**适用人群**：所有做数据分析的人，尤其是要给领导/同事交付数据看板的——`marimo run` 这一下能省掉整个前端工作量。

## 三、Stagehand：用自然语言写浏览器自动化，网页改版不挂

**链接**：https://www.stagehand.dev （开源仓库：https://github.com/browserbase/stagehand）

**功能**：Browserbase 团队开源的 AI 浏览器自动化框架，建在 Playwright 之上。它给浏览器操作加了三个原语：`act`（执行动作）、`extract`（抽取数据）、`observe`（观察页面可做什么）。威力在于动作可以用自然语言描述：

```ts
await page.act("点击登录按钮");
const data = await page.extract({
  instruction: "提取所有商品的名称和价格",
  schema: z.object({ items: z.array(...) }),
});
```

传统 Playwright 选择器写死 `#login-btn`，前端改个版全挂；Stagehand 靠多模态模型理解页面语义，按钮挪了位置照样点得中。更聪明的是支持“先 observe 再固化”：让模型观察页面找到稳定选择器，把 AI 步骤沉淀成确定性代码，跑起来又快又省 token。

**价格**：SDK 本身 MIT 开源免费，可以接自己的 Playwright 在本地浏览器上跑（模型 API key 自备）；官方的 Browserbase 云浏览器是收费服务，有免费额度，具体定价以官网为准。

**为什么值得关注**：国内做自动化的两条路：要么 Selenium/Playwright 写脆弱的选择器，要么影刀、UiBot 这类 RPA 拖拽积木，面向非程序员但扩展性差。海外这条路走的是第三条：**代码与自然语言混合**，确定性部分用代码，模糊部分交给模型。同类项目里字节 web-infra 团队开源的 MidScene.js 定位非常接近（还支持安卓自动化），国内读者可以两边都试；Stagehand 的优势是生态文档和 Browserbase 云端的工程化程度。

**适用人群**：需要爬登录墙后数据的、给 Agent 造“浏览器之手”的、做端到端测试懒得维护选择器的开发者。

## 四、附赠：PocketFlow，100 行代码看穿 Agent 框架

**链接**：https://github.com/The-Pocket/PocketFlow

最后一款附赠。LangChain 全家桶的臃肿已经被海外社区吐槽了两年，PocketFlow 反其道而行：核心只有 **100 行 Python 代码，零依赖**，用一个 Graph 抽象把 Agent、工作流、多智能体全部讲透，配套的“设计先行”教程在 Hacker News 和 Reddit 上刷过屏。它不是拿来上生产的，而是拿来**读懂 Agent 原理**的——花一个下午读完这 100 行，你对 LangGraph、CrewAI 这类框架的神秘感会全部消失，之后造自己的轮子心里有底。

## 这套组合拳怎么打？

四件工具不是孤立的，正好拼成一条完整的“知识库流水线”：

```mermaid
flowchart LR
  A["网页与后台系统"] -->|Stagehand 采集| B["原始数据"]
  C["PDF与Word文档"] -->|Docling 解析| D["干净的Markdown"]
  B --> E["Marimo 清洗与质检"]
  D --> E
  E -->|切分向量化| F["向量库"]
  F -->|检索| G["LLM 问答应用"]
  E -->|marimo run| H["数据看板交付同事"]
```

**信息差总结**：

| 你可能以为 | 海外圈的实际做法 |
|---|---|
| 解析 PDF 表格要买付费 API | Docling 本地免费跑，视觉模型抠表格 |
| Notebook 就是 Jupyter | Marimo 自动重算，还能一键变 Web 应用 |
| 自动化 = 写死选择器或 RPA 拖拽 | Stagehand 自然语言混合代码，改版不挂 |
| 学 Agent 必须啃 LangChain 全家桶 | PocketFlow 用 100 行代码讲透本质 |

**行动指南**（今天就能做完）：

1. 花两分钟 `pip install docling`，找一份你手头最恶心的带表格 PDF 转一下，看表格还原效果，这一步就能决定你团队 RAG 项目的生死；
2. 浏览器打开 marimo.new，改一个格子感受自动重算，五分钟上手；
3. 按 Stagehand 官网快速开始文档装好 SDK（`npm install @browserbasehq/stagehand`），挑一个你天天手动操作的网页，用一句自然语言让它替你点；
4. 克隆 PocketFlow 仓库，通读那 100 行核心代码，画一张你自己的 Agent 架构图。

四件全部免费开源，唯一的成本是你今天的一个下午。

**参考来源**：

1. Docling 开源仓库：https://github.com/docling-project/docling
2. Marimo 官网与在线试用：https://marimo.io / https://marimo.new
3. Stagehand 官网与开源仓库：https://www.stagehand.dev / https://github.com/browserbase/stagehand
4. PocketFlow 开源仓库：https://github.com/The-Pocket/PocketFlow

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
