OCR 已死。智能体 OCR 万岁。

构建 LlamaParse 让我们学到了什么关于为 AI 智能体读取文档的经验。

解析文档是一个困难的长尾问题。很容易得到一个看起来合理的结果(表格、标题、段落、列表),但最终会以微妙的方式失败。解析失败会极大地改变下游读者对数据的解读(列错位、行丢失、页眉/页脚缺失)。

对于困难文档和边缘情况,将问题视为单步转换的文档解析器会失败。需要某种自适应的、可验证的流程,能够对文本进行推理,并帮助处理那些长尾文档。构建 LlamaParse 让我们清楚地看到了这在实践中需要什么、它是什么样子,以及为什么它不同于传统 OCR。

什么是智能体 OCR?

智能体 OCR 是文档解析的一种形式,其中系统可以决定如何读取文档、调用工具或专用模型,并根据结果改变其方法或进行迭代。

本质上,“智能体”一词意味着某种 LLM 工具调用循环。在解析文档时,系统可以选择一个区域进行更仔细的检查、请求方向校正、将表格委托给专家,或拒绝尝试的校正。

我们可以将这类系统分解为满足三个要求的东西:阅读策略应适应文档,校正应面对明确的检查并要求证据,执行应有明确的限制和目标以满足用户体验。

1. 让文档引导解析

以相同方式对待页面上的所有元素是传统 OCR 系统的做法。而智能体方法会对需要额外处理的内容和元素施加额外努力。带标题的纯文本相当简单,而表格和图表需要额外处理才能正确解析。

传统 OCR 和其他文档处理工具在这种方法中仍然有用。智能体系统的价值在于将其能力应用到有帮助的地方,由文档本身引导这种选择和推理。

在这种设定下,解析文档的质量取决于模型、harness,以及系统能否为它提供对问题的恰当视角。这与传统的单次系统以及单次解析文档的 VLM 有很大不同。

2. 自我修正需要证据

表格之类的元素在解析文档时是常见的失败点,但你仍然需要某种方式来判断解析出的表格是否出错。此外,一次修正可能改善表格的外观,却让它的内容变得不那么忠实,或遗漏关键细节。Agentic OCR 需要处理这个修正过程的两端。

因此,验证是这一过程的核心部分。一次修正应当有证据支撑,证明该过程改善了结果,并朝着更正确的解析表示推进。没有证据,另一次模型调用只会产生另一个答案。

3. 系统需要明确的限制和目标

解析器的目标是忠实重建。我们已经通过诸如以下的基准测试广泛记录了这应当是什么样子ParseBench以及衡量解析质量的各种方式。归根结底,就是忠实地转录整个文档,不排除页眉/页脚、删除线等“页面附属元素”。

解析器可能需要解读版面布局,以便让脚注附着在正确的表格上,或让图注附着在正确的图上,而不是把它转录出来。它的职责是为下游读者提供忠实的输出,以供推理和下游处理。

真实工作负载还会施加硬性限制。用户需要在可接受的时间和成本内得到结果,否则就会离开。一个有用的系统需要一种方式,在停止的同时仍返回有用且可据以行动的结果。“一直尝试直到正确”留下了太多未指明之处,并制造出一个开放式任务。

什么应当取代旧的 OCR 契约?

OCR 最初的承诺是让文档可被机器读取,而 AI 智能体提高了这一含义的标准。

智能体式 OCR 让文档基础设施承担整个流程的责任:选择合适的阅读策略、获取更好的证据、检查修订,并保留使源文档具有意义的关系。

这正是我们通过 LlamaParse 努力构建的方向。随着智能体承担越来越重要的工作,为其提供证据的系统需要达到比可读输出更高的标准。

如今,LlamaParse 已在“Agentic”和“Agentic Plus”层级中提供了其中许多原则。我们的最终目标是打造一个 100% 正确的解析器,虽然这涉及非常长的文档和错误类型长尾,但我们已经走在正确的道路上。

你现在就可以亲自试用 LlamaParse: